最新资讯
dev.to 让模型改写文档前,先量化事实保真度 dev.to 回放 153 个 Claude Code 与 Codex 会话,审计 Agent 的生产影响范围 dev.to 银行 77 意图分类最便宜 LLM:GPT-6.1 Terra 每次成功任务 $0.000727 theinformation.com Chesky的副业:Airbnb向CEO新设AI实验室出售IP theverge.com OpenAI 宣布数据中心项目不再与公职人员签署保密协议 dev.to NVIDIA 发布四个开放 Cosmos 3 仿真模型 dev.to 真实 MCP 客户端击穿我们服务器的五种方式 theverge.com Airbnb 正在开发 AI 旅行 agent,计划 2027 年上半年推出 wechat 这可能是美国AI最魔幻的一天。 nytimes.com 美众议院共和党领袖要求 Nvidia 黄仁勋闭门简报 pub.towardsai.net 忘掉我:为记忆而设计的系统中的删除难题 marktechpost.com Google 发布 Gemini Omni 1.2 Flash:15 秒视频,每秒 0.07 美元
多元动态
登录 注册
大模型 GitHub · @thedotmack

claude-mem v13.34.2 修复 observer 会话 prompt 缓存复用回归

原文 我的收藏

claude-mem 发布 v13.34.2 补丁,修复自 v13.29.0 引入的 worker 回归:该回归在每次请求前裁剪 observer 对话历史,把已发送过的消息原地替换为 stub,导致 OpenRouter、Gemini 等按前缀缓存 prompt 的 provider 无法复用缓存。本次改动移除共享 HTTP provider 的历史裁剪逻辑,使同一 generation 内已发送消息保持不变,summary 请求仍能看到原始 tool payload。请求仍受 observer 上下文窗口、输出上限和溢出回收机制约束;因不再压缩旧 payload,generation 会更早达到大小预算、长会话回收更频繁。官方称未在生产环境测量成本影响,未对节省做任何声明。验证方面,history-pruning 测试 9 项通过,含两项新增回归测试;共享 provider 相关 881 项测试中 880 项通过,唯一失败为 socket 时序断言,在未修改的 v13.34.1 上同样失败。

AI推荐理由 官方 release notes 明确说明修复了 v13.29.0 起引入的 worker 回归:共享 HTTP provider 在每次请求前裁剪 observer 历史,导致 OpenRouter、Gemini 等按前缀缓存 prompt 的 provider 无法复用缓存。改动是移除裁剪逻辑,并附有回归测试(40 次 observation + summary、200 事件跨代验证)。局限在于:这是单一开源项目的补丁级修复,影响面限于使用该工具 observer 会话的开发者;release notes 自述未在生产环境测量成本影响,也未声称节省。

62

正文

