前言¶
在 DeepSeek Harness(DSH)里跑智能体任务时,工具调用、计划文本和错误日志往往堆在侧栏或日志里。你要自己对照 read、edit、grep 和 shell 输出,才能判断「现在在做哪一步、还要多久」。社区插件生态遵循「一切皆插件」的思路,目录站 SkillHub 与 DeepSeek / 幻方无官方从属关系,但这类客户端插件可以直接改你在 Harness 里的使用体验。
下面介绍维护者 apoclota 发布的客户端插件 dsh-task-lens(当前 npm 包版本 0.1.0,GitHub 1 stars):在输入框上方提供可拖动的常驻面板,用本地规则把请求、计划、工具调用和错误翻成中文步骤与进度,不调用模型、不额外消耗 token。
这是什么¶
dsh-task-lens 是装在 DSH 里的「任务透视」插件:结合你的请求、AI 计划、工具调用和错误还原任务步骤,把 AI 正在做的事翻译成人话,用状态灯和进度条标出当前位置,并把踩过的坑记下来供后续任务参考。处理全部在本机完成,插件自述不发网络请求、不上传内容。
- 目录页:https://www.skillhub.cn/plugins/apoclota/dsh-task-lens
- 源码与说明:https://github.com/apoclota/dsh-task-lens
- 许可:MIT
核心功能¶
步骤与任务类型¶
插件会先识别任务大致属于绘图、编码、文档、数据、调研还是配置,再给出对应步骤模板。例如编码侧常见「定位问题 → 阅读代码 → 修改代码 → 补充测试 → 运行测试 → 检查构建 → 整理结果」;绘图侧则有构图、铺色、导出等阶段。编码、配置和一般任务还会从实际工具操作里还原步骤:区分前后端、合并同一区域的连续写入、补上尚未发生的验证步骤,并读取 AI 的思考内容与编号计划推进到当前步,全程不额外调模型。
工具调用中文化¶
pwsh、read、grep、edit、web_fetch 等会翻成类似「正在运行测试」「正在修改 login.tsx」「正在搜索『submitting』」的中文动作,命令、文件、搜索词会在文案里带出;ops_bash 会显示命令、脚本、目录和超时,悬停可看完整内容,密钥会自动打码。
进度与状态灯¶
进度条优先使用 AI 写下的任务清单;没有清单时按当前步骤在计划中的位置推进,一轮正常结束归 100%,中止时不会假装完成。进度条旁只有一盏状态灯:读取 / 搜索 / 分析为蓝色,写入 / 修改 / 安装为黄色,运行 / 测试为青色,完成为绿色,出错或连接中断为红色。
主面板聚焦「已完成 / 正在做 / 下一步」三行,简洁模式也保留这三行;另有随思考更新的单行「思路」摘要。点标题栏「详情」可看较长思路摘要、全部步骤与每步状态,以及最近操作,不展开原始思考全文。
编码任务拆成 7 个阶段,文档、数据、调研、配置等拆成 6–7 个阶段;阶段内还会按工具调用数量与耗时推进,长命令执行时进度不会长时间停在同一百分比。运行中追加要求时会重新预估,进度先回调再随新工具操作增长。
常驻 UI 与设置¶
启用后面板一直显示;无任务时进入待命,不会消失。默认浮在输入框上方,按住标题栏可拖动,位置会记住,双击标题栏恢复默认。多线程或窄窗口会自动缩窄并限制高度(最多约 55% 屏高)。
「设置」可调面板大小、自定义宽高(320–900 × 220–900)、信息密度(简洁 / 正常 / 详细)、5 种背景颜色,并查看当前经验,均自动保存。收起后仍保留状态灯、星体进度条、百分比和一句当前任务报告。
错误经验与 AGENTS.md¶
工具返回错误时,按 error.code 与错误文本归类成中文结论(如文件不存在、权限不足、端口占用、依赖未装、超时、限流等)。同一工具、同一目标、同一报错会合并计数;排序后写入 ~/.dsh/AGENTS.md 的受管区块(<!-- dsh-task-lens:begin --> … <!-- dsh-task-lens:end -->),区块外内容不动,超出上限会截断。后续同工具在相同目标上成功时,对应条目标记为已解决;只剩已解决条目时受管区块会被完整移除。原始记录在 ~/.dsh/dsh-task-lens/lessons.json。宿主本来就会加载 AGENTS.md,后续会话无需额外操作即可看到经验(默认上限 10 条、1200 字符,可配置)。
安装与启用¶
桌面端:打开 设置 → 插件,搜索 dsh-task-lens 安装,刷新页面即可。
命令行(将 web 换成你自己的 profile 名;桌面端 profile 由应用管理,请在应用插件页安装):
dsh plugin --profile web add dsh-task-lens
装好后输入框上方会出现面板;运行任意任务时开始工作。按住标题栏拖动,双击标题栏回到默认位置。README 还提到可用仓库内 assets/demo.html?hover=1 或 ?idle=1 预览悬停详情与待命面板(需在本地打开该 HTML)。
配置¶
在 profile 的 cordis.patch.yml 里修改(桌面端也可在插件卡片里改)。示例:
- id: dsh-task-lens
name: dsh-task-lens
config:
showPanel: true
showThinking: false
lessonsEnabled: true
lessonsMax: 10
lessonsMaxChars: 1200
| 字段 | 默认 | 说明 |
|---|---|---|
showPanel |
true |
是否注入输入框上方浮层面板(关掉后仍在后台记录经验) |
showThinking |
false |
AI 思考且尚未调工具时是否显示「正在分析下一步」 |
lessonsEnabled |
true |
是否记录错误经验并写入 AGENTS.md |
lessonsMax |
10 |
写入 AGENTS.md 的条数上限 |
lessonsMaxChars |
1200 |
受管区块字符上限 |
pollMs |
400 |
面板轮询间隔(仅本地读取) |
keepDoneMs |
120000 |
任务结束后保留任务数据多久再回待命 |
instructionsFile |
$DSH_HOME/AGENTS.md |
经验落地的指令文件 |
lessonFile |
$DSH_HOME/dsh-task-lens/lessons.json |
经验数据文件 |
典型用法¶
- 按上文安装并保留
showPanel: true(默认)。 - 在 DSH 里发起一次会触发多步工具调用的任务(例如改代码并跑测试)。观察主面板三行与状态灯、百分比是否随工具变化。
- 需要完整步骤时点标题栏「详情」;需要改密度或背景时进「设置」。
- 若希望关掉浮层但仍积累经验,将
showPanel设为false,保留lessonsEnabled: true。 - 故意触发可恢复的错误(如错误路径)后,检查
lessons.json与AGENTS.md受管区块是否按 README 描述更新;修复成功后观察「已解决」逻辑。
适用场景与注意¶
适合长期在 DSH 里做编码、配置、文档或调研类智能体任务、又希望不增加模型调用就能看清进度与最近操作的用户。插件以当前 dsh 进程权限运行,会读取会话与工具事件并在本机写 AGENTS.md 与 lessons.json;安装前请自行审阅 GitHub 源码 与 MIT 许可证。README 说明面板用的本地接口仅接受 GET,并要求环回地址、同源、Sec-Fetch-Site 非 cross-site;经验路径会脱敏为 $DSH_HOME 与 ~。包要求 Node >= 20(见 package.json 的 engines)。
结尾¶
dsh-task-lens 把 Harness 里散落的计划与工具调用收成一块可拖动的中文任务透镜:步骤、进度、详情与错误记忆都在本地规则下完成,适合作为客户端侧的进度与经验插件长期使用。更多信息见 SkillHub 目录页 与 GitHub 仓库。