前言¶
在 DeepSeek Harness(DSH)里做智能体或日常对话时,会话里常会 present 出图片、视频或文件,链接和参考资料也会散落在不同线程里。这些内容默认跟会话走,换会话或隔几天再找,往往要在历史记录里翻。若你希望「所有会话交付过的东西」有一个统一入口,并在侧边栏按类型检索,就需要把产物从会话上下文里抽出来,单独建索引和存储。
下面介绍社区插件 dsh-artifacts(维护者 modusensus,GitHub 仓库 modusensus/dsh-artifacts)。它在 DSH 左侧边栏增加「产物」入口,按内容 SHA-256 去重,支持自动收集、手动收藏,以及模型可调用的 save_artifact 工具。社区目录 skillhub.cn 上的条目 将其归类为「记忆」类插件;DSH 生态侧重「一切皆插件」,该目录为独立站点,与 DeepSeek / 幻方无官方从属关系。
这是什么¶
dsh-artifacts 是 DSH 的「全局产物收藏夹」:跨会话收纳图片、视频、文件和链接。npm 包名 dsh-artifacts,当前版本 0.2.1(见仓库 package.json),许可证 MIT,运行环境要求 Node.js >= 22。
解决的问题可以概括为:把分散在各会话里的交付物汇总到 ~/.dsh/artifacts/(默认,可配置),用索引和分类 UI 查询,而不是每次回到原会话里找。
核心功能¶
下列能力均来自仓库 README 说明。
浏览与检索¶
侧边栏面板提供五个分类:全部 / 图片 / 视频 / 文件 / 链接,各分类带计数,并支持关键词搜索。
自动收集¶
会话中通过 present 交付的图片、视频、文件会自动入箱,按 SHA-256 内容去重;同一份内容多次交付,磁盘只存一份。
视频展示¶
视频卡片显示首帧缩略图,点开可在灯箱中播放。
历史回填¶
首次启动时可在后台扫描历史会话日志,把过去 present 过、且磁盘上仍存在的文件一并收入产物库。回填策略与范围可通过配置控制(见下文)。
手动收藏¶
支持收藏链接、Ctrl+V 粘贴图片、上传文件。README 注明:上传走 base64,单文件上限 25MB;present 自动收集与回填的尺寸上限为:图片 / 文件 ≤ 50MB,视频 ≤ 200MB。
模型工具 save_artifact¶
插件向宿主注册工具 save_artifact,模型可在会话中主动把链接或工作区文件收进产物;同一链接或同一份内容不会重复入库。
卡片操作¶
支持打开(图片灯箱 / 链接新标签 / 文件查看)、复制、下载、删除。浏览器无法预览的类型会转为下载。
安装与启用¶
官方推荐从 npm 安装到 DSH profile(profile 常用 pnpm 管理,npm 亦可)。<profile> 一般为桌面版的 ~/.dsh/profiles/desktop。
# 1. 装进 profile(profile 用 pnpm 管理,npm 亦可)
cd <profile> # 例如 ~/.dsh/profiles/desktop
pnpm add dsh-artifacts
# 2. 在 profile 的 package.json 里把包登记进 bundle 列表
# dsh.profile.bundles 数组追加一项 "dsh-artifacts"
# 3. 重启 DSH
装完后 dsh-artifacts 落在 <profile>/node_modules/ 下,无需额外软链。
若从源码部署,README 给出 git clone、在 node_modules 下建立目录链接,并在 package.json 的 dependencies 与 dsh.profile.bundles 中登记 dsh-artifacts 的步骤;完成后执行 pnpm install --ignore-scripts 并重启 DSH。安装前建议阅读仓库源码与 MIT 许可证:插件在 当前 DSH 进程权限 下运行,会读写配置的存储目录并扫描会话日志。
配置¶
在 profile 使用的 cordis.patch.yml 中,找到 dsh-artifacts 项,在其 config 下设置:
| 键 | 默认值 | 说明 |
|---|---|---|
root |
~/.dsh/artifacts/ |
存储目录 |
backfill |
once |
历史回填:once 首次启动扫一次 / always 每次启动都扫 / false 关闭 |
backfillDays |
0 |
只扫最近 N 天会话日志,0 表示不限 |
backfillMaxFiles |
500 |
单次回填最多扫描多少个会话日志(按 mtime 降序) |
示例:
- id: dsh-artifacts
name: dsh-artifacts
config:
root: ~/.dsh/artifacts/
backfill: once
backfillDays: 30
存储布局(README):
~/.dsh/artifacts/
├── index.json # 元数据索引
├── files/
│ └── <sha256><ext> # 按内容哈希落盘
└── backfill.json # 回填进度标记
宿主还注册 HTTP 路由:GET /api/dsh-artifacts(列表、统计、添加链接、上传、改注、删除)与 GET /api/dsh-artifacts/file/<id>(内容访问;白名单校验,仅索引中登记的文件可读)。
典型用法¶
让模型收藏链接或工作区文件¶
在会话中,模型可调用 save_artifact,参数示例(来自 README):
// 收藏一条链接
{ "kind": "link", "url": "https://example.com/doc", "title": "参考文档", "note": "第 3 章有用" }
// 收藏工作区里的文件
{ "kind": "file", "path": "reports/summary.md", "title": "周报" }
人工侧栏操作¶
安装并重启后,在左侧边栏打开「产物」:用分类和搜索浏览自动入库的 present 交付物;需要时粘贴图片、上传文件或添加链接。首次启用且 backfill 为 once 时,后台会把符合条件的历史交付补进库(仍要求文件在磁盘上存在)。
适用场景与注意¶
适合谁:长期在 DSH 里产出图表、报告、链接参考资料,并希望跨会话统一检索的开发者或智能体使用者;需要模型在对话中「顺手归档」时,可依赖 save_artifact。
边界(README 已知限制):
- 自动收集只覆盖
present交付;聊天里直接贴出但未present的图片不会自动入箱,可让模型调用save_artifact。 - 回填只收录磁盘上仍存在的文件,已被清理的交付不会入库。
- 上传与自动收集有不同的体积上限(见上文)。
安装插件即扩展 DSH 的文件与网络访问面,请在信任维护者与审阅代码后再用于敏感环境。
结尾¶
dsh-artifacts 把 DSH 会话交付物和手动收藏集中到侧边栏「产物」里,用去重存储和历史回填降低「找上次那张图 / 那个文件」的成本。若要查看分类与简介,可打开 SkillHub 目录页;安装、配置与 API 细节以 GitHub 仓库 README 为准。