← 返回列表
未验证
在终端里用 Vim 键位与 AI 对话并调用工具
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/15 · 已提供中文文档
DeepSeek Harness 的终端客户端:通过单一 DSH HTTP 契约,实现 Claude Code 风格的智能体对话,支持 Vim 模态输入和 HUD。
综合分
26.7
GitHub 分
26.7
用户评分
—
★ Stars
0
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add MashedPotato817/dsh-tui该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
dsh-tui
npm version
npm downloads
License
DeepSeek Harness 的终端客户端(TUI)。在 DeepSeek 生态内,以插件形式提供类似
Claude Code 的 agent 对话 + 类似 Vim 的模态输入 —— 在两者之间找一个平衡。
- Claude Code 功能:会话对话、斜杠命令、流式回复、工具调用、模型/成本状态栏
- Vim 形式:normal / insert / command 三模态,i/a/o 输入、h/j/k/l 移动、ESC 切换
- PTC 模式:默认用 DSH 的 code agent preset(Code Mode SDK,多步操作一次往返)
- 实时流:mux SSE 流式渲染,assistant/chunk 边生成边显示
- 成熟产品对齐的状态栏:Claude Code 风格 HUD(上下文窗 model[1M]、回合耗时 ⏱、内置文档计数、子 agent 计数)——综合 OpenCode / Codex 的输入与键位理念
- 会话管理:记忆最近会话、/resume 恢复、/new 新建、会话中切换
- 开放核心:core/ 纯 Node 零依赖,ui/ 是 Ink 层——VSCode 集成可直接复用 core
安装
需要 Node.js 22 或更高版本(Ink 7 与内建 WebSocket 传输的运行时要求)。
已发布到 npm,一条命令全局安装:
npm install -g dsh-tui # 或局部:npm install dsh-tui
需要本机已运行 dsh web(DeepSeek Harness host,默认 http://127.0.0.1:3080)。启动 host 后即可运行下面的用法。
工作区建议(重要):请在项目子目录而非用户根目录启动(如 cd C:\Users\zhntd\Desktop\my-project && dsh-tui)。
DSH 沙箱有硬性规则:临时目录必须在工作区之外。若在 C:\Users\zhntd 这类用户根目录启动,
系统临时目录 ...\AppData\Local\Temp 会落在工作区内而被拒绝,导致部分工具(如写临时文件、
浏览器临时文件)报错。切到项目子目录即可避开。
用法
交互式 TUI(TTY 下自动进入)
dsh-tui
新建 / 恢复最近 / 指定会话进入交互
dsh-tui --new
dsh-tui --resume
dsh-tui --session session-xxxx
一次性调用(默认新建 PTC 会话 → 打印回复)
dsh-tui run "帮我写个排序函数"
dsh-tui run --resume "继续刚才的"
dsh-tui run --session session-xxxx "接着干"
非 TTY(管道/脚本)下列出会话
dsh-tui --new | head
环境变量:
DSH_URL host 地址,默认 http://127.0.0.1:3080
TUI 操作
| 键 | 作用 |
| --- | --- |
| i / A / o 等 | 进入 insert 模式输入 |
| ESC | 回 normal 模式 |
| : | 命令模态::w 提交、:cancel 停止回合、:q 退出 |
| / | 斜杠命令:/new /resume /status 或 host 命令(/git status) |
| !cmd | 当作 shell 命令交给 agent 执行(OpenCode 式) |
| @file | 引用文件、可带行范围 @src/a.ts#10-20(OpenCode 式;Tab/方向键选择,Enter 插入) |
| Enter(normal/insert) | 发送 |
HUD 状态栏
● deepseek-chat | PTC | $0.0123 | 1.2ki/450o abcdef12 C:\work
↑ 运行状态 模型 成本 token ↑ 会话id 工作目录
架构
lib/ core 层(零依赖):client/fold/session/stream/live/vim/hud/policy/...
ui/ Ink 组件层
bin/ cli 入口(interactive + run + list)
test/ 单元飞轮(194 例)
test-live/ live 飞轮(真实 host,DSH_TEST_LIVE=1 才跑)
lib/index.js 导出 core API,供 VSCode 集成等复用,不依赖任何 UI。
自带 TypeScript 类型声明(lib/types/.d.ts + exports 具名子路径,对齐官方 @deepseek-ai/ 插件规范):
import { foldEvents, LiveConversation, hudState } from "dsh-tui"; // 全量类型
import { countProjectDocs } from "dsh-tui/docs"; // 子路径
import { resolveVersion } from "dsh-tui/version";
贡献与社区
- 提交 issue / 需求 / PR:见 CONTRIBUTING.md,或用 GitHub 的 issue / PR 模板。
- 了解项目的 协同机制与反馈升级飞轮:见 docs/community.md —— 从上报到修复、测试、发布的完整闭环。
- 社区路线图:见 dsh-ecosystem。
- 维护者发布流程(验收→合 main→bump→publish):见 docs/release-runbook.md。
- 发布前真实终端验收清单:见 docs/ACCEPTANCE.md。
开发
npm test # 单元飞轮(快,194 例)
npm run check:types # 真实 TS 消费者编译校验(零错误)
npm run test:live # live 飞轮(真实 host,会调真实模型)
npm run flywheel # --watch 快速迭代
详见 docs/flywheel.md。
授权
MIT同作者(MashedPotato817)的其他插件
扫码进群