How ds-madhavan-ramani/oh-my-pi works
oh-my-pi is a coding agent with IDE capabilities. A user asks for work; the agent coordinates model turns and tools, then returns results while persisting session state. The README also describes execution kernels, subagents, LSP and debugger integrations, and stream-rule retries. Provider selection and authentication support model calls, while the bundled catalog supplies model metadata. The graph preserves these documented product branches, plus the sampled shell-output minimizer. Several feature implementations were not sampled, so documented relationships cite the README; unsampled internals are represented by existing source directories.
Main entry points: src Agent tools · agent-loop.ts Agent loop · stream.ts Model streaming · providers Model providers
Components 22
Agent runtime
- Agent loop
packages/agent/src/agent-loop.ts - Agent tools
packages/coding-agent/src - Subagents
packages/coding-agent/src - Code execution
packages/coding-agent/src - Stream rules
packages/agent/src
Model access
- Model streaming
packages/ai/src/stream.ts - Model providers
packages/ai/src/providers - Credential handling
packages/ai/src/auth-storage.ts - Auth retries
packages/ai/src/auth-retry.ts - Error classification
packages/ai/src/error/auth-classify.ts - Model catalog
packages/catalog/src/model-manager.ts
Coding capabilities
- LSP operations
packages/coding-agent/src - Debugger tools
packages/coding-agent/src - Shell commands
crates/pi-shell/src - Output minimizer
crates/pi-shell/src/minimizer/engine.rs
Session state
- Session storage
packages/coding-agent/src/session/session-storage.ts - Indexed sessions
packages/coding-agent/src/session/indexed-session-storage.ts - Context compaction
packages/agent/src/compaction
System integration
- Native capabilities
crates/pi-natives/src
Other components
- Developer
- Model service
- Project workspace
Connections 22
- Developer → Agent loop: requests work
README.md - Agent loop → Model streaming: requests model turn
- Model streaming → Model providers: dispatches requests
packages/ai/src/stream.ts - Model providers → Model service: sends requests
- Model streaming → Credential handling: resolves credentials
packages/ai/src/stream.ts - Credential handling → Auth retries: rotates credentials
packages/ai/src/auth-storage.ts - Auth retries → Error classification: classifies failures
packages/ai/src/auth-retry.ts - Agent loop → Agent tools: invokes tools
README.md - Agent tools → Project workspace: reads and edits
- Agent tools → Subagents: fans out tasks
README.md - Agent tools → Code execution: runs code
README.md - Code execution → Agent tools: calls tools
README.md - Agent tools → LSP operations: runs IDE operations
README.md - Agent tools → Debugger tools: drives debugger
README.md - Agent loop → Stream rules: applies retry rules
README.md - Agent loop → Session storage: persists session
- Indexed sessions → Session storage: uses storage interface
packages/coding-agent/src/session/indexed-session-storage.ts - Agent loop → Context compaction: compacts context
- Model streaming → Model catalog: selects model
- Agent tools → Shell commands: runs commands
- Shell commands → Output minimizer: filters output
crates/pi-shell/src/minimizer.rs - Agent tools → Native capabilities: uses native features