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.yml 的 modelRoles。

常用操作:

  • 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_PROVIDER 和 DASH_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

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

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

小夜