How chlzaoyaowan/deepseek-harness works
DeepSeek Harness is a plugin-oriented agent harness with a Web UI and CLI entry point. The user-facing path is launching the web app, assembling its plugin-provided interface, and working with sessions and conversations over the client API. The tree also shows major capabilities for workspaces, model and permission settings, attachments, and session export/search. Sampled excerpts confirm parts of client assembly, session/workspace management, and integrations; links between unsampled subsystems are omitted where their wiring cannot be established.
Main entry points: app.tsx Web shell · bin.ts CLI · main.ts Web bootstrap · startup.ts Web bundle
Components 21
Application entry
- CLI
apps/cli/src/bin.ts - Web bootstrap
apps/web/src/main.ts - Web shell
packages/client/web/src/app.tsx - Web bundle
packages/bundle/web-app/src/startup.ts
Client runtime
- Plugin modules
packages/client/modules/src/client/system.ts - Client runtime
packages/client/runtime/src/client/index.ts - Session manager
packages/client/runtime/src/client/sessions/manager.ts - Workspace manager
packages/client/runtime/src/client/workspaces/manager.ts - Client connection
packages/client/connection/src/client/connection.ts
User capabilities
- Conversation UI
packages/client/ui-conversation/src/client/index.ts - Model settings
packages/client/ui-settings-models/src/client/index.ts - Permission presets
packages/client/ui-permission-presets/src/client/index.ts - Attachments
packages/client/ui-attachment/src/index.ts - Jobs UI
packages/client/ui-jobs/src/client/index.ts - Session export
packages/session-query/session-log-export/src/client/controller.ts - Session search
packages/session-query/session-query-sqlite/src/query.ts - Message feedback
packages/client/ui-message-feedback/src/client/controller.ts
API and integrations
- API gateway
packages/api/gateway/src/index.ts - API remotes
packages/api/remotes/src/index.ts - SDK JSON-RPC
packages/sdk/server/src/server.ts
Other components
- User
Connections 12
- User → CLI: launches
- CLI → Web bundle: starts web
- User → Web bootstrap: opens UI
- Web bootstrap → Web shell: boots shell
- Web shell → Client runtime: reads sessions
- Web shell → Plugin modules: renders slots
- Web bundle → Plugin modules: assembles plugins
- Session manager → API remotes: requests session data
- Workspace manager → API remotes: requests workspace data
- Client connection → API gateway: transports requests
- Session export → Client runtime: uses snapshot store
- SDK JSON-RPC → User: accepts SDK calls