dsh-code-memory 是 Community v0.15 standard host facet。它只通过标准生命周期发布一个 /memory Command,并使用标准 storage.dsh/v1alpha1#LocalStorage 保存开关状态。
这是 trusted-in-process 插件:它与宿主运行在同一个 Node.js 进程中,能力声明不是 sandbox 或安全边界,不应被理解为隔离执行或宿主背书。
/memory:概览、list、add、show、rm、search、stats、compact、on、off、rebuild- LocalStorage:只保存一个 JSON
toggles记录;/memory on|off控制命令是否启用 - Markdown:每条记忆和
MEMORY.md索引都在文件系统中;Markdown 文件是唯一事实源,索引可从文件重建 - 关键词评分、代码路径锚点、冲突提示和 compact 报告均为本地纯算法
当前 facet 不声明标准 Tool 或 MessageObserver,也不加载宿主私有 hooks、session events 或 TUI 私有服务。
标准入口使用 process.cwd() 作为 workspace。当前实现没有标准 session/workspace context,因此不会伪造 session cwd;从不同工作目录执行命令会访问不同的 project 记忆目录。
- global:
$DSH_HOME/memory/(未设置时为~/.dsh/memory/) - project:当前 git 根目录下的
.dsh/memory/
记忆正文位于 facts/、episodes/、procedures/,MEMORY.md 是派生索引。
将包安装到支持 Community v0.15 Host facet 的宿主,并按宿主的标准插件流程启用 dsh-plugin.json。清单中的 Host 入口是 lib/index.js,必需能力是 Command 和 LocalStorage;不需要额外的宿主私有补丁。
宿主需要按 Manifest 授予 commands.invoke、storage.local.read 和 storage.local.write。权限声明用于准入、授权和审计,不构成进程或操作系统级隔离。
pnpm install --frozen-lockfile
pnpm validate:manifest
pnpm build
pnpm test
pnpm pack:verifypack:verify 会检查发布包包含 dsh-plugin.json 和 lib/index.js,且不泄漏 src、测试或文档目录。
BSD-3-Clause