DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

apoclota /

apoclota/dsh-task-lens

Verified

Always-on draggable task lens for DeepSeek Harness: local, zero-token step reconstruction and focused progress UI.

★ 1 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@074a59f7

dsh-task-lens

English | 中文

装在 DeepSeek Harness 里的「任务透视」插件:结合你的请求、AI 计划、工具调用和错误还原任务步骤, 把 AI 正在做的事翻译成人话,用状态灯和进度条告诉你现在到哪一步,并把踩过的坑记下来给下一次任务用。 不调用模型,不额外消耗 token。

dsh-task-lens

你会得到

  • 步骤跟着任务走——先识别你让它做的是绘图、编码、文档、数据、调研还是配置,再给出对应步骤。 例如画图会依次显示「构思构图与配色 → 绘制边框与轮廓 → 铺设底色 → 涂色 → 调整光影 → 导出」, 编码则显示「定位问题 → 阅读代码 → 修改代码 → 补充测试 → 运行测试 → 检查构建 → 整理结果」。 编码、配置和一般任务还会从实际工具操作里还原步骤:区分前后端、合并同一区域的连续写入、补上尚未 发生的验证步骤;也会读取 AI 的思考内容与编号计划,推进到当前那一步,不额外调用模型。
  • 工具调用说人话——pwsh、read、grep、edit、web_fetch… 全部翻成「正在运行测试」 「正在修改 login.tsx」「正在搜索『submitting』」这样的中文动作,命令、文件、搜索词都带你到现场。
  • 带星体的真实进度条——优先使用 AI 写下的任务清单;没有清单时按当前步骤在计划中的位置推进, 一轮正常结束时归 100%,中止时不会假装完成。完成段有彩色流光和从左向右流动的星星,进度原点使用 轻轻摇动的 DeepSeek 娘图片,完成后整段变绿。
  • 状态灯一眼分辨——进度条旁只有一盏灯:读取、搜索、分析是蓝色;写入、修改、安装是黄色; 运行、测试是青色;完成是绿色;出错或连接中断是红色。步骤行内不再放灯,避免到处都是亮点。
  • 主面板只留三步——始终聚焦「已完成 / 正在做 / 下一步」,不用在长列表里找当前位置;简洁模式 也保留这三行。下面还有一行会随思考更新的「思路」摘要,每个阶段只留一句话。每一步带出具体动作、 代码首行、命令或目标文件,ops_bash 会显示命令、脚本、目录和超时。把鼠标放上去可看完整内容, 密钥会自动打码。
  • 详情页看完整步骤——点「详情」先用一段较长的思路摘要解释当前判断和下一步,再列出全部步骤、 每步状态和详细动作;不展开原始思考过程。做前后端编码时能直接看到读取了哪些文件、改了哪一层、 测试和构建是否已经补上。
  • 进度会继续走——编码拆成 7 个阶段,文档、数据、调研、配置等拆成 6–7 个阶段;当前阶段内再按 工具调用数量与耗时推进,长命令执行时也不会长时间停在同一个百分比。运行中追加要求时会重新预估, 进度先按新增工作量回调,再随新的工具操作继续增长。
  • 常驻面板——启用后一直显示;没有任务时进入待命状态,不会消失。默认浮在输入框上方; 按住标题栏即可拖动到任意位置,位置会被记住,双击标题栏恢复默认。多线程或窄窗口会自动缩窄并 限制高度(最多 55% 屏高),重复注入的面板节点会被清理,尽量不挡住主内容。
  • 详情页与设置——标题栏的「详情」包含任务翻译、当前工具、较长的思路摘要、完整步骤和最近操作; 「设置」可调面板大小、自定义宽高(320–900 × 220–900)、信息密度(简洁 / 正常 / 详细)、 5 种背景颜色,并查看当前经验,全部自动保存。
  • 收起只留重点——收起后保留状态灯、星体进度条、百分比和一句当前任务报告,随时可以再展开。
  • 错误经验自动积累——失败原因翻成中文(文件不存在 / 权限不足 / 端口占用 / 依赖没装 / 超时 / 限流 …),重复出现的会合并计数,重试成功后自动标记「已解决」并移出提示。
  • 下次任务自动避开——经验会写进 ~/.dsh/AGENTS.md 里的受管区块,宿主本来就会加载它, 所以后续会话无需你做任何事就能看到(默认上限 10 条、1200 字符,超出自动折叠)。
  • 不花 token——翻译、步骤、进度、经验整理全部是本地规则,没有模型调用、没有外部请求。

安装

桌面端:设置 → 插件,搜索 dsh-task-lens 安装,刷新页面即可。

命令行:

dsh plugin --profile web add dsh-task-lens

把 web 换成你自己的 profile 名即可(例如桌面端 profile 由应用自己管理,请在应用的插件页里装)。

装好后输入框上方会出现面板;运行任意任务时它开始工作。按住标题栏可以拖动,双击标题栏回到默认位置。

想单独看悬停详情效果,打开 assets/demo.html?hover=1;想看没有任务时的待命面板,打开 assets/demo.html?idle=1:

悬停查看步骤详情

任务详情页

设置、背景与当前经验

配置

在 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 受管区块的字符上限(控制 token 成本)
pollMs 400 面板轮询间隔(仅本地读取,不消耗 token)
keepDoneMs 120000 任务结束后保留任务数据多久,之后回到待命面板(面板不会消失)
instructionsFile $DSH_HOME/AGENTS.md 经验落地的指令文件
lessonFile $DSH_HOME/dsh-task-lens/lessons.json 经验数据文件

经验是怎么工作的

  1. 工具返回错误时,按 error.code 与错误文本归类成中文结论。
  2. 同一工具 + 同一目标 + 同一报错会合并为一条,并累计重复次数。
  3. 排序后写入 ~/.dsh/AGENTS.md 的受管区块(<!-- dsh-task-lens:begin --> … <!-- dsh-task-lens:end -->), 区块之外的内容一个字符都不会动;上限之外自动截断。
  4. 后面同一工具在相同目标上成功时,该条会被标记为已解决;只剩已解决的条目时受管区块会被完整移除。
  5. 原始记录留在 ~/.dsh/dsh-task-lens/lessons.json,方便你手动查看或删除。

不同工具、不同目录、不同报错算不同条目——不会因为一次失败就把整类工具都记成不可用。

隐私与安全

  • 所有处理都在本机完成,插件不发任何网络请求、不上传任何内容。
  • 经验里的路径会做脱敏:$DSH_HOME 与用户主目录分别折叠为 $DSH_HOME 和 ~。
  • 面板用的本地接口只接受 GET,并且要求环回地址、同源、Sec-Fetch-Site 不是 cross-site。
  • 插件是本地代码,请你自行审阅后再安装。

开发

npm test

npm test 会先对 lib/ 做语法检查,再跑无依赖的冒烟测试(伪造宿主组合、模拟会话事件, 校验任务识别、步骤计划、进度、翻译与预览脱敏、经验落盘、AGENTS.md 受管区块与接口安全)。

预览界面:直接用浏览器打开 assets/demo.html(自带演示数据,不需要宿主)。

发布:

npm publish

打 v* 标签会触发 GitHub Release 工作流(见 .github/workflows/release.yml), 需要仓库 Secret NPM_TOKEN。

许可

MIT

—/ 5

No ratings yet

Verified DSH bundle

Commit 074a59f7b6fb

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout