How gust-feng/agentarbor works
AgentArbor is a local-first desktop agent workbench. The main workflow is a user submitting a task in the workbench, the panel server routing it to an ordinary-agent run, and the agent using a model and available tools to work with real files; run observations return to the UI. Spaces organize work, while editable memory and the personal knowledge vault preserve reusable assets. The README documents model providers, MCP, Skills and delegated sub-agents as capabilities. Sampled source excerpts are partial, so some subsystem connections are shown only where the tree, documentation or excerpts support them.
Main entry points: ordinary-routes.ts Conversation routes · space-routes.ts Space routes · ordinary-agent-feature.ts Ordinary agent · agent-loop.ts Agent loop
Components 23
Workbench UI
- Desktop workbench
src/app/panel-ui/src/App.tsx - Conversation UI
src/app/panel-ui/src/personal-workbench/workbench/app/components/ConversationPage.tsx - Document previews
src/app/panel-ui/src/personal-workbench/workbench/app/components/referencePreviewClient.ts
Panel server
- Panel runtime
src/app/panel-server/runtime.ts - Conversation routes
src/app/panel-server/ordinary-routes.ts - Space routes
src/app/panel-server/space-routes.ts - Multi-agent routes
src/deferred/deep-routes.ts
Agent execution
- Ordinary agent
src/app/ordinary-agent/ordinary-agent-feature.ts - Agent loop
src/app/model-runtime/agent-loop.ts - Agent sessions
src/adapters/intelligence/file-system-agent-session-repository.ts - Agent definitions
src/app/agent-definitions/agent-definition-runtime.ts - Deep manager
src/deferred/deep/deep-manager-turns.ts
Spaces and assets
- Spaces and references
src/app/panel-server/space-routes.ts - Local files
src/app/local-filesystem/index.ts - Agent memory
src/app/agent-notes/agent-notes-feature.ts - Personal knowledge vault
src/app/content-vault/index.ts - Vault sync
src/app/content-vault-sync/content-vault-sync-feature.ts
Models and tools
- Model runtime
src/app/model-runtime/factory.ts - Model providers
src/adapters/intelligence/index.ts - MCP tools
src/adapters/mcp/mcp-manager.ts - Tool capabilities
src/app/capability/capability-center.ts - Workbench settings
src/app/config-center/index.ts
Other components
- Workbench user
Connections 25
- Workbench user → Conversation UI: submits task
- Conversation UI → Conversation routes: sends request
- Conversation routes → Ordinary agent: submits turn
- Ordinary agent → Agent loop: executes run
- Ordinary agent → Agent sessions: persists session
- Agent loop → Model runtime: requests inference
- Model runtime → Model providers: dispatches model call
- Agent loop → Tool capabilities: uses tools
- Tool capabilities → Local files: accesses files
- Tool capabilities → MCP tools: dispatches MCP tools
- Conversation routes → Conversation UI: streams run updates
- Workbench user → Desktop workbench: organizes work
- Desktop workbench → Space routes: requests space operations
- Space routes → Spaces and references: reads and mutates
- Document previews → Space routes: fetches previews
- Space routes → Document previews: returns preview
- Conversation routes → Agent memory: serves memory routes
- Workbench user → Personal knowledge vault: maintains knowledge
- Vault sync → Personal knowledge vault: synchronizes assets
- Panel runtime → Ordinary agent: provides runtime
- Panel runtime → Agent definitions: configures agents
- Multi-agent routes → Deep manager: runs multi-agent turns
- Deep manager → Model runtime: requests model turns
- Workbench user → Workbench settings: configures providers and tools
- Workbench settings → Model providers: configures access