前言¶
DeepSeek Harness (DSH) 是一个用于构建和调试智能体的框架。在进行长时间交互或调试会话时,默认的配置往往难以满足对流式输出、会话历史回溯以及工具调用的可视化需求。dsh-cli 是由 askdkc 维护的 DSH 插件,它提供了一个基于终端的交互式用户界面(TUI),旨在让开发者能够更直观地管理会话、查看工作状态以及调试代理行为。
核心功能¶
dsh-cli 提供了以下核心能力:
- 可视化交互与展示:支持流式 Markdown 渲染、工具调用卡片、图片、Mermaid 图表和键盘补全。界面包含像素鲸鱼动画、实时工作状态、上下文栏、TPS 仪表盘以及可点击的时间轴。
- 会话管理:支持会话的恢复、分叉、重放、后台运行以及导出。
- 生态集成:支持 DSH 预设、技能、MCP、目标、子代理、提供者认证和扩展。
- 多模型认证:支持 OpenAI、Claude、OpenCode、OpenRouter、Hermes Agent 和 Infron 的认证。
- 性能优化:针对长会话提供虚拟化渲染和有界缓存,防止内存溢出。
- 代码分析:支持可选的作用域代码分析(需通过单独的 LSP 提供商配置)。
安装与启用¶
安装该插件需要满足以下环境条件:Node.js >= 22.19.0、pnpm 11、本地 DeepSeek Harness 源码检出,以及 DEEPSEEK_API_KEY。
安装步骤如下:
- 克隆源码并初始化子模块:
git clone --recurse-submodules https://github.com/askdkc/dsh-cli.git
cd dsh-cli
pnpm install --frozen-lockfile
pnpm build
- 打包插件文件:
node scripts/with-publish-manifest.mjs npm pack --ignore-scripts
TARBALL="$PWD/askdkc-dsh-cli-$(node -p "require('./package.json').version").tgz"
- 在 DeepSeek Harness 源码目录中安装插件:
cd ~/DIR/TO/deepseek-harness
pnpm dsh plugin --profile dsh-cli add "@askdkc/dsh-cli@file:${TARBALL}"
- 启动 Harness。首次启动会在交互式界面中注册
dsh-cli命令。之后从项目目录运行dsh --profile dsh-cli即可进入 UI。
若需覆盖默认保存的路径,可设置环境变量 DSH_CLI_DSH_ROOT。插件更新时,建议重新执行打包和安装步骤,使用 file: 依赖形式以确保路径有效。
典型用法¶
- 基础操作:
Enter:发送请求。Tab:键盘补全。Ctrl+Enter:中断当前操作并发送。Esc(双击):重放会话历史。
- 命令:
/resume:打开会话管理器。/auth:连接提供者。/model:选择模型。/bg:保持会话在后台运行。
- 模型选择器:
/model seek deep:搜索模型。Ctrl+F:收藏模型。Ctrl+A:连接提供者。
- 数据迁移:
使用dsh-cli migrate命令可以导入 Claude Code、Codex、OMP、zcode 或 Grok Build 的历史对话记录。
适用场景与注意¶
- 适用场景:适合需要在终端中直接进行可视化交互、管理长会话上下文、集成代码分析功能的开发者。
- 注意:插件当前处于 Public beta 状态。安装前需确认本地已检出 DeepSeek Harness 源码。由于依赖本地文件,更新时需注意路径管理。
结语¶
dsh-cli 通过终端 UI 封装了 DSH 的核心交互流程,提供了从会话管理到可视化调试的完整工具链。更多细节可参考项目目录页或源码仓库。