How amroquqa99-art/d_ai works
D_AI is a local, host-independent state and policy layer for AI-assisted work, with OpenCode as its documented beta host. A user request enters through the lead agent or a local interface, gets scoped by an explicit charter, and can be coordinated as durable tasks and team work; results rely on model routing, gated tools, and persistent memory. Decisions, external-component adoption, and update watching are additional capabilities. The README documents the workflow; sampled source confirms selected service and adapter calls, but not all host routing or domain integrations.
Main entry points: memory.py Encrypted memory · dai-lead.md Lead agent · tasks.py Task graph · charters.py Charters
Components 22
User experience
- Lead agent
adapters/opencode/agent/dai-lead.md - Specialist agents
adapters/opencode/agent/dai - Slash commands
adapters/opencode/command - Skills
adapters/opencode/skill
Work coordination
- Charters
src/dai/charters.py - Task graph
src/dai/tasks.py - Teams
src/dai/teams.py - Missions
src/dai/mission.py
Policy and capabilities
- Decisions
src/dai/decisions.py - Model routing
src/dai/models.py - Tool gate
src/dai/tools.py - Component adoption
src/dai/components.py - Update watcher
src/dai/updates.py
Host integration
- Local CLI
src/dai/cli.py - MCP server
adapters/opencode/mcp/server.py - Core bridge
adapters/opencode/mcp/dai_core_bridge.py - Pi adapter
adapters/pi/pi_adapter.py
State and storage
- Encrypted memory
src/dai/memory.py - Key vault
src/dai/vault.py - Shared contracts
src/dai/contracts.py
Other components
- User
- Inspectable output
Connections 27
- User → Lead agent: submits request
README.md - Lead agent → Specialist agents: delegates work
README.md - Lead agent → Skills: selects skills
README.md - User → Slash commands: invokes command
README.md - Slash commands → Lead agent: routes request
- User → Local CLI: runs locally
README.md - Local CLI → Task graph: calls service
src/dai/cli.py - MCP server → Core bridge: dispatches tools
adapters/opencode/mcp/server.py - Core bridge → Task graph: calls service
adapters/opencode/mcp/dai_core_bridge.py - Core bridge → Encrypted memory: reads records
adapters/opencode/mcp/dai_core_bridge.py - Pi adapter → Encrypted memory: uses core state
- Lead agent → Charters: defines work
- Charters → Task graph: authorizes tasks
src/dai/tasks.py - Task graph → Encrypted memory: stores tasks
src/dai/tasks.py - Teams → Encrypted memory: stores team records
src/dai/teams.py - Missions → Encrypted memory: stores mission data
src/dai/mission.py - Decisions → Encrypted memory: stores decisions
src/dai/decisions.py - Model routing → Encrypted memory: stores routing state
src/dai/models.py - Tool gate → Encrypted memory: stores tool state
src/dai/tools.py - Component adoption → Encrypted memory: stores adoption records
src/dai/components.py - Update watcher → Encrypted memory: records checks
src/dai/updates.py - Encrypted memory → Key vault: uses encryption keys
src/dai/memory.py - Charters → Shared contracts: validates fields
src/dai/charters.py - Task graph → Shared contracts: uses shared types
src/dai/tasks.py - Decisions → Shared contracts: uses shared types
src/dai/decisions.py - Lead agent → Inspectable output: integrates output
README.md - Local CLI → Inspectable output: serializes receipts
src/dai/cli.py