dsh-memory-archiver:在记忆目录内免审批写文件的 DSH 插件

dsh-memory-archiver 是 imaused 维护的 DSH 插件,用来解决现有沙箱配置无法表达的诉求:DSH 文件沙箱只有 read-only / workspace-write / danger-full-access 三档,不支持额外可写根;审批策略只有 ask / never,没有 allow-always,所以"只让记忆归档免审批、其余照旧审批"没法用配置实现。插件提供 memory_archive、memory_index、memory_patch、memory_supersede 四个工具,走 node:fs 直接写文件,因此不进文件沙箱也不触发审批,同时把可写范围硬校验在 allowedRoots 内,越界(含 ..、junction、symlink 逃逸)一律拒绝,且只写 .md、不含删除能力。默认根为 ~/.dsh/memory,可通过 DSH_MEMORY_ROOTS 环境变量或 cordis.patch.yml 的 allowedRoots 扩展。覆盖与就地更正前会自动备份到 <记忆目录>/.backup/,并提供 backupRetentionDays(默认 30)与 backupMaxBytes(默认 0 不设限)两个保留策略键。安装需从源码打包或指向目录:npm pack 后 dsh plugin --profile <profile> add file:<tgz 绝对路径>,装完重启 DSH 并新开会话。插件运行在 DSH 主进程内、不受文件沙箱约束,安装前应检查源码与许可证(README 声明 MIT)。配套插件 dsh-kb-lite 负责带引用地检索这些记忆根,memory_supersede 写下的 status: superseded 会在检索中降权。

阅读全文