How twigpine/openclaude works
OpenClaude is a terminal-first coding-agent CLI that brings cloud and local model providers into one workflow. A user enters a prompt in the CLI; the query engine prepares context, processes input, streams results, and records conversation history. Around that core, the product exposes tools, agents, MCP, slash commands, provider setup, and task workflows. The graph also shows persistence and permission handling. README capabilities fill out some unsampled subsystems; arrows are limited to documented behavior and sampled calls.
Main entry points: QueryEngine.ts Query engine · Tool.ts Agent tools · pluginOptionsStorage.ts Plugin system · ProviderManager.tsx Provider setup
Components 20
CLI experience
- Terminal app
src/components/App.tsx - Prompt input
src/components/PromptInput/PromptInput.tsx - Slash commands
src/commands.ts
Agent runtime
- Query engine
src/QueryEngine.ts - Input processing
- Agent tools
src/Tool.ts - Worker agents
src/coordinator/workerAgent.ts - Tool permissions
src/components/permissions/FilePermissionDialog/usePermissionHandler.ts
Models and providers
- Provider setup
src/components/ProviderManager.tsx - Model services
src/services/api
Extensions and coordination
- MCP integration
src/commands/mcp - Plugin system
src/utils/plugins/pluginOptionsStorage.ts - Remote bridge
src/bridge/bridgeMain.ts - Task workflows
src/hooks/useTasksV2.ts
Session and settings
- Session transcripts
src/utils/sessionStorage.ts - Portable session tools
src/utils/sessionStoragePortable.ts - User settings
- Secure credentials
src/utils/secureStorage/macOsKeychainStorage.ts
Other components
- CLI user
- Model backends
Connections 22
- CLI user → Terminal app: starts session
- Terminal app → Prompt input: shows input
- Prompt input → Query engine: submits prompt
- Query engine → Input processing: processes input
- Query engine → Slash commands: loads commands
- Query engine → Plugin system: loads plugin cache
- Query engine → Session transcripts: records history
- Query engine → Model services: selects model
- Model services → Model backends: sends requests
- Provider setup → User settings: updates profiles
- Provider setup → Secure credentials: reads credentials
- Input processing → Agent tools: dispatches tools
- Agent tools → Tool permissions: requests approval
- Agent tools → Worker agents: spawns workers
- Agent tools → MCP integration: uses MCP tools
- Plugin system → Secure credentials: stores secrets
- Plugin system → User settings: stores options
- Task workflows → User settings: reads task config
- Portable session tools → Session transcripts: reads session files
- CLI user → Provider setup: configures provider
- CLI user → Slash commands: invokes commands
- Remote bridge → Session transcripts: manages sessions