DASH:面向 dsh 的 oh-my-pi 风格终端 TUI 插件

前言

DSH 生态强调「一切皆插件」。如果日常已经在用 dsh CLI 跑智能体,缺的往往不是后端能力,而是一个能在终端里直接读、改、续跑会话的交互层。DASH(Deepseek Agentic Service Harness)就是这类插件:它是 songqikong 维护的终端 TUI,把官方 dsh CLI 的 agent kernel 包成 oh-my-pi 风格的终端界面,并可以通过 dsh --profile dash 启动。

这是什么

DASH 是一个 dsh 终端 TUI 插件,仓库地址为 https://github.com/songqikong/dash,许可证为 MIT。

它不重新实现 DSH 内核,而是在 DSH agent kernel 上创建真实 agent:

  • 通过 ctx.agents.create() 创建 agent
  • 通过 agent.followup() 推进回合
  • 通过 agent.cancel() 打断生成
  • 渲染 streaming session/event

工具调用、reasoning、session persistence、compaction 和 agent presets 都走 DSH 官方服务。UI 使用 zero-dependency raw-ANSI terminal rendering,不使用 React/Ink。

核心功能

终端编辑与输入

DASH 提供接近 oh-my-pi 的编辑体验:

  • 多行输入
  • kill-ring
  • undo
  • char jump
  • 外部编辑器往返
  • @ 文件补全

快捷键可以在 ~/.dash/keybindings.yml 中重映射,输入 /hotkeys 可以查看当前绑定。

流式转录

DASH 使用 Markdown streaming transcript,支持:

  • reasoning folding
  • tool cards

状态栏

状态栏会显示:

  • model
  • preset
  • thinking effort
  • tokens
  • activity
  • queue
  • TPS sparkline
  • cache hit
  • context-window indicator
  • git branch
  • cwd
  • session title

模型角色系统

DASH 提供四个模型角色:

  • default
  • smol
  • plan
  • task

角色值支持 provider/model:effort 后缀,并持久化到 ~/.dash/config.ymlmodelRoles

常用操作:

  • Alt+M:打开 model picker
  • Ctrl+P:切换当前角色的 model
  • Alt+P:临时替换 model
  • Shift+Tab:切换 thinking effort

会话工作流

会话管理支持:

  • /resume
  • /rename
  • /new
  • persistence
  • autoResume
  • 双 Esc time-rewind

会话持久化路径为 ~/.dsh/sessions。autoResume 可以在启动时恢复最近会话。双 Esc 会进入 time-rewind,把某条消息退回编辑器,修改后重发。

官方 DSH agent presets

DASH 可以直接使用 DSH 的四个官方 agent preset:

  • Standard
  • PTC
  • Minimal
  • Creative

可以通过 /preset picker 切换,也可以通过设置中的 «Session mode» 切换。

设置面板与欢迎页

/settings 会打开 omp-style settings panel,包含:

  • appearance
  • model
  • interaction
  • session

启动后还会看到 splash welcome screen,展示:

  • DASH wordmark
  • model/provider
  • tips
  • 当前 agent preset
  • recent sessions

Agent Hub

Alt+A/hub 可以打开 subagent tree,支持:

  • 过滤
  • 查看详情
  • followup
  • interrupt

在 subagent tree 中:

  • s:给子智能体发送 followup
  • x:打断子智能体

Advisor

/advisor on 可以启用第二个模型旁听。启用后,每个回合结束后,第二个模型会在主转录中追加一条评论。

TTSR

TTSR 通过 ~/.dash/rules.yml 配置,形式是 regex 到 prompt 的映射。当流式输出命中规则时,DASH 会注入对应 prompt。

命令、skills 与项目说明

DASH 接入 DSH command registry、skills 和项目说明:

  • /plan/goal/compact:转发到 DSH command registry
  • /skills:列出可用 skills
  • /init:注入 AGENTS.md / CLAUDE.md instructions
  • /think/focus:注入 reasoning/focus steers

输入 / 会打开命令菜单,并支持 Tab 补全。例如输入 /models 后按 Tab 补全 provider,再按 Tab 补全 model。

安装与启用

先确认 Node 版本满足 >=22.19,然后安装官方 dsh CLI:

npm install -g @deepseek-ai/dsh

再安装 DASH:

git clone https://github.com/songqikong/dash.git
cd dash
npm install
sh install.sh
dash

sh install.sh 会创建:

  • ~/.dsh/profiles/dash
  • ~/.local/bin/dash

启动 dash 后,等价于运行:

dsh --profile dash

LLM provider 配置复用 $DSH_HOME/settings.yaml。如果需要用环境变量覆盖默认 model,可以使用 DASH_PROVIDERDASH_MODEL

典型用法

下面是启动后比较常用的操作:

  1. 发送与排队
  • Enter:发送
  • Ctrl+Enter / Ctrl+Q:排队 follow-up
  • Esc / Ctrl+C:打断生成
  1. 切换模型
  • Alt+M:打开 model picker
  • Ctrl+P:循环当前角色模型
  • Alt+P:临时替换模型
  • Shift+Tab:切换 thinking effort
  1. 管理会话
   /resume
   /rename
   /new
  1. 打开设置
   /settings
  1. 查看 subagent
   Alt+A
   /hub
  1. 启用 Advisor
   /advisor on
  1. 配置 TTSR

编辑:

   ~/.dash/rules.yml
  1. 查看 skills 与注入项目说明
   /skills
   /init
   /think
   /focus

适用场景与注意

DASH 适合已经在用 dsh CLI 的开发者,尤其是希望在终端里同时处理:

  • 多模型角色
  • 会话恢复与时间回溯
  • 官方 agent presets
  • subagent 管理
  • rules、skills、项目说明
  • oh-my-pi 风格编辑体验

使用前注意:

  • DASH 以当前 dsh 进程权限运行
  • 安装前应检查源码与许可证
  • 本插件许可证为 MIT
  • 社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系,不要把它理解成官方应用商店

结尾

DASH 的重点不是另起一套智能体后端,而是把 DSH 的官方 agent、session、preset、command registry 和 streaming 能力放进一个终端 TUI 里。如果你希望在日常终端中使用更接近 oh-my-pi 的交互习惯,可以从仓库源码开始审查,再决定是否启用。

GitHub:https://github.com/songqikong/dash

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