How rnaveenpatil/depression.ai works
depression.ai is a local-first terminal agent for coding, system work, and cloud operations. A user enters a request through the terminal interface; the dual-agent harness plans and runs an action loop, drawing on project context, a configured model, and registered tools. Tool results can inform further actions and verification before the agent reports back. The README also documents permissions, MCP, AWS, browser, Git, and session capabilities. Edges cite the README or indexed source references; dashed links mark documented but unsampled connections.
Main entry points: loop.py Action loop · dual_agent.py Dual-agent harness · manager.py Project context · registry.py Tool registry
Components 24
Terminal interaction
- Terminal UI
src/agent/tui/app.py - CLI commands
src/agent/cli/commands.py - Agent report
Agent workflow
- Dual-agent harness
src/agent/agent/dual_agent.py - Action loop
src/agent/agent/loop.py - Planner
src/agent/agent/planner.py - Verification
src/agent/agent/verification.py - Subagents
src/agent/agent/subagent.py
Context and state
- Project context
src/agent/context/manager.py - Context runtime
src/agent/context/runtime.py - Workspace
src/agent/project/workspace.py - Sessions
src/agent/session/session.py - Local database
src/agent/storage/database.py
Tools and integrations
- Tool registry
src/agent/tools/registry.py - Permission gate
src/agent/permissions/manager.py - MCP client
src/agent/mcp/client.py - AWS integration
src/agent/mcp/aws_config.py - Plugin loader
src/agent/plugins/loader.py
Configuration and models
- Configuration
src/agent/config/loader.py - Model runtime
src/agent/llm/runtime.py - Model provider
src/agent/llm/provider.py - Local credentials
src/agent/utils/env_manager.py
Other components
- User
- Model endpoint
Connections 26
- User → Terminal UI: enters request
- User → CLI commands: starts agent
- Terminal UI → Dual-agent harness: runs harness
src/agent/tui/app.py - CLI commands → Dual-agent harness: starts workflow
- Dual-agent harness → Action loop: creates loop
src/agent/agent/dual_agent.py - Action loop → Planner: uses planner
src/agent/agent/loop.py - Action loop → Verification: verifies work
src/agent/agent/loop.py - Action loop → Model provider: requests completion
src/agent/agent/loop.py - Action loop → Tool registry: dispatches tools
src/agent/agent/loop.py - Action loop → Context runtime: manages runtime context
src/agent/agent/loop.py - Dual-agent harness → Subagents: creates manager
src/agent/agent/dual_agent.py - Dual-agent harness → Plugin loader: loads plugins
src/agent/agent/dual_agent.py - Project context → Workspace: refreshes project context
src/agent/context/manager.py - Project context → Context runtime: uses context runtime
src/agent/context/manager.py - Context runtime → Project context: uses manager
src/agent/context/runtime.py - Sessions → Project context: saves context
- Sessions → Local database: persists session data
- Tool registry → Permission gate: checks authorization
- MCP client → Tool registry: registers tools
src/agent/mcp/client.py - AWS integration → MCP client: configures AWS
src/agent/mcp/client.py - Configuration → Dual-agent harness: supplies settings
src/agent/agent/dual_agent.py - Model runtime → Model provider: installs adapters
src/agent/llm/runtime.py - Model runtime → Local credentials: reads credentials
src/agent/llm/runtime.py - Model endpoint → Model provider: serves inference
- Verification → Agent report: reports outcome
- Tool registry → Agent report: returns tool outcomes