跳到主内容

dsh-code 使用指南

DeepSeek Harness 的终端编码界面,承载 Ink 渲染的交互式 TUI、持久会话、Agent 预设、模型切换与 git 工作流命令。

本文为派生内容(基于 wiki / faq / compatibility_json 自动组装),非 AI 即时创作。

本文由本站基于该插件已收录的字段自动派生(wiki / faq / compatibility_json / readme),非 AI 即时创作。每节末尾标源字段。

快速上手

dsh-code

— 源: plugin_wiki.wiki_content

安装与验证

dsh plugin --profile web add dsh-code

复制以上命令在 DSH Web Profile 内运行。安装完成后在「插件列表」启用即可。

— 源: plugins.install

关键要点

  • 使用 /new 新建会话,或通过 /resume、--continue 恢复已有会话
  • 使用 /fork 从历史节点创建新的工作分支,同时保留原会话
  • 按当前目录、更新时间和会话范围搜索历史记录
  • 使用 Up/Down 召回输入历史,或通过 /history 搜索过去的提示词
  • 支持持久标题、Markdown 导出、上下文占用、token、缓存、TTFT 和耗时统计

— 源: plugin_wiki.readme_zh (fallback readme_raw)

常见问题

安装后用什么命令启动?

dsh --profile cli、deepseek 和 dsh-code 三个命令都能启动同一个 TUI(README.md:45-49 / bin/deepseek.mjs:197)。其中 deepseek 与 dsh-code 是全局别名,参数会原样转发。

需要先安装 DSH 主程序吗?

是的。dsh-code 是树外 bundle,需要先 npm install -g @deepseek-ai/[email protected],再把 dsh-code 用 dsh plugin --profile cli add dsh-code 挂到 cli profile 上;alias 启动时会检测 profile,未挂载会直接报错(bin/deepseek.mjs:170-179)。

不配置模型也能进 TUI 吗?

可以。未配置模型时仍能进入终端、查看历史会话和使用 /help、/theme、/statusline 等非模型命令;按 a 在 /model 面板里通过 Harness credentials 服务添加 API key(README.md:26 / src/models.ts:1-9)。

Agent Preset 怎么切换?

启动时用 --mode <preset>,会话中用 /mode <preset> 或 /mode 浏览选择;预设(standard / code / minimal / cordis / 用户自定义)在首次 turn 之前可改,写入会话事件后随持久化一起恢复(src/presets.ts:33-46 / README.md:78-79)。

会话如何恢复和分叉?

--resume <id|前缀> 续接指定会话、--continue 续接当前目录下最近的会话、/fork 从最近 turn 或指定事件位置创建分支会话并保留原会话;子代理会话是只读的,不能用 CLI 追加(src/index.ts:255-285 / README.md:65)。

支持哪些 slash 命令?

/new /resume /fork /delete /title /export /history /clear 用于会话管理;/mode /model /effort /permission /subagent 用于代理与权限;/diff /review /todos /agents /jobs /copy 用于编码与后台任务;/plugin /statusline /theme /help /quit 用于扩展、显示与退出(README.md:128-167)。

数据存在哪里?

持久会话存放在 Harness 后端默认位置;用户级配置在 ~/.dsh/dsh-code/ 下,分别存放 statusline.json、theme.json 和 history.jsonl(src/index.ts:555 / src/index.ts:582 / src/index.ts:608)。

卸载要注意什么?

必须两条都执行:dsh plugin --profile cli remove dsh-code 解除 profile 挂载,再 npm uninstall -g dsh-code 删除全局包和启动别名;只解除挂载时 alias 仍存在并报错提示(README.md:255-260)。

Linux 上 pty.node 找不到怎么办?

DSH 的本地子进程插件依赖 [email protected],缺少预构建二进制时需先装 build-essential/python3/make/g++,再进对应目录手动 npx node-gyp rebuild,确认 build/Release/pty.node 已生成(docs/problems.md:5-58)。

GitHub 源码安装失败怎么排?

pnpm 会在 Git 包准备阶段报 allowBuilds,需把完整条目(含 git URL 与 commit)写入 ~/.dsh/profiles/cli/pnpm-workspace.yaml 再重试;发布包已含 lib/ 不需要这一步骤(docs/problems.md:60-99)。

— 源: plugin_wiki.faq_json

兼容性

  • DSH: >=0.1.0-rc.8
  • Node: ^22.19 || >=24
  • Platforms: macOS, Windows, Linux
  • Native modules: node-pty(DSH 主程序间接依赖)

— 源: plugin_wiki.compatibility_json

踩坑提醒

安装前请审阅上游仓库;本指南基于已收录字段自动派生,可能滞后于最新版本。如发现与官方文档冲突,请以上游为准。

— 来源:通用规则