mirror of
https://github.com/deepseek-ai/deepseek-harness
synced 2026-08-15 21:04:50 +00:00
Code Mode was a deployment-wide field on the host `tools` row: a deployment ran every session that way or none. The obvious product shape — 代码模式 beside 标准/极简/创造 in the preset picker — had nothing to hang on. The registry itself cannot move into a preset; the agent loop's scheduler, the api-proxy's presenters, and every tool plugin are its consumers. So split the registry from its projection: `presentAs(mode)` writes one cell on the calling agent's scope layer, exactly as `restrict()` does, and the three reads that decided presentation take that scope's mode instead of the service's. The config `mode` becomes the default agents shadow rather than a process-wide fact. Two consequences are load-bearing. `run_code` now enters a view only for scopes whose own mode presents it — a native agent must not find it dispatchable because another agent in the process does — and the reserved name holds whatever the configured mode, since any agent may select a code mode later. `dsh-agent-tool-mode` is the row a preset carries to declare this. A code mode waits for the host's `codeRuntime` rather than assuming it, so a runtime-less deployment fails the preset at mount, naming the row, instead of at the session's first request. The shipped `code` preset is `standard` plus that row, ordered second.
52 lines
1.8 KiB
JSON
52 lines
1.8 KiB
JSON
{
|
|
"name": "@deepseek-ai/dsh",
|
|
"description": "dsh CLI: profile boot, plugin management, and the browser UI alias",
|
|
"version": "0.0.1",
|
|
"private": true,
|
|
"type": "module",
|
|
"bin": {
|
|
"dsh": "lib/bin.js"
|
|
},
|
|
"files": [
|
|
"lib/*.js",
|
|
"config"
|
|
],
|
|
"license": "BSD-3-Clause",
|
|
"dependencies": {
|
|
"@cordisjs/plugin-hmr": "workspace:*",
|
|
"@cordisjs/plugin-include": "workspace:*",
|
|
"@cordisjs/plugin-loader": "workspace:*",
|
|
"@cordisjs/plugin-timer": "workspace:*",
|
|
"@deepseek-ai/dsh-agent-tool-mode": "workspace:^",
|
|
"@deepseek-ai/dsh-app-boot": "workspace:^",
|
|
"@deepseek-ai/dsh-base": "workspace:^",
|
|
"@deepseek-ai/dsh-client-ui-agent-preset": "workspace:^",
|
|
"@deepseek-ai/dsh-headless": "workspace:^",
|
|
"@deepseek-ai/dsh-mcp-client": "workspace:^",
|
|
"@deepseek-ai/dsh-paths": "workspace:^",
|
|
"@deepseek-ai/dsh-pty": "workspace:^",
|
|
"@deepseek-ai/dsh-pty-local": "workspace:^",
|
|
"@deepseek-ai/dsh-session-reference": "workspace:^",
|
|
"@deepseek-ai/dsh-tmux-context": "workspace:^",
|
|
"@deepseek-ai/dsh-tool-ask-user": "workspace:^",
|
|
"@deepseek-ai/dsh-tool-bash-persistent": "workspace:^",
|
|
"@deepseek-ai/dsh-tool-cordis": "workspace:^",
|
|
"@deepseek-ai/dsh-web-app": "workspace:^",
|
|
"commander": "^15.0.0",
|
|
"cordis": "^4.0.0-rc.7",
|
|
"js-yaml": "^4.2.0",
|
|
"node-addon-require-builtin": "^0.1.4"
|
|
},
|
|
"devDependencies": {
|
|
"@deepseek-ai/dsh-frontend-static": "workspace:^",
|
|
"@deepseek-ai/dsh-host-apiproxy": "workspace:^",
|
|
"@deepseek-ai/dsh-host-webserver": "workspace:^",
|
|
"@deepseek-ai/dsh-loader-smoke": "workspace:^",
|
|
"@deepseek-ai/dsh-settings": "workspace:^",
|
|
"@deepseek-ai/dsh-system-prompt": "workspace:^",
|
|
"@deepseek-ai/dsh-tools": "workspace:^",
|
|
"@types/js-yaml": "^4.0.9",
|
|
"execa": "^10.0.0"
|
|
}
|
|
}
|