DSH Plugin Store
Back to home

realchenwenqiao

dash

DASH — a pi-tui terminal front door for DeepSeek Harness, installed as a dsh bundle plugin

Stars
1
Language
TypeScript
Created
Aug 14, 2026
Updated
Aug 14, 2026
UIRuntimeTools
GitHub repoHomepage

Introduction

DASH — DeepSeek Awesome Harness

dsh-plugin stars license

DASH cover

DASHDeepSeek Harness 的终端原生前端:同一套「一切皆插件」的 agent 内核与多模型切换能力,跑在你的 shell 里。

dash 是一个挂载在官方 dsh-base 之上的 Cordis 插件(bundle),通过 dsh plugin add 一键安装。DASH = DeepSeek AweSome Harness。

英文版请见 README_EN.md

为什么是终端?

  • 从命令行到编码 agent,只差一次回车。
  • 多模型同一会话 —— /model 无需离开 TUI 即可切换 provider。
  • 可脚本化、可管道、SSH 下照常可用。

特性

  • 全屏 TUI:ANSI Shadow 的 DASH logo、滚动回看(banner、提示、正文、输入框作为同一条内容流滚动)、底部信息栏(cwd (branch) + 累计 token + session id)。
  • 多行编辑器:历史、撤销、kill-ring —— Enter 发送,Shift+Enter 换行。
  • Markdown 渲染:代码块、列表、行内代码、表格。
  • 思考折叠:推理默认隐藏,Ctrl+O 展开为暗色块。
  • 工具输出折叠:每个工具结果折叠为一行 ↳ N lines 摘要,Ctrl+T 展开为代码块;错误保持内联。
  • 斜杠命令:带搜索框菜单 + accent 高亮。
  • 多模型/model 选择器(共享 llm 目录)。
  • API key/login 通过凭证 seam 存储并激活 provider 路由。
  • 工具卡片:参数摘要;输出折叠,展开才显示。
  • 会话恢复/resume 在输入区打开选择器;dsh tui --resume <id> 直接恢复。
  • 回滚(时间旅行分叉):双击 Esc 在输入区打开行为账本——每条用户消息、工具调用、助手回复各一行,带 [user]/[tool]/[assistant] 标识 + turn 号 + 实测时长。选中一行即分叉回该 turn 边界——非破坏性分支,不是 undo 栈。
  • 实时工作状态 footer:累计 token · 流式 TPS(64t/s)· 上下文占用预警(≥80% 黄、≥95% 红)· 运行中工具(⚙ 工具名)。
  • @ 文件补全:输入 @ + 路径前缀,用 fd/fdfind 模糊补全文件路径。
  • 鼠标选择即复制:拖拽选择文本,松开自动复制到剪贴板(OSC 52),双击选词、三击选行、滚轮滚动。

从 dsh 继承了什么

dash 完整复用 dsh-base 插件树——agent 相关的任何东西都没有重写:

  • 一切皆插件的内核 —— Cordis 运行时、agent loop、工具注册表、会话日志,全部来自上游。
  • 多 provider 的 llm —— /model 在共享 ctx.llm 目录上切换。
  • 技能系统 —— skill-filesystem 扫描 ~/.agents/skills<project>/.agents/skills,与 Claude Code / Codex / Grok 共享的技能,dash 的模型经 skill 工具直接可用。
  • 工具 —— bash、fs、web、subagent、todo 等原样经 ctx.tools 注册。
  • 会话持久化与恢复 —— --resume <id>/resume 恢复持久化会话。
  • plan 模式、命令、凭证、设置 —— 宿主 seam 及其 handler。

我们的理解

