dsh-101

DSH PLUGIN记忆与知识

仓库 bill9109/dsh-101

记忆与知识 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

DSH文档阅读模式插件,提供文档优先的阅读器界面与语料库,帮助用户高效阅读DSH文档。

验证等级 L5 L5 · 运行验证通过
GitHub 星标 6 复刻 0 · 未关闭 issue 未标注
最近更新 2026-08-14 创建于 2026-08-08
README 10.2 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:bill9109/dsh-101#v0.1.8
兼容 DSH 版本0.2.0-rc.2 等 11 个版本版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名未发布到 npm可用 npm view 查看包信息

能做什么

4 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

dsh-101:DeepSeek Harness 的文档阅读模式插件

  • 文档优先阅读界面
  • 内置DSH语料库
  • 独立profile运行
  • 支持端口自定义

适用场景

文件读写

上游标签

dshdsh-plugin

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度稳定按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

上面的结论来自上游最近一次自动化验证(2026-10-08): 同一套检查会在插件发新版后重跑,页面显示的是最新一次的逐项结果。

逐项检查结果

L1 · 已找到 ✓ 通过
  • L1.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L2 · 结构化 ✓ 通过
  • L2.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L3 · 安装规范 ✓ 通过
  • L3.1_INSTALL_COMMAND_PARSED 安装命令已解析 方式:安装规范解析
  • L3.2_DSH_VERSION_DECLARED DSH 版本已声明 方式:DSH 版本声明
L4 · 安装已测 ✓ 通过
  • L4.1_INSTALL_EXECUTED_CONFINED 受限沙盒内执行安装 方式:沙盒安装执行
  • L4.2_INSTALL_SUCCESS 沙盒安装成功 方式:沙盒安装执行
  • L4.3_ARTIFACT_CONFIRMED 安装产物已确认 方式:沙盒安装执行
L5 · 运行已测 ✓ 通过
  • L5.1_INSTALL_PASSED_SANDBOXED 沙盒安装通过 方式:沙盒安装执行
  • L5.2_WEB_BOOT_READY Web 启动就绪 方式:Web 启动
  • L5.3_HTTP_SERVED HTTP 服务响应 方式:HTTP 请求
  • L5.4_PLUGIN_INVENTORY_ACTIVE 插件清单中已激活 方式:插件清单查询

风险详情

  • 审查结论 通过
  • 结论说明 vet 静态分析未发现可疑行为,判定为干净(clean)。
  • 风险计数 严重 0 / 高 0 / 中 0
  • 风险详情 未发现严重或警告级问题。

仓库档案

记忆与知识
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方bill9109仓库 dsh-101 · 默认分支 未标注
分类记忆与知识knowledge
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言TypeScript仓库主语言
许可证BSD-3-Clause商用或二次分发前请确认条款原文
星标 / 复刻 / issue6 / 0 / 未标注收录时的数值,非实时
创建 / 更新2026-08-08 · 2026-08-14最后推送 未标注
本站收录2026-08-14首次进入本站目录的时间

README 全文

10.2 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-101 — DSH 文档优先阅读器 profile bundle




