539051b2c9551cdc69b24ea5b3820a8a0c869e83
The tool render-intent vocabulary (ToolCallView/ToolResultView + members, FileLocation, FileDiff, ToolCallKind) is the UI-facing surface of dsh-tools; it lived inline in index.ts alongside the registry and execution core. Move it to its own presentation.ts module so index.ts is the registry + execute waterfall and the presentation vocabulary is a separate, one-directional dependency. presentation.ts owns ONLY render-intent types and references none of the execution types; index.ts imports the view types for ToolDefinition's presentCall/presentResult signatures (clean acyclic index -> presentation). The opaque `meta` presentation channel (ToolExecuteReturn, ToolResult, ToolExecutionResult) is execution plumbing and stays in index.ts. Public surface unchanged: index.ts re-exports the vocabulary, so consumers (tool-fs/tool-bash/tool-web/tool-todo, the ACP bridge) keep importing from @deepseek-ai/dsh-tools with zero churn. No producer/bridge/test edits; a pure internal relocation with no observable-output change (snapshot goldens untouched).
DeepSeek Harness
English | 中文
Monorepo for the DeepSeek Harness group.
Projects
- DeepSeek Code — DeepSeek's coding agent product.
Development
This monorepo is built on the Cordis framework (vendored as source under vendor/), microkernel-style: everything is a plugin.
pnpm install
pnpm run test # vitest
pnpm run demo:echo # runnable echo-agent example (no API key needed)
pnpm run demo:coding # the real DeepSeek coding agent (needs DEEPSEEK_API_KEY)
For humans, start with the development guide for local setup, hooks, environment variables, and quality gates, then read the architecture design before package work. Local context lives in packages/ and vendor/.
For agents, follow AGENTS.md.
Languages
TypeScript
96.9%
CSS
1.6%
JavaScript
0.7%
Python
0.7%