🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

终端 Agent 客户端 MashedPotato817/dsh-tui

DeepSeek Harness
MashedPotato81715 天前有提交已提供中文文档扫描:含敏感能力

DeepSeek Harness 的终端客户端TUI。在 DeepSeek 生态内,以插件形式提供类似 Claude…

30.2/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/25 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add MashedPotato817/dsh-tui
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · ui
装得上吗
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 15 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 16 处,展示前 16 条)
  • 发起网络请求
    bin/tui.js:32
    const { items } = await client.request("session.list");
  • 发起网络请求
    lib/client.js:31
    const response = await fetch(`${this.baseUrl}/api/${method}`, {
  • 发起网络请求
    lib/client.js:61
    const response = await fetch(`${this.baseUrl}/api/respond`, {
  • 发起网络请求
    lib/session.js:35
    const { items } = await client.request("session.list", {});
  • 发起网络请求
    lib/session.js:49
    const { sessionId: id, agentPreset: resolved } = await client.request("session.create", payload);
  • 发起网络请求
    lib/session.js:97
    return this.client.request("session.history", payload);
  • 发起网络请求
    lib/session.js:102
    return this.client.request("session.prompt", {
  • 发起网络请求
    lib/live.js:751
    await this.client.request("session.cancel", { sessionId: this.session.sessionId });
  • 发起网络请求
    lib/live.js:766
    const resp = await this.client.request("subagent.list", {
  • 读取本地文件
    lib/registry.js:16
    const raw = readFileSync(filePath, "utf8");
  • 写入本地文件
    lib/registry.js:49
    writeFileSync(filePath, "", "utf8");
  • 读取本地文件
    lib/command-loader.js:39
    names = readdirSync(dir);
  • 读取本地文件
    lib/command-loader.js:47
    const stats = statSync(full);
  • 读取本地文件
    lib/command-loader.js:50
    const body = readFileSync(full, "utf8");
  • 读取本地文件
    ui/components.js:556
    const topNames = readdirSync(cwd, { encoding: "utf8" });
  • 读取本地文件
    ui/components.js:562
    try { ents = readdirSync(full, { withFileTypes: true }); } catch { return out; }
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 终端智能体对话
  • Vim模态输入
  • HUD界面

DeepSeek Harness 的终端客户端:Claude Code 风格的智能体对话,带 Vim 模态输入和 HUD,跑在同一套 DSH HTTP 契约上。

README

由 DeepSeek 最新模型翻译生成
dsh-tui DeepSeek Harness 的终端客户端(TUI)。在 DeepSeek 生态内,以插件形式提供类似 Claude Code 的智能体对话 + 类似 Vim 的模态输入 —— 在两者之间找一个平衡。 - Claude Code 功能:会话对话、斜杠命令、流式回复、工具调用、模型/成本状态栏 - Vim 形式:normal / insert / command 三模态,i/a/o 输入、h/j/k/l 移动、ESC 切换 - PTC 模式:默认用 DSH 的 code 智能体预设(Code Mode SDK,多步操作一次往返) - 实时流:mux SSE 流式渲染,assistant/chunk 边生成边显示 - 成熟产品对齐的状态栏:Claude Code 风格 HUD(上下文窗 model[1M]、回合耗时 ⏱、内置文档计数、子代理计数)——综合 OpenCode / Codex 的输入与键位理念 - 会话管理:记忆最近会话、/resume 恢复、/new 新建、会话中切换 - 开放核心:core/ 纯 Node 零依赖,ui/ 是 Ink 层——VSCode 集成可直接复用 core 安装 需要 Node.js 22 或更高版本(Ink 7 与内建 WebSocket 传输的运行时要求)。
展开完整文档(README 剩余 1 节)
dsh-tui

DeepSeek Harness 的终端客户端(TUI)。在 DeepSeek 生态内,以插件形式提供类似 Claude Code 的智能体对话 + 类似 Vim 的模态输入 —— 在两者之间找一个平衡。

- Claude Code 功能:会话对话、斜杠命令、流式回复、工具调用、模型/成本状态栏
- Vim 形式:normal / insert / command 三模态,i/a/o 输入、h/j/k/l 移动、ESC 切换
- PTC 模式:默认用 DSH 的 code 智能体预设(Code Mode SDK,多步操作一次往返)
- 实时流:mux SSE 流式渲染,assistant/chunk 边生成边显示
- 成熟产品对齐的状态栏:Claude Code 风格 HUD(上下文窗 model[1M]、回合耗时 ⏱、内置文档计数、子代理计数)——综合 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 命令交给智能体执行(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/dsh-tui
分享 · DeepSeek Harness Hub
MashedPotato817/dsh-tui

DeepSeek Harness 的终端客户端TUI。在 DeepSeek 生态内,以插件形式提供类似 Claude…

这是你的仓库?认领条目

回到顶部