🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

能力图书馆 xuc865/dsh-librarian

DeepSeek Harness
xuc86572 天前有提交已提供中文文档扫描:含敏感能力

把完成的任务沉淀成可复用插件并登记馆藏

28.2/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add xuc865/dsh-librarian
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么[目录]—
dsh 原生插件 · other
暂无时间戳·判据 →
装得上吗[实装验证]✓
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
数据截至 2026/09/26·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/03·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 72 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 18 处,展示前 12 条)
  • 读取本地文件
    lib/index.js:158
    const body = req.method === 'HEAD' ? undefined : await readFile(MIRA_SPRITE_FILE)
  • 读取本地文件
    lib/index.js:285
    const parsed = JSON.parse(await readFile(file, 'utf8'))
  • 读取本地文件
    lib/index.js:317
    const parsed = JSON.parse(await readFile(reviewPath(cwd), 'utf8'))
  • 读取本地文件
    lib/index.js:331
    await readFile(reviewPath(cwd), 'utf8')
  • 写入本地文件
    lib/index.js:335
    await mkdir(dirname(file), { recursive: true })
  • 写入本地文件
    lib/index.js:336
    await writeFile(file, `${JSON.stringify(emptyReview(), null, 2)}\n`, 'utf8')
  • 读取本地文件
    lib/index.js:344
    const parsed = JSON.parse(await readFile(pickerPath(cwd), 'utf8'))
  • 写入本地文件
    lib/index.js:351
    await mkdir(dirname(file), { recursive: true })
  • 写入本地文件
    lib/index.js:353
    await writeFile(temporary, `${JSON.stringify(log, null, 2)}\n`, 'utf8')
  • 写入本地文件
    lib/index.js:354
    await rename(temporary, file)
  • 写入本地文件
    lib/index.js:374
    await mkdir(dirname(file), { recursive: true })
  • 读取本地文件
    lib/index.js:390
    const parsed = JSON.parse(await readFile(sessionIndexFile, 'utf8'))
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-api-remotes@deepseek-ai/dsh-cordis-client-runner
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 沉淀任务为可复用插件
  • 自动生成插件
  • 插件演进与管理

帮你自动生成、演进和管理 dsh 插件的 dsh 插件

README