Official release notes (https://github.com/thedotmack/claude-mem/releases/tag/v13.34.2) This patch removes a worker regression that broke prompt-cache reuse for observer sessions on the providers that share the OpenAI-compatible HTTP observer loop, such as OpenRouter and Gemini. ## What was wrong Since v13.29.0 (PR #3151), the worker pruned the observer's conversation history before every request. Once a tool-use exchange fell out of the most recent eight messages, its payload was replaced in place with a short stub marked `pruned="true"`. That kept each request smaller, but it also rewrote messages the provider had already received. From the fifth observation of a session onward, every request changed an earlier message, so the conversation no longer started with the same bytes as the request before it. Providers that cache a prompt by its prefix could not reuse the cached conversation and had to read the rewritten part again as new input. ## What changed The shared HTTP provider no longer prunes history. The import and both per-turn calls are gone: the one before each observation request and the one before each summary request. Within a generation, a message that has been sent is now sent again unchanged, so each request extends the previous one and the summary request still sees the original tool payloads. ## What stays the same Requests are still bounded by the limits that were already in place: - The observer conversation is still recycled into a new generation when it reaches its size budget, which comes from the observer context window (`CLAUDE_MEM_OBSERVER_CONTEXT_WINDOW`) and the last reported context token count. - A context-overflow error from a provider still recycles the conversation and continues. - The output cap (`CLAUDE_MEM_OBSERVER_MAX_OUTPUT_TOKENS`) and the cleanup after a rejected request are unchanged. - Model routing, retries, and billing behavior are unchanged. Because old payloads are no longer shrunk, a generation reaches its size budget in fewer turns than it did in v13.29.0 through v13.34.1, and long sessions recycle more often. The effect on provider cost has not been measured in production, so this release makes no claim about savings. ## Validation - `tests/history-pruning.test.ts` passes (9 tests). Its two new regression tests keep a deep copy of every request as it was sent. The first runs 40 observations and a summary and checks that each request begins with the previous request's messages, unchanged. The second drains 200 events across several bounded generations, checks the same thing within each generation, and confirms that request size stays under the bound. - 880 of the 881 tests in the 63 test files that cover the shared provider, the individual providers, and observer recycling pass. The one failure is a socket-timing assertion in `tests/worker/field-deadline-wire.test.ts`. It fails the same way on unmodified v13.34.1 and exercises the field-compression path, which this release does not change. - Root and viewer type checks, the postinstall allowlist guard, and the version-consistency and plugin-distribution tests on the built tree pass. `build-and-sync` succeeded, including a verified local worker restart on v13.34.2, and the built worker bundle no longer contains the pruning code. Repository README (current repository documentation, not release changes)         🇨🇳 中文 • 🇹🇼 繁體中文 • 🇯🇵 日本語 • 🇵🇹 Português • 🇧🇷 Português • 🇰🇷 한국어 • 🇪🇸 Español • 🇩🇪 Deutsch • 🇫🇷 Français • 🇮🇱 עברית • 🇸🇦 العربية • 🇷🇺 Русский • 🇵🇱 Polski • 🇨🇿 Čeština • 🇳🇱 Nederlands • 🇹🇷 Türkçe • 🇺🇦 Українська • 🇻🇳 Tiếng Việt • 🇵🇭 Tagalog • 🇮🇩 Indonesia • 🇹🇭 ไทย • 🇮🇳 हिन्दी • 🇧🇩 বাংলা • 🇵🇰 اردو • 🇷🇴 Română • 🇸🇪 Svenska • 🇮🇹 Italiano • 🇬🇷 Ελληνικά • 🇭🇺 Magyar • 🇫🇮 Suomi • 🇩🇰 Dansk • 🇳🇴 Norsk Persistent memory compression system built for Claude Code. Quick Start • How It Works • Search Tools • Documentation • Configuration • Troubleshooting • License Claude-Mem seamlessly preserves context across sessions by automatically capturing tool usage observations, generating semantic summaries, and making them available to future sessions. This enables Claude to maintain continuity of knowledge about projects even after sessions end or reconnect. --- ## Quick Start Install claude-mem for Grok Bot: ```bash npx claude-mem install --ide grok-bot ``` Grok Bot has no host hooks, so we watch the chat log files. Default is CMEM Pro, the hosted memory. Local observer is opt-in: `--provider host`. Installing this plugin does not install Cursor. **Awareness push pilot (LFG + Orifice):** needle observations (`decision`, `bugfix`, `security_alert`, `sensitive`) are appended as dated `- YYYY-MM-DD [awareness] …` lines into that bot's `memory/log/YYYY-MM.md`. Grok Bot already re-reads the log from disk. This does not write `profile.md`, user-memory, or project memory. Disable with `CLAUDE_MEM_GROK_BOT_AWARENESS_ENABLED=false`. Install with a single command: ```bash npx claude-mem install ``` The installer sets everything up first, then asks you to sign in to claude-mem in your browser (email magic link — no card required). Signing in provisions a memory key for your account and unlocks the **claude-mem observer** with a **30 Day Free Trial**: memory runs off-plan, so you get up to 100% more usage from your plan. When the free trial ends, memory automatically falls back to your Anthropic plan unless you subscribe. After sign-in you pick your memory provider — the claude-mem observer, your own OpenRouter or Gemini key, or your Anthropic plan. Prefer to skip the sign-in? Pass an explicit `--provider` flag, set `CLAUDE_MEM_ONLINE_OPTIN=false`, or run in CI/non-interactive shells — the installer completes without any account interaction. Or install for OpenCode: ```bash npx claude-mem install --ide opencode ``` Or install for **T3 Code** (Codex and Claude Code providers): ```bash npx claude-mem install --ide t3code ``` The installer discovers T3 Code's enabled providers, registers native Claude-Mem plugins in their configured homes, and supports T3-managed Codex. Restart T3 Code, trust the provider's hooks when prompted, and start a new thread. See the [T3 Code integration guide](https://docs.claude-mem.ai/t3code-integration) for custom server settings, status, and removal. Or install for Antigravity CLI ([setup guide](https://docs.claude-mem.ai/antigravity-cli/setup)): ```bash npx claude-mem install --ide antigravity ``` Or install for OMP (Oh My Pi): ```bash npx claude-mem install --ide omp ``` Or install the native Pi extension or DeepSeek Harness plugin: ```bash npx claude-mem install --ide pi npx claude-mem install --ide dsh --dsh-profile tui ``` Pi and DeepSeek Harness use the worker runtime. See [native harness setup](docs/native-harness-integrations.md) for capture, recall, and troubleshooting. Or install from the plugin marketplace inside Claude Code: ```bash /plugin marketplace add thedotmack/claude-mem /plugin install claude-mem ``` Restart Claude Code. Context from previous sessions will automatically appear in new sessions. > **Note:** Claude-Mem is also published on npm, but `npm install -g claude-mem` installs the **SDK/library only** — it does not register the plugin hooks or set up the worker service. Always install via `npx claude-mem install` or the `/plugin` commands above. ### 🦞 OpenClaw Gateway Install claude-mem as a persistent memory plugin on [OpenClaw](https://openclaw.ai) gateways with a single command: ```bash curl -fsSL https://install.cmem.ai/openclaw.sh | bash ``` The installer handles dependencies, plugin setup, AI provider configuration, worker startup, and optional real-time observation feeds to Telegram, Discord, Slack, and more. See the [OpenClaw Integration Guide](https://docs.claude-mem.ai/openclaw-integration) for details. **Key Features:** - 🧠 **Persistent Memory** - Context survives across sessions - 📊 **Progressive Disclosure** - Layered memory retrieval with token cost visibility - 🔍 **Skill-Based Search** - Query your project history with mem-search skill - 🖥️ **Web Viewer UI** - Real-time memory stream at the worker URL printed on startup - 💻 **Claude Desktop Skill** - Search memory from Claude Desktop conversations - 🔒 **Privacy Control** - Use `` tags to exclude sensitive content from storage - ⚙️ **Context Configuration** - Fine-grained control over what context gets injected - 🤖 **Automatic Operation** - No manual intervention required - 🔗 **Citations** - Reference past observations with IDs through the worker API or view all in the web viewer --- ## Documentation 📚 **[View Full Documentation](https://docs.claude-mem.ai/)** - Browse on official website ### Getting Started - **[Installation Guide](https://docs.claude-mem.ai/installation)** - Quick start & advanced installation - **[Usage Guide](https://docs.claude-mem.ai/usage/getting-started)** - How Claude-Mem works automatically - **[Search Tools](https://docs.claude-mem.ai/usage/search-tools)** - Query your project history with natural language - **[Cloud Sync](https://docs.claude-mem.ai/cloud-sync)** - Back up your memories to cmem.ai — no daemon, the worker syncs on write ### Best Practices - **[Context Engineering](https://docs.claude-mem.ai/context-engineering)** - AI agent context optimization principles - **[Progressive Disclosure](https://docs.claude-mem.ai/progressive-disclosure)** - Philosophy behind Claude-Mem's context priming strategy ### Architecture - **[Overview](https://docs.claude-mem.ai/architecture/overview)** - System components & data flow - **[Architecture Evolution](https://docs.claude-mem.ai/architecture-evolution)** - The journey from v3 to v5 - **[Hooks Architecture](https://docs.claude-mem.ai/hooks-architecture)** - How Claude-Mem uses lifecycle hooks - **[Hooks Reference](https://docs.claude-mem.ai/architecture/hooks)** - 7 hook scripts explained - **[Worker Service](https://docs.claude-mem.ai/architecture/worker-service)** - HTTP API & Bun management - **[Database](https://docs.claude-mem.ai/architecture/database)** - SQLite schema & FTS5 search - **[Search Architecture](https://docs.claude-mem.ai/architecture/search-architecture)** - Hybrid search with Chroma vector database ### Configuration & Development - **[Configuration](https://docs.claude-mem.ai/configuration)** - Environment variables & settings - **[Development](https://docs.claude-mem.ai/development)** - Building, testing, contributing - **[Release Branches](https://docs.claude-mem.ai/branches)** - Stable, core-dev, and community-edge branch flow - **[Troubleshooting](https://docs.claude-mem.ai/troubleshooting)** - Common issues & solutions --- ## How It Works **Core Components:** 1. **5 Lifecycle Hooks** - SessionStart, UserPromptSubmit, PostToolUse, Stop, SessionEnd (6 hook scripts) 2. **Smart Install** - Cached dependency checker (pre-hook script, not a lifecycle hook) 3. **Worker Service** - Local HTTP API with web viewer UI and search endpoints, managed by Bun 4. **SQLite Database** - Stores sessions, observations, summaries 5. **mem-search Skill** - Natural language queries with progressive disclosure 6. **Chroma Vector Database** - Hybrid semantic + keyword search for intelligent context retrieval See [Architecture Overview](https://docs.claude-mem.ai/architecture/overview) for details. --- ## MCP Search Tools Claude-Mem provides intelligent memory search through **4 MCP tools** following a token-efficient **3-layer workflow pattern**: **The 3-Layer Workflow:** 1. **`search`** - Get compact index with IDs (~50-100 tokens/result) 2. **`timeline`** - Get chronological context around interesting results 3. **`get_observations`** - Fetch full details ONLY for filtered IDs (~500-1,000 tokens/result) **How It Works:** - Claude uses MCP tools to search your memory - Start with `search` to get an index of results - Use `timeline` to see what was happening around specific observations - Use `get_observations` to fetch full details for relevant IDs - **~10x token savings** by filtering before fetching details **Available MCP Tools:** 1. **`search`** - Search memory index with full-text queries, filters by type/date/project 2. **`timeline`** - Get chronological context around a specific observation or query 3. **`get_observations`** - Fetch full observation details by IDs (always batch multiple IDs) **Example Usage:** ```typescript // Step 1: Search for index search(query="authentication bug", type="bugfix", limit=10) // Step 2: Review index, identify relevant IDs (e.g., #123, #456) // Step 3: Fetch full details get_observations(ids=[123, 456]) ``` See [Search Tools Guide](https://docs.claude-mem.ai/usage/search-tools) for detailed examples. --- ## Release Branches Stable releases ship from `main` and are published to npm. `core-dev` and `community-edge` are source-run branches for early reliability fixes and community integrations. See **[Release Branches](https://docs.claude-mem.ai/branches)** for the branch flow and non-stable run instructions. --- ## System Requirements - **Node.js**: 20.0.0 or higher - **Claude Code**: Latest version with plugin support - **Bun**: JavaScript runtime and process manager (auto-installed if missing) - **uv**: Python package manager for vector search (auto-installed if missing) - **SQLite 3**: For persistent storage (bundled) --- ### Windows Setup Notes If you see an error like: ```powershell npm : The term 'npm' is not recognized as the name of a cmdlet ``` Make sure Node.js and npm are installed and added to your PATH. Download the latest Node.js installer from https://nodejs.org and restart your terminal after installation. --- ## Configuration Settings are managed in `~/.claude-mem/settings.json` (auto-created with defaults on first run). Configure AI model, worker port, data directory, log level, and context injection settings. To include observations from every harness in Claude Code and Codex SessionStart context, set `"CLAUDE_MEM_SESSION_START_INCLUDE_ALL_SOURCES": "true"` in that file, or enable **Include all sources at session start** in the viewer settings. The default is `"false"`, which limits startup context to the current harness. The observation count limit still applies across the selected sources. See the **[Configuration Guide](https://docs.claude-mem.ai/configuration)** for all available settings and examples. ### Mode & Language Configuration Claude-Mem supports multiple workflow modes and languages via the `CLAUDE_MEM_MODE` setting. This option controls both: - The workflow behavior (e.g. code, chill, investigation) - The language used in generated observations #### How to Configure Edit your settings file at `~/.claude-mem/settings.json`: ```json { "CLAUDE_MEM_MODE": "code--zh" } ``` Modes are defined in `plugin/modes/`. To see all available modes locally: ```bash ls ~/.claude/plugins/marketplaces/thedotmack/plugin/modes/ ``` #### Available Modes | Mode | Description | |------------|-------------------------| | `code` | Default English mode | | `code--zh` | Simplified Chinese mode | | `code--ja` | Japanese mode | Language-specific modes follow the pattern `code--[lang]` where `[lang]` is the ISO 639-1 language code (e.g., `zh` for Chinese, `ja` for Japanese, `es` for Spanish). > Note: `code--zh` (Simplified Chinese) is already built-in — no additional installation or plugin update is required. #### After Changing Mode Restart Claude Code to apply the new mode configuration. --- ## Development See the **[Development Guide](https://docs.claude-mem.ai/development)** for build instructions, testing, and contribution workflow. --- ## Troubleshooting If experiencing issues, describe the problem to Claude and the troubleshoot skill will automatically diagnose and provide fixes. See the **[Troubleshooting Guide](https://docs.claude-mem.ai/troubleshooting)** for common issues and solutions. --- ## Bug Reports Create comprehensive bug reports with the automated generator: ```bash cd ~/.claude/plugins/marketplaces/thedotmack npm run bug-report ``` ## Contributing Contributions are welcome! Please: 1. Fork the repository 2. Create a feature branch 3. Make your changes with tests 4. Update documentation 5. Submit a Pull Request Claude-Mem ships from three branches: `main` (stable), `core-dev`, and `community-edge`. Only `main` is published to npm; the others are run from source. See [Release Branches](https://docs.claude-mem.ai/branches) for the strategy and local run instructions. See [Development Guide](https://docs.claude-mem.ai/development) for contribution workflow. --- ## License Claude-Mem is licensed under the Apache License 2.0. We chose Apache-2.0 because durable agentic memory should be easy to embed in developer tools, local agents, MCP servers, enterprise systems, robotics stacks, and production agent harnesses. See the [LICENSE](LICENSE) file for full details. See [docs/license.md](docs/license.md) and [docs/ip-boundary.md](docs/ip-boundary.md) for licensing scope and the open/commercial boundary. **Note on Ragtime**: The `ragtime/` directory is licensed under the **Apache License 2.0**. See [ragtime/LICENSE](ragtime/LICENSE) for details. --- ## Support - **Documentation**: [docs/](docs/) - **Issues**: [GitHub Issues](https://github.com/thedotmack/claude-mem/issues) - **Repository**: [github.com/thedotmack/claude-mem](https://github.com/thedotmack/claude-mem) - **Official X Account**: [@Claude_Memory](https://x.com/Claude_Memory) - **Official Discord**: [Join Discord](https://discord.com/invite/J4wttp9vDu) - **Author**: Alex Newman ([@thedotmack](https://github.com/thedotmack)) --- **Built with Claude Agent SDK** | **Works with Claude Code** | **Made with TypeScript** --- ### What About CMEM? CMEM is a token created by a 3rd party but officially embraced by the creator of Claude-Mem (Alex Newman, @thedotmack). The token acts as a community catalyst for growth and a vehicle for bringing CMEM to the developers and knowledge workers that need it most. Official BASE CA: 0x76b1967eec0ccaeb001bbbb2b40dc4badba31ba3

来源报道 · 1 篇 · 以下链接均前往原始媒体

← 返回精选动态 原文

更多内容