返回 AI 资讯
社区讨论LinuxDo 最新

个人的 OpenCode 的跨会话记忆配置+会话内不失真压缩裁剪上下文(compact)方案

省流版 claude-mem 负责全部将细节注意记住,跨会话记忆存储当前 top 方案 magic-context 负责会话内上下文裁剪,和近期记忆保存。记忆方面不强,但是会话内保持任务目标和遵守规范行为进行进行上下文裁剪压缩 Strict-Doc 负责记录固化的项目文档文件,记忆文件。主要是方便人类进行阅读查看 AGENTS.md 添加一小段 tail 来规范行为 自制 load-mem 和 save-mem 以及 migrate-mem 的 skill 来和上面的功能进行呼应 具体配置 安装配置 claude…

内容摘要

作者:#brilliantrough 板块:#开发调优 省流版 claude-mem 负责全部将细节注意记住,跨会话记忆存储当前 top 方案 magic-context 负责会话内上下文裁剪,和近期记忆保存。记忆方面不强,但是会话内保持任务目标和遵守规范行为进行进行上下文裁剪压缩 Strict-Doc 负责记录固化的项目文档文件,记忆文件。主要是方便人类进行阅读查看 AGENTS.md 添加一小段 tail 来规范行为 自制 load-mem 和 save-mem 以及 migrate-mem 的 skill 来和上面的功能进行呼应 具体配置 安装配置 claude-mem npx claude-mem install --ide opencode 运行这个官网上的命令就能直接安装了,不过需要注意一点。这个是在 ~/.config/opencode/plugins 下面安装了一个 claude-mem.js 的插件脚本。同时对应的服务是运行在 ~/.claude/plugins/cache/thedotmack/claude-mem 的一个目录下。同时这个 claude-mem.js 只是提供了一个 search 工具。假如想要更多工具,可以在 opencode.jsonc 中配置 mcp 服务器。 { "mcp": { "claude-mem": { "type": "local", "command": ["~/.bun/bin/bun", "~/.claude/plugins/marketplaces/thedotmack/plugin/scripts/mcp-server.cjs"], "enabled": true }, } } 然后在 ~/.claude-mem/settings.json 中的配置就如下所示,大家基本都是自定义API,比如使用 NewAPI,所以初始化配置的时候选择 OpenRouter,API那里随便输入字符串就行了,可以自己去 json 文件中进行细节配置,这里的 openrouter 背后的格式就是 openai-compatible 了 { "CLAUDE_MEM_RUNTIME": "worker", "CLAUDE_MEM_PROVIDER": "openrouter", "CLAUDE_MEM_OPENROUTER_BASE_URL": "BASE URL", "CLAUDE_MEM_OPENROUTER_MODEL": "model name", "CLAUDE_MEM_CONTEXT_OBSERVATIONS": "20", "CLAUDE_MEM_OPENROUTER_API_KEY": "API Key" } 自行替换这里的路径即可,目前的 claude-mem 的插件脚本并没有注册全部 mcp 工具,要使用更多的 mcp 工具就需要把本地运行这个 mcp-server.cjs 的脚本 安装配置 magic-context curl -fsSL https://raw.githubusercontent.com/cortexkit/magic-context/master/scripts/install.sh | bash 运行这个官网提供的命令即可。 对应的配置文件为 ~/.config/cortexkit/magic-context.jsonc { "$schema": "https://raw.githubusercontent.com/cortexkit/magic-context/master/assets/magic-context.schema.json", "historian": { "opencode": { "model": "提供商/模型" } }, "execute_threshold_percentage": 65, // 模型 input 的百分比,达到 65% 开始进行记忆存储,后续还会有裁剪 "embedding": { "provider": "openai-compatible", "model": "text-embedding-3-large", "endpoint": "BASE URL", "api_key": "API KEY" }, "dreamer": { "opencode": { "model": "提供商/模型" } }, "sidekick": { "disable": true } } 配置 historian 和 dreamer 两个 Agent 的模型,这里使用 opencode.jsonc 中配置的提供商和模型即可,然后再单独配置一下 embedding 注意:一定要记得禁用 opencode 内置的 compact 功能,不然和 magic-context 冲突,opencode.jsonc 的配置如下 { "compaction": { "auto": false, "prune": false }, "plugin": [ "@cortexkit/opencode-magic-context@latest", ] } Strict Doc 配置 这个配置没啥好说的,主要是配置个 python 环境,让 Agent 去配置就行了。 定期让 Agent 更新一个项目文档,要人能够看懂,claude-mem 和 magic-context 本质是面向 Agent,面向会话上下文的,而 Strict Doc 是面向开发者用户的 Skill & AGENTS.md 配置 下面是 load-mem 的 SKILL.md --- name: load-mem description: load all memory layers (injected memory, StrictDoc project_memory, claude-mem history) plus core files to understand the project --- Build an understanding of this project from all available memory layers, then verify against core files and directory structure. **Memory layers (in priority order):** 1. **Injected project memory** — the `<project-memory>` block in your system prompt is already loaded. Do NOT re-fetch it. It is the authoritative source for constraints, config values, and conventions. 2. **File memory (StrictDoc)** — `docs/` is one StrictDoc project with two trees: `project_memory/` (memory: `decisions.sdoc` for 口径+初衷, `journal.sdoc` for progress) and `handbook/` (durable documents: specs, research, evaluations). Read the `.sdoc` files directly: - Nodes carry `UID` (stable anchor), `STATUS`, `STATEMENT` (the decision itself), `RATIONALE` (why it was made). - **STATUS discipline: only `Active` nodes are current canon.** `Deprecated`/`Superseded`/`Proposed` nodes are history — never quote them as current practice. When a node is Superseded, follow the relation to its successor. - To query precisely instead of reading everything: `strictdoc export --formats=json .` in `docs/`, then e.g. `jq '.DOCUMENTS[].NODES[] | select(.STATUS=="Active")' output/json/index.json`. 3. **Action history (claude-mem)** — a passive log of p

资讯来源

LinuxDo

原文链接

打开原文