由 DeepSeek 最新模型翻译生成
把一次成功的任务,登记成下一次会主动出现的能力书。 一个复古像素界面,为 DeepSeek Harness Web UI 配备动漫 Plugin 图书管理员。 📚 这是什么 DSH Librarian 是 DeepSeek Harness Web UI 的动态能力沉淀插件。 你照常在 DSH 里完成任务。任务结束后,它会判断其中是否出现了可以在不同输入上复用的稳定能力;值得保存的能力会成为原生 Cordis Plugin,并由二次元图书管理员 Mira / 米拉 登记进插件图书馆。 它不是另一个工作流画布,也不会把 50 次任务变成 50 个全局插件。新插件默认属于当前会话;只有同一稳定能力在另一个隔离会话里再次被独立需要,才允许提升为用户级馆藏。 🧭 四个关键词:长期、动态、跨会话、陪伴 - 长期:有版本、有来路,能审批、启停、回退和删除。 - 动态:随证据 split / merge / replace / compose。 - 跨会话:会话级起步,独立复用后再提升到用户级。 - 陪伴:Mira 解释加载了什么、为什么选它、现在什么状态;Host 继续负责权限。 flowchart LR A[任务完成] --> B[会话书架] B --> C{另一个会话再次需要?
展开完整文档(README 剩余 1 节)
把一次成功的任务,登记成下一次会主动出现的能力书。
一个复古像素界面,为 DeepSeek Harness Web UI 配备动漫 Plugin 图书管理员。

📚 这是什么

DSH Librarian 是 DeepSeek Harness Web UI 的动态能力沉淀插件。

你照常在 DSH 里完成任务。任务结束后,它会判断其中是否出现了可以在不同输入上复用的稳定能力;值得保存的能力会成为原生 Cordis Plugin,并由二次元图书管理员 Mira / 米拉 登记进插件图书馆。

它不是另一个工作流画布,也不会把 50 次任务变成 50 个全局插件。新插件默认属于当前会话;只有同一稳定能力在另一个隔离会话里再次被独立需要,才允许提升为用户级馆藏。

🧭 四个关键词:长期、动态、跨会话、陪伴

- 长期:有版本、有来路,能审批、启停、回退和删除。
- 动态:随证据 split / merge / replace / compose。
- 跨会话:会话级起步,独立复用后再提升到用户级。
- 陪伴:Mira 解释加载了什么、为什么选它、现在什么状态;Host 继续负责权限。

flowchart LR
A[任务完成] --> B[会话书架]
B --> C{另一个会话再次需要?}
C -->|否| B
C -->|是 · Host 校验| D[用户级馆藏]
D -. 元数据可见 .-> E[新会话]
E -->|picker 选中后| F[审批与运行]

真实运行界面:完整像素化的 DSH Web 外壳、Plugin 票根馆藏,以及右侧动态二次元 Mira 全身立绘。

🖥️ 整套 DSH Web 都是像素风

这不是只覆盖 Plugin 页面的独立皮肤。Client 启动后会给 DSH Web 宿主安装全局像素主题;即使关闭 Librarian 浮层,下面这些区域仍保持同一套黑墨、旧纸米色和珊瑚红视觉:

- 左侧品牌区、工作区、搜索与会话树;
- 顶部标题、对话 / 轨迹标签与 Session Log;
- 用户消息、Agent 回复、Think、Tool Call 和代码块;
- 底部输入框、模型选择器、权限选项与发送按钮;
- 对话区会显示运行中 / 待批准 Plugin 的像素状态小票,悬停可查看已加载名称;
- Settings、弹窗、焦点态与像素滚动条;
- 窄屏布局会缩短硬阴影并保留宿主原有的响应式结构。

主题只改变视觉层,不接管 DSH 的布局尺寸、交互语义或可访问性;Librarian 浮层仍是独立 Portal,因此米拉、馆藏票根和宿主界面可以分别迭代。

🎟️ 像素图书馆

界面采用黑墨、旧书米色与珊瑚红的像素票根风格:

- 每个 Plugin 是一张带孔票根 / 一本能力书;
- 右侧是二次元图书管理员 Mira 的动态全身立绘,保留人物轮廓、表情与服装细节,不使用方块人替身;
- 项目内置 4×2 八帧动画图,循环播放待机、眨眼和翻书,当前完整循环约 4.2 秒;
- 点击馆藏,米拉会说明能力用途、状态、作用域和 lineage;
- 通用 · 按需加载 与 本会话 · 按需加载 明确区分两层冷库;
- 运行态 Plugin 可检查源码、批准、拒绝、启停或两步删除;
- 工作流档案室、表单、模板和导入导出也统一采用像素视觉语言;
- 窄屏自动收起管理员区域,保留完整馆藏操作。

🗄️ 两层馆藏

┌─────────────────────────────────────────────────────────┐
│ USER ARCHIVE │
│ ~/.dsh/plugin-sedimentation/user-plugins.json │
│ 每个新会话可见 · 元数据冷加载 · picker 选中后才执行 │ └──────────────────────────┬──────────────────────────────┘ │ independently needed again │ confidence ≥ 0.8 ▼ ┌─────────────────────────────────────────────────────────┐ │ SESSION SHELF │ │ /.dsh/plugin-sedimentation/plugins.json │ │ 新 Plugin 的默认归宿 · 只属于当前隔离会话 │ └─────────────────────────────────────────────────────────┘

Promotion 由 Host 调用的一次性 picker 子 Agent 提议,并经过以下校验:

1. 来源 lineage 必须在 Host allowlist 中;
2. 证据必须来自不同会话;
3. reason 非空,confidence 至少为 0.8;
4. 同 lineage 但不同语义会生成 derived lineage,不覆盖旧能力;
5. 每次最多选择三个 Plugin,主 Agent 永远看不到完整源码目录。

❄️ 冷加载,而不是“看见就运行”

图书馆展示的是安全的元数据票根。DSH 启动时不会把 Plugin 源码塞进主 Agent prompt,也不会定义、激活或执行全部 Plugin。

flowchart LR
U[User turn] --> P[Host picker child Agent]
S[Session metadata] --> P
G[User metadata] --> P
P -->|0..3 selected lineage IDs| V[Host validation]
V -->|valid| L[Define / reuse / share]
V -->|no match| N[Keep catalog cold]
L --> R[Rebuild current turn tools]

当用户级 Plugin 已在另一个 Agent 中运行时,后续会话会共享同一个活动实例,记录:

{ "status": "running", "reused": true, "shared": true }

这样可以避免重复注册全局 Tool 和 host-half-failed。

🧾 Pending 的四个动作

| 动作 | 含义 |
| Inspect | 通过同源只读 no-store 接口查看不可变 Package 元数据、Host/Client 源码和权限提示 |
| Approve | 只批准并激活当前 pending Package |
| Reject | 拒绝当前审批请求,但保留 Plugin 定义、Package 历史和上一稳定版本 |
| Delete | 两步确认后永久 undefine Plugin |

🛠️ 安装

要求本机已经安装 DSH,并存在 web profile。

git clone https://github.com/xuc865/dsh-librarian.git
cd dsh-librarian
dsh plugin --profile web add .
dsh web

升级本地开发版本时,重新执行 add 并重启 Web:

dsh plugin --profile web remove @local/dsh-librarian
dsh plugin --profile web add .
dsh web --no-open

🧪 验证

npm test
node --check lib/index.js
node --check lib/client.js
npm pack --dry-run --json

当前回归覆盖:

- Plugin CRUD 与 library review 调度;
- Recipe 本地输入不会泄漏到 refinement prompt;
- Inspect / Approve / Reject / Delete 的独立语义;
- 冷目录、picker 输出验证、跨会话 promotion;
- 跨 Agent 活动实例共享;
- 同 lineage 不同语义的 derived-lineage 保护。

🧭 项目结构

dsh-librarian/
├── assets/ # README 像素素材 ├── docs/ # 实际 Web UI 截图 ├── lib/ │ ├── index.js # Host:沉淀、目录、promotion、加载策略 │ └── client.js # Client:全局 DSH 像素主题、图书馆、米拉与审批 ├── scripts/ │ ├── run-batch-experiment.mjs # 10 会话 × 5 连续追问 │ └── run-scope-regression.mjs # shared / derived-lineage 真实回归 ├── test/index.test.js ├── cordis.patch.yml └── package.json

🧠 设计原则

- Private first — 新能力先进入本会话书架。
- Evidence before promotion — 跨会话真实复用后才进入通用馆藏。
- Metadata before source — 可发现不等于已执行。
- One stable capability per book — 一本能力书只负责一件稳定的事。
- Mira explains, Host decides — UI 负责可理解,Host 负责安全边界。
- Reversible by default — 替换先 staged,验证后才退休旧版本。

相关探索

dsh-evolve 侧重从执行轨迹中提炼 Experience,并在 Agent 卡住时提醒换一种策略;Librarian 管理的是可加载、可审批、可跨会话提升的原生 Cordis Plugin。一个整理“这条路怎么走”,一个整理“这个工具以后怎么用”,两条路线可以并行。

License

MIT
预览分享卡片长什么样 ↓xuc865/dsh-librarian
分享 · DeepSeek Harness Hub
xuc865/dsh-librarian

把完成的任务沉淀成可复用插件并登记馆藏

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部