安装: bash <(curl -fsSL https://raw.githubusercontent.com/bill9109/dsh-101/main/scripts/install.sh) github:bill9109/dsh-101#v0.1.7

DSH 101 文档阅读器 profile bundle:构建于 dsh-base + dsh-web-app 之上的文档优先阅读界面,把 DSH 自带文档整理成一份有顺序、可检索、可翻译的阅读器。

English | 中文

为什么需要它

DSH 自带大量文档,但原始形态就是一坨文件:散落在源码树各处,没有顺序、没有检索、读起来也不舒服。dsh-101 把这些文档变成 DSH 体验的一等公民——一份经过整理、有顺序、可检索、可翻译的阅读器,而不是裸文件;右侧的对话面板就在旁边,边读边问。

实现能力

  • 整理了 DSH 自带的文档,分门别类,有一定的顺序
  • 自带文档翻译能力
  • 有一个滑动式隐藏目录
  • 对话在右侧

使用

启动 profile(默认端口 3081,与 3080 的 web GUI 并存):

dsh --profile dsh-101

打开 http://127.0.0.1:3081(或你指定的端口):阅读器展示整理好的语料,带滑动式目录;搜索可以过滤文档,翻译可以切换阅读语言,右侧面板就是你熟悉的 DSH 对话。

安装

本仓库同时包含 bundle(@bill9109/dsh-101,可 dsh plugin add)和
profile/ 目录(完整的 dsh-101 profile 组合:dsh-base + dsh-web-app +
本 bundle)。DSH 官方模型是"分发 bundle、用户组合 profile",官方没有分发 profile
的命令,但 profile 本质是 $DSH_HOME/profiles// 下的一个目录 —— 仓库的
profile/ 就是可直接使用的 profile 内容。

推荐:一键脚本(把 profile/ 放到 ~/.dsh/profiles/dsh-101/ 并安装 bundle):

# 从 GitHub 安装(建议 pin 到 tag/commit):
bash <(curl -fsSL https://raw.githubusercontent.com/bill9109/dsh-101/main/scripts/install.sh) github:bill9109/dsh-101#v0.1.7

# 或从本地 checkout 安装,并指定端口(默认 3081):
./scripts/install.sh --port 3081 .

# 启动:
dsh --profile dsh-101

脚本做的事:把 profile/ 的三个文件放进 $DSH_HOME/profiles/dsh-101/(已有则只补
缺失的 dsh-base/dsh-web-app 层),触发 DSH 模块回退(供运行时解析内置 peer),
然后 dsh plugin --profile dsh-101 add 安装本 bundle。

纯手动:

mkdir -p ~/.dsh/profiles/dsh-101
cp profile/package.json profile/pnpm-workspace.yaml ~/.dsh/profiles/dsh-101/
# 可选:端口 patch
cp profile/cordis.patch.yml ~/.dsh/profiles/dsh-101/
# 安装 bundle(会追加到 bundles 列表)
dsh plugin --profile dsh-101 add github:bill9109/dsh-101#v0.1.7
dsh --profile dsh-101

验证 bundles 列表应包含三层:

python3 -c "import json; print(json.load(open('$HOME/.dsh/profiles/dsh-101/package.json'))['dsh']['profile']['bundles'])"
# 期望:['@deepseek-ai/dsh-base', '@deepseek-ai/dsh-web-app', '@bill9109/dsh-101']

> 不要装进 web profile。 dsh-101 的 bundle 会禁用 ui-layout(默认浏览器外壳),
> 装进 web-app 系 profile 会连坐搞挂 web(sidebar / conversation / app-shell 全部等待
> layout 服务而 pending,web 起不来)。dsh-101 请始终作为独立 profile 使用
> (dsh --profile dsh-101,默认 3081 端口,可与 3080 的 web 并存)。install.sh
> 已对 --profile web 直接拒绝。

端口

默认 3081(与 3080 的 web GUI 并存)。两种改法:

启动时临时指定(推荐,不改配置,dsh 0.1.0-rc.6+):

dsh --profile dsh-101 --port 8080

改 profile 配置(持久化默认端口):

# ~/.dsh/profiles/dsh-101/cordis.patch.yml
- id: webserver
inject: [webStartup]
config:
host: !!js ctx.webStartup.host ?? '127.0.0.1'
port: !!js ctx.webStartup.port ?? 8080

(启动参数优先;patch 里的值只是回退默认。)

> Git 安装与构建产物。 lib/ 已提交到本仓库,所以 git 安装直接拿到构建好的
> host + client bundle —— 无需构建、无需授权。若在构建前从全新 clone 安装,
> 先运行 node scripts/build.mjs(需要 DSH 源码 checkout,见下)。

升级

用新的 pin tag 重跑一键脚本:

bash <(curl -fsSL https://raw.githubusercontent.com/bill9109/dsh-101/main/scripts/install.sh) github:bill9109/dsh-101#v<新版本>

本地 checkout 安装则对更新后的 checkout 重跑 ./scripts/install.sh .(脚本只补缺失的
层,profile 现有状态不会丢)。DSH 发布新快照后,用 node scripts/upgrade.mjs 从升级后的
checkout 同步 bundle 源码(见「从更新的 DSH 快照升级」)。

卸载

dsh plugin --profile dsh-101 remove @bill9109/dsh-101
# 如果不再需要这个独立 profile:
rm -rf ~/.dsh/profiles/dsh-101

第一条命令在 profile 目录执行 pnpm remove 并从 dsh.profile.bundles 移除该 bundle;
第二条删除独立 profile 本身。

故障排查

症状 解决
安装 dsh-101 后 web GUI(3080)起不来 / sidebar 一直 pending dsh-101 被装进了 web profile,禁用了 ui-layout —— 把 @bill9109/dsh-101 从 web profile 移除,再用一键脚本把 dsh-101 装成独立 profile
dsh --profile dsh-101 启动失败 确认 $DSH_HOME/profiles/dsh-101/ 存在且 bundles 列表包含三层(dsh-base、dsh-web-app、@bill9109/dsh-101);缺层就重跑 install.sh
端口 3081 被占用 启动时加 --port,或在 profile 的 cordis.patch.yml 里持久化别的默认端口
GitHub 安装失败或装到旧代码 把安装 pin 到 tag(github:bill9109/dsh-101#v0.1.7),或从本地 checkout 安装(./scripts/install.sh .)
文档缺失或过期 从 DSH 源码 checkout 重新生成语料:DSH_CHECKOUT=/path/to/dsh node scripts/build.mjs --corpus
DSH 发布新快照后出问题 用 node scripts/upgrade.mjs --checkout /path/to/upgraded-dsh 同步源码并重建

目录结构

src/
app/        主机插件:语料服务 + /api/dsh101 路由(来自 dsh-101-app)
app/invariant.ts
core/       语料模型:加载、合并、搜索(来自 dsh-101-core)
tutor/      主机插件:模型工具、curator 技能(来自 dsh-101-tutor)
client/     浏览器端:阅读器外壳(来自 dsh-101-app/src/client)
invariant.ts
assets/dsh-101/   生成的语料(corpus.json + documents/ + images/)
cordis.patch.yml  bundle 补丁:挂载 app(包根)+ tutor(./tutor 子路径)
profile/          开箱即用的 dsh-101 profile(package.json + pnpm-workspace.yaml + cordis.patch.yml)
scripts/
install.sh            一键 profile 安装脚本(install.sh --port  )
build.mjs             针对 DSH checkout 构建 host + client bundle
gen-dsh-101-corpus.ts 从 DSH 源码树重新生成语料
upgrade.mjs           从升级后的 DSH checkout 同步源码 + 重建
verify-i18n.mjs       双语 README 一致性检查(node scripts/verify-i18n.mjs)

构建

bundle 的 peer 依赖从 DSH 安装解析 —— 可以是源码 checkout(DSH_CHECKOUT),
也可以是运行中 DSH 的模块回退($DSH_HOME/profiles/node_modules)。工具链
(tsc、tsdown)优先取 DSH 源码 checkout。

DSH_CHECKOUT=/path/to/dsh node scripts/build.mjs
# 重新生成语料后构建:
DSH_CHECKOUT=/path/to/dsh node scripts/build.mjs --corpus

build.mjs 把 DSH 的 peer 软链进 node_modules,依次运行 tsc(类型输出到
types/)和 tsdown(host bundle + client bundle 输出到 lib/),结束后移除软链。

> 通常不需要构建。 lib/ 已提交,dsh plugin add(GitHub / tarball / 本地
> checkout)安装的都是构建好的 bundle。只有开发本仓库或执行 upgrade 同步后才需要构建。

重新生成语料

语料是 DSH 仓库文档的快照。从任意 DSH 源码 checkout 重新生成(使用该 checkout 的 tsx):

DSH_CHECKOUT=/path/to/dsh node scripts/build.mjs --corpus
# 或显式指定:
/path/to/dsh/node_modules/.bin/tsx scripts/gen-dsh-101-corpus.ts /path/to/dsh

从更新的 DSH 快照升级

DSH 仓库发布新快照后,从升级后的 checkout 同步本 bundle:

node scripts/upgrade.mjs --checkout /path/to/upgraded-dsh

脚本会:把 101 各包的源码复制到 src/ → 将内部 import 改写为相对路径 → 重新生成
语料 → 重建。之后审查 diff、提交、升版本号并打 tag:

git add -A && git commit -m "sync with DSH "
git tag v0.2.0 && git push origin main --tags

开发与验证

pnpm install
pnpm run build       # tsc + tsdown -> lib/(已提交)
pnpm run gen-corpus  # 从 DSH 源码树重新生成语料(需要 DSH_CHECKOUT)
node scripts/verify-i18n.mjs   # 双语 README 一致性

pnpm run build 把 host + client bundle 生成到 lib/,lib 已提交,消费方安装无需构建。
保持双语 README 同步:改 README.md 和 README.zh.md 任一侧都要同步另一侧,然后
node scripts/verify-i18n.mjs --write 重新记录 blob hash。

社区与关于

License

BSD-3-Clause

常见问题

7 问
答案由本站依据条目字段整理,不引用上游原文
dsh-101 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:bill9109/dsh-101#v0.1.8` 即可。

dsh-101 的验证等级是什么意思?

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-101 安全吗?

低风险。vet 静态分析未发现可疑行为,判定为干净(clean)。

dsh-101 支持哪些 DSH 版本?

上游记录的兼容版本包括 0.2.0-rc.2、0.2.0-rc.1、0.1.7-rc.2、0.1.7-alpha.2、0.1.6-alpha.2、0.1.6-alpha.1、0.1.5-rc.2、0.1.3-alpha.2。版本较多,只列出前 8 个。

dsh-101 用的是什么许可证?

上游标注为 BSD-3-Clause。商用或二次分发前请到仓库确认许可证原文。

dsh-101 有哪些功能?

文档优先阅读界面、内置DSH语料库、独立profile运行、支持端口自定义。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

记忆与知识
按星标排序,可作替代方案

ruflo

ruflo

L3 · 安装规范通过 7.4 万 星

OpenViking

OpenViking

面向 DeepSeek Harness 的 OpenViking 记忆与上下文插件:pre-step 自动召回与画像注入、会话捕获、`vik

L3 · 安装规范通过 3.9 万 星

WeKnora

WeKnora

把 WeKnora 知识库接入 dsh 的四个只读工具:列出知识库、混合检索原文片段、按顺序还原单篇文档,以及直接取用 WeKnora 自己

L4 · 沙盒安装通过 3.3 万 星

distilly

distilly

Distilly — Distill how they think into reusable Skills for any Agent o

L4 · 沙盒安装通过 2.5 万 星

EverOS

EverOS

L4 · 沙盒安装通过 1.3 万 星

MemOS

MemOS

L4 · 沙盒安装通过 1.2 万 星

bill9109 的其它插件

4 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 2026-10-08。