dash 增加的不是新能力,而是一个新 surface——以及几个我们觉得终端比浏览器表达得更好的想法:

  • 终端是 agent 的汇编语言。 dsh 的「一切皆插件」是把 Unix 哲学用在 agent 上;dash 想让组装一个 agent 的感觉,像组装一个 shell 环境。
  • 回滚是分叉,不是撤销栈。 双击 Esc 打开行为账本——每条用户消息、工具调用、助手回复各一行。选中一行分叉回该 turn 边界,旧分支(fork 谱系)被保留而非销毁。只有 append-only 的行为日志能表达这一点;纯聊天的 harness 只能回滚消息。
  • 行为账本,而不是消息列表。 对齐 web 版 Trajectory 视图:[user] / [tool] / [assistant] 行带 turn 号与实测时长,让插件/工具活动可见。
  • 输入框跟随内容流。 没有 dock 固定的输入框——编辑器随历史一起滚走,Claude Code 式。
  • 同一色系。 所有品牌相关元素都落在 DeepSeek 靛蓝→天蓝渐变(#4D6BFE → #3982FF → #2498FF)上。

安装

dash 以 dsh bundle 插件的形式安装到官方 dsh CLI 上:

# 1. 安装官方 dsh CLI(已装可跳过)
npm install -g @deepseek-ai/dsh

# 2. 把 dash 插件装入 tui profile(`dsh plugin add` 会自动识别
#    package.json 里的 `dsh.bundle.patch` 并挂进 bundle 层)
dsh plugin --profile tui add @realchenwenqiao/dash

# 3. 启动
dsh --profile tui

npm 发布前,也可从源码运行:

git clone https://github.com/realchenwenqiao/dash.git
cd dash
pnpm install
pnpm run build
pnpm dash tui

需要 Node.js 与 pnpm。退出时用 dash tui --resume <session-id> 恢复(id 会在退出时打印),或在 TUI 内用 /resume

用法

输入提示词,回车。会话流式输出回复与工具活动,底部信息栏显示累计 ↑ in ↓ out R reasoning、缓存命中率、上下文占用与当前 session id(供 --resume 使用)。

斜杠命令

命令作用
/model切换模型——遍历 llm 注册表里每个 provider 的选择器。
/login为某 provider 添加 API key,激活其路由。
/logout清除当前 provider 存储的凭证。
/resume选择已保存会话,在其 workspace 中恢复。
/new开始全新会话。
/clear清空正文。
/export把会话日志导出为 markdown 文件。
/status显示会话状态(session / cwd / model / plan / token / 账本行数)。
/cost · /tokens显示 token 用量与缓存命中。
/thinking切换思考展开/折叠。
/help显示快捷键与命令清单。
/audit /bug /review /practice /pr_comments /release-notes /vuln-check技能命令——向模型发送激活提示(随包内置对应 SKILL.md)。
/exit · /quit退出。
/compact /plan /goal /feedback /permission宿主命令,与 web UI 共享同一注册表。

快捷键

动作
Enter发送
Shift+Enter / Ctrl+J换行
/ 输入历史
Ctrl+O展开 / 折叠思考
Ctrl+T展开 / 折叠工具输出
Shift+Tab切换 plan 模式
Esc Esc打开回滚账本(分叉回之前的 turn)
Ctrl+C取消打开的浮层;无浮层时退出

鼠标:拖拽选择即复制 · 双击选词 · 三击选行 · 滚轮滚动。

色卡

一套靛蓝→天蓝品牌族、一组中性色、三种常规状态色:

角色出现位置
logo · brand · accent · codeDASH logo、标题、斜杠命令、选中项、行内代码
dim工具正文、footer、推理
bgQuote用户消息块(深靛蓝底)
success · warning · errordiff 新增 · 待处理 · diff 删除

生态

dashDeepSeek Harness 插件生态的一员——在 dsh-plugin topic 下浏览所有社区插件,或查看精选清单 awesome-dsh-plugin

架构

dash 是一个 Cordis bundle——@realchenwenqiao/dash——通过 tui profile 挂载在 dsh-base 之上,与 webheadless bundle 同构。TUI 驱动稳定表面(agents.create / agent.followup / agent.whenIdle / session/event),用 pi-tui 组件渲染。上游保持原样,TUI 只是多了一个 surface。

开发

docs/development.mdAGENTS.md 开始。

License

MIT。第三方声明:THIRD_PARTY_NOTICES.md