How rickingithub/deepseek-harness works
DeepSeek Harness is a plugin-oriented agent harness with a local Web UI and CLI launch paths. Its main user workflow is to enter a prompt in the conversation UI, communicate with a host through the client connection/runtime, and view session events and assistant output. The tree also shows distinct workspace, attachment, settings, session search/export, plugin, and SDK/ACP capabilities. The sampled sources establish some client-side ownership and API behavior, but not the host’s complete agent or persistence pipeline; uncertain links are therefore omitted.
Main entry points: api.ts API client · startup.ts Web shell · app.tsx UI renderer · service.ts Conversation UI
Components 21
Launch and shell
- CLI entry
apps/cli/src/bin.ts - Web entry
apps/web/src/main.ts - Web shell
packages/bundle/web-app/src/startup.ts - UI renderer
packages/client/ui-renderer/src/client/app.tsx
Client runtime
- Client connection
packages/client/connection/src/client/connection.ts - API client
packages/client/connection/src/client/api.ts - Session manager
packages/client/runtime/src/client/sessions/manager.ts - Workspace manager
packages/client/runtime/src/client/workspaces/manager.ts - Plugin modules
packages/client/modules/src/client/system.ts
Conversation experience
- Conversation UI
packages/client/ui-conversation/src/client/service.ts - Input triggers
packages/client/ui-input-trigger/src/client/controller.ts - Attachments UI
packages/client/ui-attachment/src/client/ComposerAttachments.tsx
Session capabilities
- Attachment handling
packages/attachment/attachment-local/src/index.ts - Settings UI
packages/client/ui-settings-plugins/src/client/web-search-card-controller.ts - Message feedback
packages/client/ui-message-feedback/src/client/controller.ts - Session search
packages/session-query/session-query-sqlite/src/query.ts - Session export
packages/session-query/session-log-export/src/client/controller.ts
External interfaces
- SDK JSON-RPC
packages/sdk/server/src/server.ts - ACP interface
packages/acp/acp/src/index.ts
Other components
- User
- Host API
Connections 21
- User → CLI entry: launches
- CLI entry → Web shell: starts web
- User → Web entry: opens
- Web entry → Web shell: runs shell
- Web shell → UI renderer: hands off
- UI renderer → Client connection: uses
- Client connection → API client: provides transport
- API client → Host API: sends requests
- Host API → API client: returns frames
- Session manager → API client: calls session API
- Workspace manager → API client: calls workspace API
- Conversation UI → Input triggers: uses
- Conversation UI → Attachments UI: presents
- Attachments UI → Attachment handling: uses
- Settings UI → API client: reads credentials
- Message feedback → Host API: mutates feedback
- Session export → Host API: fetches export
- Session search → Host API: queries sessions
- Plugin modules → UI renderer: loads modules
- SDK JSON-RPC → Host API: exposes RPC
- ACP interface → Host API: provides protocol