前言¶
DeepSeek Harness (DSH) 允许开发者构建智能体,但其默认输出以日志流的形式呈现,缺乏交互性。开发者需要一个在终端中直接与智能体交互、处理审批和问题的界面。Talon UI 是一个 DSH 插件,它提供了一个全交互式的终端会话,将流式转录、工具审批、用户问题和斜杠命令集成在终端中。
是什么¶
Talon 是一个终端 UI 插件,专为 DeepSeek Harness (dsh) 智能体设计。它将原本的日志流转化为一个交互式终端会话,让开发者能够实时查看流式输出、审批工具执行、回答用户问题以及管理会话。该插件由 awnlight 维护,采用 MIT 许可证。
核心功能¶
Talon UI 提供了以下核心能力:
- 启动横幅:会话打开时显示版本、活动模型和工作目录,作为可滚动的转录单元格。
- 流式转录:显示带有纯文本和流式 markdown 的角色标题,支持拖拽选择复制。包含上下文注入卡片和空白行分隔。
- 语气层级:使用品牌青色区分模型,使用 dim 值区分引用值,避免单调的灰色墙。
- 审批面板:当工具请求升级权限(例如沙箱拒绝写入)时,显示工具详情、命令预览和当前目录,支持
1允许、2拒绝、Esc取消。 - 用户问题:支持单选、多选、自定义回答和序列问题,通过
ask_user_question工具实现。 - 斜杠命令:支持
/help、/status、/resume、/clear、/exit、/quit,具有模糊自动补全功能。 - 会话恢复:使用
/resume打开选择器,支持过滤、切换工作区、ISO 时间戳和持久化标记,重播转录并继续对话。 - 干净退出:使用
/exit或在空输入时按Ctrl+C/Ctrl+D退出,并打印会话 ID 以便恢复。
安装¶
在安装之前,必须确保 deepseek-harness 已构建。
cd deepseek-harness
pnpm install
pnpm run build:lib:host
构建完成后,安装插件:
cd deepseek-harness
pnpm dsh plugin --profile talon add talon-ui
用法示例¶
- 解释功能:输入 “Explain what this repository does.”,查看流式转录。
- 处理多选问题:输入 “Use ask_user_question to ask me a multi-select question with options Alpha, Bravo, Charlie.”
- 工具审批:输入 “Run exactly: touch ~/talon-demo”。如果沙箱拒绝写入,会触发审批面板。
- 会话恢复:输入
/exit退出会话,重新启动 dsh 后输入/resume并选择会话。即使工作目录已更改,转录也会重播,智能体会继续之前的对话。
注意事项¶
- 环境要求:需要 Node.js >= 22.19 和 pnpm。
- 目录结构:
deepseek-harness必须作为talon-ui仓库的兄弟目录存在。 - 终端类型:需要交互式终端(TTY)。Talon 在非 TTY 环境下会报错;自动化场景请使用
dsh --profile headless。 - 版本兼容:
talon-ui@0.2.0已针对dsh 0.1.2-alpha.1进行验证。
总结¶
Talon UI 将 DSH 智能体从单向日志流转变为全交互的终端体验,解决了在命令行中管理复杂会话的痛点。欲了解更多细节,请访问插件目录或GitHub 仓库。