前言¶
在使用 DSH(DeepSeek Harness)进行开发时,AI 负责生成内容,人工负责管理。这些产出(方案、分析、规格等)容易散落在工作区中,几天后很难找到。dsh-asset-library 插件提供了一层资产管理体系,用于发现、整理、管理和复用这些 AI 产物。它不作为一个独立软件存在,而是像 Finder 之于 macOS,集成在 DSH 的体验中。
核心功能¶
四轴归纳与本地存储¶
插件将 AI 产出归类为本地 Markdown 文件。它支持按四个维度归纳资产:时间、文件类型、会话和项目。默认存储路径为 <DSH_HOME>/asset-library/。
资产发现与评分¶
插件会扫描工作区,识别 AI 产出文件(而非依赖、源代码或脚手架文件),并根据以下标准打分(0-100):
- Markdown 结构(标题层级、段落):+20
- 标题完整性:+10
- 目录存在(≥3 个小标题):+10
- AI 语言特征(如“以下是”、“综上”、“方案”):+20
- 来自工作区顶层:+30
新鲜度(生成后时间)仅用于排序,不进入推荐分。硬性排除项包括 node_modules、.git、dist、package.json、LICENSE、凭据、图片、压缩包和源代码。
状态管理与侧栏交互¶
资产状态流转为:草稿 -> 已确认 -> 已归档。
* 草稿:自动扫描进来的条目。
* 已确认:用户主动保存的条目。
* 已归档:详情页中手动切换的条目。
侧栏(右侧 25%)每 15 秒扫描一次。检测到新资产时,侧栏会自动展开,允许保存或忽略,而不打断对话。
安装与启用¶
使用以下命令安装插件:
dsh plugin --profile web add /path/to/dsh-asset-library
安装后,侧栏会出现“素材库”入口。也可以访问 <dsh web 地址>/ext/asset-library/ 打开独立的管理页。
典型用法¶
斜杠命令¶
在会话输入框中直接使用,不进入模型请求:
/save:保存上一条助手回复。/save <标题>:保存并指定标题。/save note <正文>:直接保存笔记。/save list [关键词]:列出素材并过滤。
模型工具¶
插件提供工具供模型调用:
asset_save_file:保存文件(文本内联正文;二进制/超大文件仅登记路径)。asset_save_snippet:保存文本片段。asset_list:列出资产(支持按轴、项目、关键词过滤)。asset_overview:总览视图。asset_read:读取资产全文。
HTTP API¶
提供标准 HTTP 接口:
GET /ext/assets/list:列表查询(支持分页)。POST /ext/assets/register:登记资产。GET /ext/assets/<id>:元数据。GET /ext/assets/<id>/content:元数据 + 全文。GET /ext/assets/<id>/file:下载文件。PATCH /ext/assets/<id>:更新资产。DELETE /ext/assets/<id>:删除资产。
注意:出于安全考虑,所有写操作以及读取正文仅限本地回环来源。
Markdown 阅读器¶
资产详情页直接渲染 Markdown 内容(标题、列表、代码块等),支持长文档自动目录。标题 ≥4 个时自动生成目录。
配置¶
通过 cordis.patch.yml 覆盖配置项:
- id: asset-library
config:
rootDir: /your/library # 默认 <DSH_HOME>/asset-library
autoCollect: true # 默认 true
maxPerTurn: 20 # 单轮自动采集上限
mutationTools: [write, edit] # 视为文件变更的工具名
maxInlineBytes: 262144 # 正文内联上限(字节)
技术细节与限制¶
依赖管理¶
该插件的 dependencies 为空。这是为了避免与宿主 DSH 版本冲突,防止 pnpm 装入不匹配的副本导致启动失败。
实现方式¶
- 侧边栏:通过 DOM 注入实现(DSH 暂未开放共享模块槽位)。
- 管理页:独立页面,非原生面板。
- 文件监听:无文件系统监听。外部改动需手动刷新或重启。
结语¶
dsh-asset-library 将 AI 产出沉淀为可检索、可管理的资产。通过四轴归纳和本地存储,它解决了内容散落的问题。安装后即可在 DSH 侧边栏或管理页使用。