← 返回列表
✓ 可直接安装
📚 dsh-library
自动检查通过:npm 包已发布且 engines 声明满足基线(声明 Node ^22.19.0 || >=24.0.0);该结论来自程序自动检查,未经人工实机验证。 · 最近上游提交 2026/9/19 · 已提供中文文档
DeepSeek Harness 的本地文档知识库:library_add/remove/list,混合语义+关键词的 library_search,具备多样性重排序、相关性过滤和避免中间迷失,引用感知注入,library_cite_check 和 library_diagnose —— 通过存储域支持的 SQLite 索引,本地嵌入,零模型下载。
综合分
36.6
GitHub 分
36.6
用户评分
—
★ Stars
10
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add dsh-librarynpm 包 dsh-library 已校验归属本仓库,走 npm 安装最省事
数据截至 2026/9/19(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查✓ 自动检查通过
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-library @ 0.2.11
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/12 22:13:25
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-attachment@deepseek-ai/cordis@deepseek-ai/cordis-plugin-include@deepseek-ai/cordis-plugin-loader@deepseek-ai/dsh-agent@deepseek-ai/dsh-commands@deepseek-ai/dsh-fs@deepseek-ai/dsh-fs-local@deepseek-ai/dsh-llm@deepseek-ai/dsh-session@deepseek-ai/dsh-storage@deepseek-ai/dsh-storage-domain用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
📚 dsh-library
- 1024 商店渠道:先执行一次 npm i -g dsh1024,然后执行 dsh1024 plugin --profile web add dsh-library(计入 deepseek1024.com 安装排名)。
Gitee
DeepSeek Harness 的本地文档知识库。
导入、检索、验证——带引用的混合搜索,你的智能体可以核查。
License
DSH plugin
dsh-doctor
Node
CI
Version
npm version
npm downloads
English · 简体中文 · Español · Português · हिन्दी
兼容性
| 界面 | 状态 |
|---|---|
| Harness | DeepSeek Harness dsh-v0.1.6-alpha.2(2026-09-18 验证:双类型检查标尺 + 89 项测试 + 自包含/产物门禁;peer 范围 >=0.1.2-rc.1 =0.1.5-alpha.1 =0.1.6-0 =24.0.0 |
| 存储 | 任意存储域后端(JSON 或 SQLite);索引位于宿主的存储域中 |
| 模型 | 无需任何模型——内置嵌入器为确定性哈希(零下载) |
你将获得
dsh-library 将本地 md/txt 文档转变为可查询的知识库,并配备你的智能体可以信赖的质量流水线:
- library_add / library_remove / library_list —— 按路径导入文档(分块并嵌入),通过清除验证移除文档(将已移除内容的签名与剩余索引进行探测比对,并报告任何残留),以及列出文档元数据。
- library_search — 混合语义 + 关键词排序、最大边际相关性多样性重排、相关性过滤,以及避免中间迷失(最强的块被固定到头部和尾部)。使用 inject: true 时,结果页会被注入到调用方 agent 中;每个命中项都带有一个 [n] 来源标记,并且该注入可从 library/inject 会话事件重建(受宿主门控;参见权限与数据)。
- library_cite_check — 通过模糊 token 匹配和语义相似度检查,将答案中的 [n] 引用与搜索结果页进行核对。
- library_diagnose — 块大小直方图、近似重复块对、自检索探针,以及中间惩罚信号。
- /library — 每个库的一行索引摘要。
document ── library_add ─▶ chunk (sliding window) ─▶ embed (hash / external cmd)
│
storage domain (documents / chunks / purges)
│
query ── library_search ─▶ hybrid score ─▶ MMR re-rank ─▶ relevance filter
│ ─▶ lost-in-middle order
▼
result page with [n] markers ── inject: true ─▶ agent + library/inject event (host-gated)
快速开始
1. install the bundle into your profile
dsh plugin --profile web add "github:PerryLink/dsh-library#main"
or from npm (published releases)
dsh plugin --profile web add dsh-library
2. restart and verify the row
dsh --profile web --dump-config | grep -A2 'id: dsh-library'
然后让 agent 导入并使用一个文档:
Add ./docs/spec.md to library docs, then answer: what does the spec say about retries? Cite [n] markers.
安装与卸载
- git 渠道(最新的 main):dsh plugin --profile web add "github:PerryLink/dsh-library#main" — prepare 脚本仅使用生产依赖进行构建。
- npm 渠道(已发布的版本):dsh plugin --profile web add dsh-library。
- tarball 渠道:在本仓库中运行 pnpm pack,然后运行 dsh plugin --profile web add ./dsh-library-.tgz。
- 卸载:dsh plugin --profile web remove dsh-library(或从 profile patch 中移除该行)。
如果 pnpm 针对此包报告 ERR_PNPM_IGNORED_BUILDS(esbuild 无害的平台二进制校验),请将 allowBuilds: { esbuild: true } 添加到你的 pnpm-workspace.yaml 中 — dsh CLI 会打印出确切的代码片段。
配置
所有可调项都是 Schemastery Config 字段(可从 cordis.yml 更改)。针对 id 的覆盖会替换整行 — 请重新声明你需要的每个键。cordis.patch.yml 内联记录了每个键。
| 键 | 默认值 | 含义 |
|---|---|---|
| chunkSize | 900 | 以字符为单位的滑动窗口块大小(≤ 4000) |
| chunkOverlap | 120 | 连续窗口之间的重叠量;必须小于 chunkSize |
| maxFileBytes | 5242880 | 大于此大小的文件在 library_add 时会被拒绝 |
| embedding.dims | 256 | 哈希嵌入维度(≥ 8) |
| embedding.provider | hash | 嵌入器后端:hash(内置,零下载)、command(外部子进程,需要 embedding.command)或 ollama(本地 Ollama,不可达时探测并降级为 hash) |
| embedding.command | '' | 可选的外部嵌入器命令(以空格分隔的 argv,无 shell),通过 ctx.subprocess 运行;设置它会选择 command 提供程序 |
| embedding.ollamaUrl / ollamaModel | http://127.0.0.1:11434 / nomic-embed-text | 用于 ollama 提供程序的本地 Ollama 端点 + 模型(零云端) |
| embedding.timeoutMs / graceMs / maxOutputBytes / maxBatchItems | 30000 / 1000 / 1048576 / 64 | 嵌入器子进程预算 |
| search.topK | 8 | 完整流水线后返回的结果数 |
| search.hybridWeight | 0.6 | 0 = 仅关键词,1 = 仅语义 |
| search.minRelevance | 0.15 | 低于此相关性阈值的块会被过滤掉 |
| search.diversityLambda | 0.5 | MMR 权衡:1 = 纯相关性,0 = 纯多样性 |
| search.lostMiddleHead / lostMiddleTail | 1 / 1 | 最强的块固定到头部 / 尾部 |
| search.maxResultChars | 16000 | 面向模型的结果页面的字符预算 |
| injection.enabled / maxChars | true / 12000 | library_search 注入行为和预算 |
| citation.windowChars / minScore / minSemantic | 150 / 40 / 0.1 | library_cite_check 阈值 |
| purge.signatureLength / maxProbes | 4 / 24 | 清除验证签名和探测预算 |
| diagnose.maxDuplicatePairs / sampleCap / positionBins | 24 / 200 / 5 | library_diagnose 预算上限 |
工具与界面
| 工具 | 说明 |
|---|---|
| library_add | { path, library, name? } → 文档 ID;文件通过 harness 文件系统服务读取 |
| library_remove | { library, documentId } → 移除摘要 + 清除判定(报告残留) |
| library_list | { library? } → 文档元数据(从不包含文本) |
| library_search | { query, library, topK?, inject? } → 带 [n] 标记的排序命中;inject: true 会为调用代理播种 |
| library_cite_check | { library, query, answer } → 逐条引用的有效/无效判定(模糊 + 语义) |
| library_diagnose | { library } → 块统计、重复项、自检索、中间惩罚 |
| /library [name] | 命令:按库的文档/块摘要 |
权限与数据
- 权限:该插件仅读取你在 library_add 中指向的文件(通过 harness 文件系统服务及其策略),并写入其自身的 dsh_library 存储域。无网络请求;可选的外部嵌入器通过 ctx.subprocess 运行,不进行 shell 解释。
- 数据:分块文本和嵌入存放在宿主机的存储后端中(与部署的其他持久数据具有相同的信任级别);该插件不添加任何加密。文档路径和嵌入永远不会进入会话日志。
- 会话日志:library/inject(id、query、chunk ids、page size)和 library/purge(verdict)是仅记录日志的审计事件——模型可见的注入页面可从这些事件重建。追加操作由宿主机门控:已知类型集合覆盖该词汇表的 harness 会收到这些事件,ignorable 信封构建会带标记收到它们,而无信封构建(0.1.1-rc.2、0.1.2-rc.1)会跳过追加——在那里,已记录的 tool/call + tool/result 事件仍是可重建的审计追踪。
0.1.2-rc.1(适配于 2026-09-02):会话信封保留其 ignorable 字段,仅用于已存储日志的读取兼容性——Session.append 仍无法为其加盖该标记,因此审计门控行为保持不变。
安全边界
- 默认本地。 零模型下载、零网络调用——评分是确定性哈希和 token 数学运算。只有显式配置的 embedder 命令才会运行代码,且其协议会进行完整性检查并限制输出上限。
- 不捏造。 引用检查报告的是流水线能够验证的内容;失败的修复和可疑的引用会被如实呈现,绝不猜测。
- 清除经过验证。 library_remove 会用被移除内容的确定性签名探测剩余索引,并报告残留,而不是假定成功。
- 大声失败。 无效的库名称、过大的文档、不可读的文件,以及已配置但缺失的 embedder 接缝,都会以明确的错误使调用失败。
已知限制
- 词汇级嵌入。 内置哈希 embedder 评分的是表面相似度,而非含义;对改述的检索质量低于真正的嵌入模型——配置 embedding.command(任意子进程 embedder)或 embedding.provider: ollama(本地 Ollama 嵌入模型)以获得更强的语义。
- 本地引用模型。 library_cite_check 是针对搜索结果页面([n] 编号)进行验证,而不是针对自由形式的来源名称;模糊评分是有界的 token 序列部分比率。
- 无摄取流水线。 文档必须按路径导入(md/txt);PDF/docx 提取不在 v0.1.0 的范围内。
- 宿主机门控的审计事件。 library/inject / library/purge 仅在能够承载它们的 harness 上追加(见权限与数据);在已发布的 0.1.2-rc.1 系列上(与更早的无信封系列一样),它们不会被追加,且每个事实都可从工具调用/结果日志中重建。
开发
pnpm install # node ^22.19 || >=24
pnpm run typecheck # tsc: src + tests against the local harness checkout
pnpm run typecheck:ci # tsc against the published 0.1.5-rc.2 types (no paths)
pnpm test # vitest: quality ports, core vocabulary, real-stack assembly
pnpm run build # tsdown bundle + tsc declarations (lib/)
pnpm run verify:self-contained # 依赖规格从注册表解析
pnpm run verify:artifacts # 构建后的 ESM 产物 + bundle 补丁已就位
pnpm pack # 发布的 tarball
主题
dsh、dsh-plugin、deepseek-harness、deepseek、cordis、rag、knowledge-base、retrieval、embedding、vector-search、citation-validation、document-library
贡献者
- @PerryLink — 创建者与维护者:八个质量端口、存储域索引、混合检索流水线、引用/清除验证,以及五种语言的文档。
PerryLink DSH 插件家族
本项目是由 PerryLink 维护的 40 个 DeepSeek Harness 插件之一。如果这个对你有帮助,其他的很可能也一样:
| 插件 | 一句话简介 |
|---|---|
| dsh-auto-review | 审批链上的第二模型自动审查,默认故障关闭 | |
| dsh-background-agents | 持久化的后台子代理,带 Web UI 侧边栏、消息传递与中断 | |
| dsh-budget | DeepSeek Harness 的成本治理:预算、碳排与延迟集于一个面板。 | |
| dsh-checkpoint-rewind | 等同于 Claude Code /rewind:快照、会话分叉、一键恢复 | |
| dsh-claude-move | 将 Claude Code 会话、记忆、技能与 CLAUDE.md 迁移到 DSH | |
| dsh-click | DeepSeek Harness 的跨平台原生桌面控制——Windows 优先。 | |
| dsh-composer-history | Web 编辑器的终端风格输入历史:方向键、Ctrl+R 搜索 | |
| dsh-data-quality | 数据集质量检查与引用交叉核对(此处消费的可选数值桥接) | |
| dsh-defend | DeepSeek Harness 的提示注入、越狱与密钥泄露防御。 | |
| dsh-doublecheck | 工程纪律守卫:需求拷问、测试门禁、对抗性审查 | |
| dsh-draw | DeepSeek Harness 的统一静态图像生成路由。 | |
| dsh-fast | DeepSeek Harness 的只读性能诊断。 | |
| dsh-fund-research | 面向中国公募基金的确定性研究报告 | |
| dsh-github | DSH 的 GitHub PR/issue 集成,每次写入均由审批把关 | |
| dsh-industry-research | 行业研究编排,通过本插件的 ctx.researchReport.assemble 封存其交付物 | |
| dsh-local-ai | 面向 DeepSeek Harness 的本地模型(Ollama)集成。 | |
| dsh-lsp-actions | 基于语言服务器的 LSP 诊断、格式化、补全、代码操作与重命名 | |
| dsh-mask | PII 脱敏中间件:在模型边界处匿名化,在展示层还原 | |
| dsh-mcp-panel | 只读 MCP 运行时面板:/mcp 命令 + 设置选项卡,显示状态、工具与错误 | |
| dsh-memento | 需审批的跨会话记忆:ctx.memory 接缝 + SQLite + memory 工具 | |
| dsh-observe | 面向 DeepSeek Harness 的 OpenTelemetry 与 Langfuse 可观测性导出器。 | |
| dsh-output-styles | 与 Claude Code outputStyles 等效的运行时风格切换 | |
| dsh-permission-rules | Claude Code 风格的声明式 allow/deny/ask 权限规则,带审计 | |
| dsh-personal-directive | 带顶栏开关的个人指令注入器(框架版) | |
| dsh-plugin-guide | 以按需智能体技能形式提供的插件开发知识库 | |
| dsh-plugin-doctor | 面向 DSH 插件的零依赖静态 + 沙箱冒烟检测器 | |
| dsh-reach | 多渠道审批/提问桥接:微信/Telegram/飞书,会话控制台 | |
| dsh-research-report | 可验证的研究报告引擎:内容寻址的证据账本与封存版本 | |
| dsh-score | 面向 DeepSeek Harness 插件的多维度质量评分。 | |
| dsh-session-pin | 在 Web 侧边栏中固定会话,并保持持久排序 | |
| dsh-session-sync | 面向 DeepSeek Harness 的跨设备会话同步——你的会话存储的专用 git 镜像。 | |
| dsh-skill-pack-security | 安全审计技能包:密钥扫描、依赖与供应链审查 | |
| dsh-talk | 面向 DeepSeek Harness 的语音优先会话循环:与它对话,听它回答。 | |
| dsh-test-drive | 针对 DeepSeek Harness 插件的隔离式安装与冒烟测试驱动。 | |
| dsh-ticktick | TickTick/滴答清单任务桥接:会话头部面板 + 11 个工具 |
| dsh-translate | 针对 DeepSeek Harness 的厂商参数转换与确定性 JSON 修复。 | |
| dsh-wechat | 微信 ↔ DSH 桥接(腾讯 iLink 机器人):文本/图片/文件/语音,在聊天中审批 |
| dsh-autotier | 自动进行强/廉价模型层级路由,具备确定性风险防护和 /tier 命令 | |
| dsh-catalog | PerryLink 系列的 DSH Desktop Market 标准目录源 | |
| dsh-cert-mcp | 只读 MCP 服务器,暴露认证注册表:等级、快照和五维证据 | |
| dsh-kit | 一键安装核心系列插件的入门包 | |
| dsh-plugin-certification | 社区认证注册表,具有可复现检查的等级和徽章 | |
| dsh-plugin-kit | 用于 PerryLink DSH 插件的共享零运行时依赖工具包 | |
| dsh-plugin-portal | 零依赖静态门户,将整个插件系列渲染为一个页面 | |
| dsh-plugin-upgrade-015 | 合并的 0.1.3-alpha.1 → 0.1.5-rc.1 升级通道卡片,外加一个零依赖接缝扫描器 | |
| dsh-team-rooms | 跨会话团队房间:共享消息总线、任务板和时线 | |
从 DSH Desktop Market 安装
所有 PerryLink 插件均可在内置的 DSH Desktop Market 中浏览:Market → Sources → add source → paste https://perrylink-dsh-catalog.perrylink.workers.dev/catalog-source.json → select it。安装仍会经过 Market 的 npm 身份验证和你的确认。
许可证
Apache License 2.0 © 2026 dsh-library contributors扫码进群