dsh-devpanel:DeepSeek Harness 终端与 AI 输出工具箱

前言

在 DeepSeek Harness (DSH) 的 Web 控制台开发中,开发者常面临终端交互受限、难以实时追踪 AI 生成的文件以及缺乏全链路行为统计的问题。dsh-devpanel 作为一个开发者工具箱插件,直接在浏览器控制台中提供了真实的多标签 PTY 终端以及 AI 输出文件浏览器。它不依赖复杂的构建流程,通过挂载 Remote 命名空间和注入样式表,为 DSH 增加了原生终端的交互体验和可视化的工作流追踪能力。

插件定位

  • 名称:dsh-devpanel
  • 维护者:lispking
  • 核心价值:在浏览器端复刻原生终端体验,并打通 AI 工具调用与文件变更的关联,提供双维度(AI + 终端)的行为统计。

核心功能

该插件通过三个主要面板增强 DSH 控制台:

1. 真实 PTY 终端面板

终端面板停靠在编辑器下方,提供类似原生 Shell 的环境。

  • 真实会话:在会话的工作目录中启动系统登录 Shell ($SHELL,回退到 /bin/sh),并正确导出 TERM 环境变量,确保 git、ls 等命令的彩色输出和提示符正常渲染。
  • 多标签管理:支持新建标签页、关闭单标签页、关闭全部。关闭最后一个标签页会销毁面板,重新打开则初始化新的默认标签。
  • 原生行为:支持选中文本复制、Cmd/Ctrl+Shift+V 粘贴、clear 命令,并能正确处理多字节 UTF-8 输出,避免乱码。
  • 进程控制:可以向前台进程组发送 SIGINT、SIGTERM、SIGKILL、SIGTSTP 和 SIGHUP 信号,或终止捕获的进程树(附带 2 秒宽限期)。
  • 增量输出:浏览器通过轮询 read 接口获取增量输出,主机端维护 1MB 的滚动缓冲区,确保长输出不会导致内存溢出。

2. AI 输出文件侧边栏

右侧侧边栏列出当前会话中 AI 写入或编辑的文件,以及 Shell 命令产生的文件。

  • 来源追踪:收集 AI 工具的 write/edit 调用产生的文件(去重,按首次出现排序),并解析 Shell 命令输出中的路径进行验证。
  • 多格式渲染:支持语法高亮、Markdown 渲染、图片预览,并提供全屏查看模式。

3. 双维度使用统计面板

通过模态覆盖层展示 AI 和终端的活动数据。

  • 数据维度:合并 AI 活动侧(Token 消耗、调用次数、模型分布、响应时长)与终端活动侧(会话数、提交命令数、运行时长)。
  • 可视化:包含概览卡片、每日双系列趋势图、年度活动热力图。
  • 持久化:历史会话索引通过 ctx.sessionQuery 最佳尝试回放,并持久化到 DSH_HOME/devpanel/usage-v1.json。
  • 导出:支持调用和终端详情的 CSV/JSON 导出。

其他特性

  • 会话作用域 CWD:终端和相对文件读取均基于会话的项目目录(回退至用户主目录或主机 CWD)。
  • 双语 UI:内置简体中文和英文字典,注册在 toolkit 命名空间下。
  • 干净生命周期:插件卸载时会终止所有活动的 PTY 会话,清理注入的样式表和 Remote 命名空间。

架构设计

插件采用客户端/主机分离的双面架构,通过 Typert Remote 边界通信:

  • 主机端:提供 TerminalPanelService(管理 PTY 会话、滚动缓冲区)和 UsageService(处理 session/event 火箭筒、持久化统计)。
  • 客户端:通过挂载 TYPERT_REMOTE 命名空间,注册三个插槽:conversation.session.header.utilities(操作图标)、details(文件侧边栏,优先级 -10 覆盖默认详情页)、conversation.composer.dock(终端对话框)。

安装与启用

目前未提供具体的安装命令。可以通过以下链接获取插件源码或目录信息:

典型用法

  1. 终端交互:在 DSH 控制台顶部工具栏点击终端图标,启动多标签终端。手动输入命令,或启动后台进程(如 python server.py),观察实时增量输出。
  2. 文件浏览:在 AI 编写代码或修改配置后,点击控制台顶部工具栏的侧边栏图标,查看右侧列出的所有 AI 生成或修改的文件,支持预览图片和代码高亮。
  3. 工作统计:点击控制台顶部的统计图标,打开模态面板,查看 Token 消耗、模型分布以及终端运行时长,并导出 CSV 分析数据。

适用场景与注意

  • 适用对象:需要在浏览器中深度调试代码、频繁查看 AI 输出文件、或需要量化分析 AI 与终端协作效率的开发者。
  • 注意事项:
    • 插件以当前 DSH 进程的权限运行,涉及文件读写和进程控制,安装前应检查源码与许可证。
    • 插件的生命周期与会话绑定,插件卸载时会终止所有活动的 PTY 会话,请勿在会话中运行关键任务后再卸载插件。
羽毛球分组比赛记分
小程序二维码

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

小夜