dsh-flykit:将 DeepSeek Harness Web 界面升级为智能体驾驶舱

前言

DeepSeek Harness (DSH) 的 Web 界面是基础,但在进行智能体开发时,通常需要更紧密地与文件系统和终端交互。默认的 Web 界面在这些场景下显得功能单薄。

dsh-flykit 插件通过扩展 dsh web,将其从简单的聊天界面转变为一个功能完备的智能体驾驶舱。它引入了文件资源管理器、真实的编码代理终端以及可搜索的模型选择器,让开发者可以在浏览器中直接管理代码和会话上下文。

这是什么

dsh-flykit 是 DeepSeek Harness 的一个插件,由 flykit-cc 维护,采用 MIT 许可证。

它的核心作用是将 DSH 的 Web GUI 升级为一个集成了开发环境的控制台。它通过插件机制在 DSH 进程中注册路由,并在浏览器端注入 React 组件,实现了文件编辑、终端交互、模型管理和特定应用(如 WhatsApp)的集成。

核心功能

文件资源管理器
插件提供文件树视图,支持通过 git ls-files 获取文件列表,或进行纯目录遍历。集成了 CodeMirror 编辑器,支持保存回磁盘。具有实时监听能力(fs.watch),当文件在磁盘上发生变化时,会自动刷新树状结构和打开的文件内容。支持 Markdown 和 HTML/SVG 预览。

真实编码代理终端
在会话的工作区中运行真实的 PTY 终端,以 xterm 视图呈现。支持 Claude Code、Pi、Codex 或普通 Shell。具备音效提示(当终端静音后发出提示音)和单独静音功能。Claude Code 终端上方会显示订阅使用情况条。

视图模式
- Agent Stage view:聚焦的终端占据面板主体,其他终端以缩略图形式显示在下方。
- Split mode:终端与文件资源管理器并排显示,最大化时覆盖整个窗口。

应用集成
支持在面板中运行 WhatsApp Web。通过宿主机器上的 Headless Chrome 实例(路径 apps/whatsapp/)运行 web.whatsapp.com,使用 Chrome DevTools Protocol (CDP) 进行屏幕投递和交互转发。

可搜索模型选择器
替换原 Shell 的模型选择框。支持搜索、提供商胶囊、收藏、最近使用和推理徽章。提供刷新 OpenRouter 目录的按钮。

状态行
在 Composer 下方显示状态(空闲/思考/运行)、轮次计时器、Git 分支信息和未暂存文件计数。

Agent 工具
为 DSH 代理提供 7 个专用工具(当 dsh-tools 存在时可用),用于控制终端:
- flykit_agent_start:启动终端
- flykit_agent_send:向终端输入文本
- flykit_agent_read:读取终端内容
- flykit_agent_wait:等待终端安静后返回输出
- flykit_agent_list:列出会话终端
- flykit_agent_stop:停止并移除终端
- flykit_agent_run:在无终端模式下运行一次静默查询

安装与启用

使用官方安装命令添加插件:

dsh plugin --profile web add github:flykit-cc/dsh-flykit

安装完成后,检查插件是否生效:

dsh --profile web --dump-config | grep flykit

启动 Web GUI:

dsh web

如需移除插件,执行:

dsh plugin --profile web remove dsh-flykit

典型用法

首次 WhatsApp 设置
在终端中进入 WhatsApp 应用目录并执行登录脚本:

cd apps/whatsapp && node wa.mjs login

这将在终端打印二维码,同时网页标签页也会显示。

Agent 工具使用
在 DSH 的代理配置中,可以调用上述工具来驱动终端。例如,flykit_agent_start 用于启动一个 Claude Code 会话,flykit_agent_send 用于发送指令,flykit_agent_read 用于获取输出。

适用场景与注意

系统要求
- Node.js 版本需 ≥ 22。
- DSH 版本需为 0.1.2-rc.1。
- 仅支持 macOS 或 Linux(Windows 不支持,因为依赖 node-pty)。
- 系统需安装 git(用于分支显示和文件列表)以及 claude、pi 或 codex 二进制文件(需在 PATH 中)。

安全注意事项
- 插件注册的路由没有任何认证机制。
- DSH Web 服务器仅绑定到 loopback(127.0.0.1)。切勿在公网暴露 dsh web 端口,否则任何人都可以访问这些接口并写入终端输入。
- 目录同步功能会直接将 OpenRouter 的模型列表写入 DSH 的设置文件中(llm-pi-ai.providers.openrouter.models),这会覆盖现有列表且无法撤销。请确保自行备份配置。

总结

dsh-flykit 通过插件化方式极大地丰富了 DSH Web 界面的功能,使其具备了文件编辑、多终端管理和模型调度的能力。适合需要在浏览器环境中进行深度智能体开发和调试的场景。更多信息可参考 GitHub 仓库。

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

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

小夜