Skip to content

v0.1.25 — 可作为 DSH 插件包直接安装(目录重构)

Choose a tag to compare

@ScreamingMaggot ScreamingMaggot released this 30 Sep 07:28
· 19 commits to master since this release

从"下载 zip 跑脚本"到"一条 add 命令"

此前安装只有一条路:git clone → install.ps1。实测 pnpm add github:ScreamingMaggot/rcs-context 会解析成功但写出占位清单(_pnpmPlaceholder),因为仓库根没有 package.json —— cordis 无从加载。

本版把仓库改造成合法的插件包,同时保留脚本安装路径。

改动

  • contextinjector.mjs / logcompiler.mjs / extreason.mjs → web/;toolfold.mjs → toolfold/(git mv,历史保留)
  • 新增根 package.json(声明 dsh.bundle.patch)与根 cordis.patch.yml(四条 insert,包内相对路径)
  • install.ps1 只改源路径,落位/备份/回滚逻辑未动;两个回归测试的夹具源路径同步更新

目录分成 web/ + condense/ + toolfold/ 不是随手排的:插件源码里写的是 ../condense/chunk.mjs、../toolfold/toolfold.mjs,而这个布局与装进 DSH_HOME/profiles/ 后的布局同构 —— 两条安装路共用同一份源码,零分叉。

安装

dsh plugin --profile web add github:ScreamingMaggot/rcs-context
# 再把它选进 <DSH_HOME>/profiles/web/package.json 的 dsh.profile.bundles,然后重启 dsh web

装成功并激活后,启动日志应出现四条装载行:[CONTEXTinjector] armed …、[logcompiler] v3 …、[EXTREASON] armed …、[contextinjector-webui] … ready。dsh plugin add 不会自动激活 bundle —— 少这一步就只有文件、没有加载。

验收(隔离 DSH home 实测)

路径 结果
dsh plugin add "git+file:///…/RCS" 装成 rcs-context@0.1.25,内容清单正确;选进 bundles 后四条装载行齐出
install.ps1 -DSH_HOME <隔离家> 备份 → 落位 → 补丁层四项 insert → 九条装载行,四个插件全 armed

回归测试(漂移 #11 覆盖 18 断言、toolfold 单行契约 16 断言)重构后全绿;六份 .mjs 全部 node --check 通过。

三个会花掉你时间的坑(已写进 RCS-0.1.25-改进与保留项.txt)

  1. files 白名单必须列 cordis.patch.yml —— 漏了就是"装上了但没有补丁层";
  2. dsh plugin add 不自动激活 bundle,必须手动选进 dsh.profile.bundles;
  3. 本地 git 规格要写 git+file:///C:/…(三段斜杠),少一段 pnpm 会把盘符的冒号吃掉。

另:本 bundle 刻意不关 plugin-package-inventory-deepseek。该扩展与折叠互斥只发生在 0.1.7-rc.2 一代,而 bundle 补丁无法探测扩展是否存在,对不存在的 id 做 config 覆盖不安全 —— 那一代仍由 install.ps1 按探测结果处理。