dhara
Health Warn
- License รขโฌโ License: MIT
- Description รขโฌโ Repository has a description
- Active repo รขโฌโ Last push 0 days ago
- Low visibility รขโฌโ Only 5 GitHub stars
Code Pass
- Code scan รขโฌโ Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
- Permissions รขโฌโ No dangerous permissions requested
No AI report is available for this listing yet.
Dhara โ The Agent Protocol Standard. Minimal, secure, language-agnostic coding agent harness. Built from India ๐ฎ๐ณ for the World ๐
Dhara
A minimal, secure, language-agnostic coding agent harness.
Dhara (เคงเคพเคฐเคพ, "flow" in Sanskrit) is the engine that powers AI coding agents.
It provides the agent loop, tool management, session persistence, and extension
protocol โ without being tied to any LLM provider, UI framework, or programming
language.
npx @zosmaai/dhara "List the files in this project"
Features
- ๐ Agent Loop โ LLM โ tool โ LLM cycle with streaming, cancellation, and error recovery
- ๐ Extension Protocol โ JSON-RPC 2.0 wire protocol. Write extensions in any language
- ๐ฆ 20+ LLM Providers โ OpenAI, Anthropic, Google, Mistral, Groq, DeepSeek, Bedrock, and more via pi-ai
- ๐ก๏ธ Capability Sandbox โ Declare what tools need. Block everything else.
- ๐พ Session Persistence โ Append-only JSONL format. Resume conversations across restarts.
- ๐ฅ๏ธ TUI + REPL โ Full-screen terminal UI with syntax highlighting, or line-based REPL
- ๐ Context Files โ AGENTS.md / CLAUDE.md auto-loading per project
- ๐ง Extensions โ Any language, any tool, any hook. Extensions are subprocesses, not function calls.
Quick Start
# Run with a prompt (auto-detects opencode-go, or use --provider)
npx @zosmaai/dhara "List the files in this project"
# Interactive mode (TUI)
npx @zosmaai/dhara
# Choose a provider
export GOOGLE_API_KEY="..."
npx @zosmaai/dhara --provider google --model gemini-2.5-flash
Providers
Dhara supports 20+ LLM providers through the pi-ai integration.
Set the corresponding environment variable and use --provider:
| Provider | Env Var | --provider |
|---|---|---|
| OpenAI | OPENAI_API_KEY |
openai |
| Anthropic | ANTHROPIC_API_KEY |
anthropic |
| Google Gemini | GOOGLE_API_KEY |
google |
| Mistral | MISTRAL_API_KEY |
mistral |
| Groq | GROQ_API_KEY |
groq |
| DeepSeek | DEEPSEEK_API_KEY |
deepseek |
| Amazon Bedrock | AWS credentials | amazon-bedrock |
| Azure OpenAI | AZURE_OPENAI_API_KEY |
azure-openai-responses |
| Fireworks | FIREWORKS_API_KEY |
fireworks |
| OpenRouter | OPENROUTER_API_KEY |
openrouter |
| xAI | XAI_API_KEY |
xai |
| Hugging Face | HUGGINGFACE_API_KEY |
huggingface |
| Cloudflare | CLOUDFLARE_API_KEY |
cloudflare-workers-ai |
Built-in providers (no pi-ai needed): openai, anthropic, opencode-go.
Standard Tools
Dhara ships with 6 essential tools. Everything else is an extension.
| Tool | Description | Capability |
|---|---|---|
read |
Read file contents | filesystem:read |
write |
Create/overwrite files | filesystem:write |
edit |
Surgical text replacement | filesystem:read, filesystem:write |
ls |
Directory listing | filesystem:read |
grep |
Pattern search across files | filesystem:read |
bash |
Shell command execution | process:spawn |
Network tools (web fetch, web search), database tools, git operations โ all belong in extensions.
Extensions
Extensions communicate via JSON-RPC 2.0 over stdin/stdout. Any language works.
# my-extension/main.py
import sys, json
for line in sys.stdin:
req = json.loads(line)
if req["method"] == "initialize":
print(json.dumps({"jsonrpc":"2.0","result":{
"protocolVersion":"0.1.0","name":"my-ext","version":"1.0.0",
"tools":[{"name":"hello","description":"Say hello",
"parameters":{"type":"object","properties":{}}}]
},"id":req["id"]}))
elif req["method"] == "tools/execute":
print(json.dumps({"jsonrpc":"2.0","result":{
"content":[{"type":"text","text":"Hello from Python!"}]
},"id":req["id"]}))
sys.stdout.flush()
Install: copy to ~/.dhara/extensions/my-extension/ with a manifest.json.
Documentation
Full documentation is at docs.dhara.zosma.ai (coming soon).
- Getting Started Guide
- Writing Your First Extension
- Architecture Overview
- Extension Protocol Spec
- Session Format
- Roadmap
Architecture
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ECOSYSTEM LAYER โ
โ Packages ยท Themes ยท Skills ยท Prompts โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ EXTENSION LAYER โ
โ Tools ยท Providers ยท Renderers ยท Hooks โ
โ (any language, wire protocol) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ CORE LAYER โ
โ Agent Loop ยท Tool Interface ยท Sandbox โ
โ Session Format ยท Event Bus โ
โ (< 2,000 lines, no LLM, no UI) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Project Status
Dhara is in active development. Phases 0โ3 (Spec, Core, Standard Library, CLI) are
complete. Current work focuses on documentation, extension ecosystem, and launch prep.
See spec/roadmap.md for details.
Contributing
See CONTRIBUTING.md for guidelines.
License
MIT โ see LICENSE. Spec documents are CC-BY-4.0 โ see LICENSE-SPEC.
Built with โค๏ธ by Zosma AI.
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found