
capsule-memory 部署教程Rust 编译 WASM 并接入 Astrid OS 的完整流程【免费下载链接】capsule-memoryCross-session memory. Reads local memory state and injects it into the system prompt through hooks. Part of Unicity AOS.项目地址: https://gitcode.com/gh_mirrors/ca/capsule-memorycapsule-memory 是 Astrid OS 的跨会话记忆胶囊它读取本地的memory.md记忆文件并在每次组装提示词时自动注入系统提示词让 AI Agent 在多次会话之间记得你之前说过什么。本教程带你走完整条链路用 Rust 把 capsule-memory 编译成 WASM 模块再接入 Astrid OS 运行。全程只需几条命令零基础也能跟着做。一、capsule-memory 是做什么的在 Astrid OS 的架构里这个胶囊相当于操作系统的持久交换区——把上下文搬运到会话边界之外。它的工作机制非常简洁挂接到prompt_builder.v1.hook.before_build钩子每次组装提示词时读取两类记忆文件个人记忆home://memory.md用户偏好、沟通风格始终注入项目记忆cwd://.astrid/memory.md项目约定、当前进度仅项目内注入把内容包装成# Memory章节通过appendSystemContext响应注入系统提示词文件缺失或为空时胶囊什么都不做no-op所以可以放心部署。核心逻辑见 src/lib.rs其中 MAX_MEMORY_BYTES 定义了32KB 硬上限每段记忆超过 32KB 时会在 UTF-8 字符边界处截断并追加[Memory truncated]标记防止无限制吞噬上下文窗口。二、部署前准备Rust 环境一键配齐编译 capsule-memory 只需要一个 Rust 工具链。仓库自带的 rust-toolchain.toml 已锁定好版本和目标Rust 1.94.0MSRV 1.94wasm32-unknown-unknown编译目标Rust 编写 WASM 的标准目标输出可在 WASM 运行时中加载rustfmt 与 clippy 组件如果你的机器装了 rustup进入目录后它会自动按该文件切换工具链。手动确认命令rustup target add wasm32-unknown-unknown三、部署步骤从克隆到接入的完整流程第 1 步获取源码git clone https://gitcode.com/gh_mirrors/ca/capsule-memory cd capsule-memory第 2 步Rust 编译 WASMRelease 模式这是整个部署的关键一步。执行cargo build --target wasm32-unknown-unknown --release这条命令告诉 Cargo以wasm32-unknown-unknown为目标架构做发布构建产物输出到target/wasm32-unknown-unknown/release/目录。Cargo.toml 里为 WASM 场景做了专门瘦身——release profile 配置了opt-level z体积优先压缩、lto true链接期优化、codegen-units 1和strip true编译出的 WASM 文件会非常小巧这正是 WASM 模块加载快的原因。第 3 步整理胶囊包Capsule.toml WASMAstrid OS 通过 Capsule.toml 识别胶囊。查看 组件声明[[component]] id memory file astrid_capsule_memory.wasm type executable capabilities { fs_read [cwd://, home://] }要点file字段要求的文件名是astrid_capsule_memory.wasm。Rust 编译出的 cdylib 默认带lib前缀如libastrid_capsule_memory.wasm请把它重命名为astrid_capsule_memory.wasm与Capsule.toml放在一起fs_read能力声明只允许读cwd://和home://与只读注入的设计一致权限声明 中allow_prompt_injection true是提示词注入能力的开关然后把整个目录Capsule.toml WASM 文件放入 Astrid OS 的胶囊目录OS 启动时即可加载。第 4 步写入记忆文件部署完成后胶囊每次组装提示词都会扫描两个位置记忆类型路径用途个人记忆home://memory.md用户偏好、长期事实跨所有项目生效项目记忆.astrid/memory.md当前项目的约定与进度 项目目录名.astrid可通过环境变量cwd_dir覆盖见 env 配置品牌定制发行版无需 fork 即可换名。四、部署验证与常见问题如何验证成功在memory.md写入一句话例如我偏好简洁的回答然后发起一次对话。如果 Agent 的回复体现出这条偏好说明before_build钩子 → 读取 → 注入的链路已打通。常见问题速查Agent 完全没记住检查memory.md是否存在且非空——内容为空时胶囊是静默跳过的不会报错回复末尾出现[Memory truncated]说明单段记忆超过 32KB请精简memory.md保留最关键的信息编译报目标架构错误确认执行过rustup target add wasm32-unknown-unknownWASM 没被加载确认文件名与 Capsule.toml 的file字段完全一致五、总结回顾一下 capsule-memory 的完整部署链路git clone获取源码cargo build --target wasm32-unknown-unknown --release编译 WASM重命名为astrid_capsule_memory.wasm与Capsule.toml一并放入胶囊目录维护memory.md即获得跨会话记忆整个项目代码量很小核心仅一个 lib.rs采用 MIT / Apache 2.0 双许可既可以直接部署也适合作为学习Astrid OS 胶囊如何与系统提示词流水线交互的最小样例。【免费下载链接】capsule-memoryCross-session memory. Reads local memory state and injects it into the system prompt through hooks. Part of Unicity AOS.项目地址: https://gitcode.com/gh_mirrors/ca/capsule-memory创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考