前言¶
DeepSeek Harness(DSH)的会话日志里记录了工具调用的路径信息,但现有插件打开的往往是工作区根目录,而不是「这个对话真正写过东西的地方」。同一个工作区下几十个对话,根目录里散落着各种文件,打开它等于没打开。本插件通过解析会话日志,推导出每个对话的产物目录,再从侧边栏菜单和标题栏直接打开。
插件定位¶
- 名称:dsh-open-artifacts
- 维护者:wuuuuu123-32
- 分类:记忆
- 核心价值:根据会话日志算出对话的产物目录,用资源管理器直接打开,避免手动翻找。
安装与启用¶
使用官方安装命令:
dsh plugin --profile desktop add github:wuuuuu123-32/dsh-open-artifacts
安装后必须重启 DSH,新增的插槽项不会热加载。升级时可在市场插件页点「更新」,或重跑上述命令。
核心功能¶
打开产物目录¶
侧边栏会话行的「⋯」菜单和对话标题旁各有一个入口。点击后,插件会:
- 读取该会话的日志(
~/.dsh/sessions/<工作区编码>/<会话 id>/session.v4.jsonl.zstd); - 解压并解析日志,提取写入类工具调用(
write/edit/str_replace_editor)与present声明的路径; - 按「顶层目录」归类,区分工作区内外的产出;
- 在工作区根目录的散文件(如
AGENTS.md、升级日志.md)单独列出; - 对 Blender 产物(默认
E:\AgentArtifacts\blender)按时间窗口推断目录。
结果为一个列表或直接打开。行为如下:
- 只有 1 个产物目录:直接打开,不弹窗;
- 有多个:弹列表,显示目录名、文件数、完整路径;
- 没有产物:提示「没有找到产物」,并提供「打开 Blender 产物目录」/「打开工作区根目录」两个兜底按钮;
- 想新建:弹窗页脚有「新建产物目录」,输入名字后在工作区下创建并打开(预填从标题提取的候选名)。
产物目录守门¶
为落实「一个对话一个产物目录」的约定,插件挂载 tools/pre-execute,只在一种情况拦截写入:
- 往工作区根目录新建一个非
.md文件。
拦截时返回 deny 并附带说明,指向工作区的产物目录约定,让模型自行重试。有意放行的情况包括:
- 子目录内的任何写入;
- 根目录的
*.md文件(如AGENTS.md、升级日志.md、基建备忘.md); - 已存在的文件。
更新检查¶
插件在 DSH 启动后 3 秒检查一次 GitHub Releases,与本地版本比对。有新版本时在界面右下角显示更新卡片,支持展开更新说明、跳转 Release 页面、忽略当前版本。检查结果缓存 6 小时,失败时静默跳过,不影响正常使用。
典型用法¶
- 安装并重启 DSH;
- 在任意会话上点击菜单或标题栏的「打开产物文件夹」;
- 若有多个产物目录,选择一个打开;
- 若没有产物,可点击「打开 Blender 产物目录」或「打开工作区根目录」兜底;
- 需要新建产物目录时,在弹窗页脚点击「新建产物目录」,输入名称并确认。
适用场景与注意¶
- 适合希望从会话日志自动定位产物目录的场景,避免手动翻找;
- Blender 建模产物默认放在
E:\AgentArtifacts\blender,其它对话产出仍按工作区AGENTS.md约定放在<工作区>\<主题>\; - 插件以当前 DSH 进程权限运行,安装前建议查看源码与许可证;
- 目前仅在 Windows 上验证,macOS / Linux 需要替换打开方式那一行。
总结¶
dsh-open-artifacts 通过解析会话日志,把「这个对话的产物在哪」变成一个可点击的动作,大幅减少手动翻找的时间。它既支持打开已有的产物目录,也提供新建目录的入口,并在 Blender 产物和时间推断上做了补充。如果你在 DSH 里经常需要快速定位对话产出的位置,这个插件可以作为工作流的一部分。
- 目录页:https://www.skillhub.cn/plugins/wuuuuu123-32/dsh-open-artifacts
- GitHub:https://github.com/wuuuuu123-32/dsh-open-artifacts