谁懂啊!Claude Code总失忆?这个后台代理悄悄记住所有项目上下文,写代码再也不用重复交代!
主要语言:TypeScript
stars: 1.3k
核心功能
- 增强Claude Code能力:Claude Subconscious是一个后台代理,为Claude Code提供持久记忆和智能引导。Claude Code在会话间会遗忘所有信息,而Claude Subconscious能持续观察会话记录、读取代码库、跨会话和项目记忆,并在每次提示前提供上下文、模式和提醒。
- 多会话支持:借助Letta的Conversations功能,单个Claude Subconscious代理可并行服务多个Claude Code会话,并在所有会话间共享记忆。
工作原理
Claude Code每次响应后,会话记录会通过Letta Code SDK发送给Letta代理。代理读取文件、搜索网络、更新记忆,然后在下次提示前反馈信息。具体交互如下:
- 会话开始:向代理发送新会话通知。
- 提示前:代理将引导信息注入标准输出。
- 工具使用前:若有更新,通过
additionalContext注入信息。 - 响应后:异步将会话记录发送给代理,代理读取文件并更新记忆。
安装与更新
- 从GitHub安装:
/plugin marketplace add letta-ai/claude-subconscious
/plugin install claude-subconscious@claude-subconscious
- 更新:
/plugin marketplace update
/plugin update claude-subconscious@claude-subconscious
- 从源码安装:
git clone https://github.com/letta-ai/claude-subconscious.git
cd claude-subconscious
npm install
- 启用插件:在克隆目录内执行
/plugin enable .,或全局启用/plugin enable --global .。 - Linux临时文件系统问题解决:若安装失败,可设置
TMPDIR:
mkdir -p ~/.claude/tmp
export TMPDIR="$HOME/.claude/tmp"
配置
- 必需配置:设置
LETTA_API_KEY,可从app.letta.com获取。
export LETTA_API_KEY="your-api-key"
- 可选配置:
export LETTA_MODE="whisper" # Default. Or "full" for blocks + messages, "off" to disable
export LETTA_AGENT_ID="agent-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
export LETTA_BASE_URL="http://localhost:8283" # For self-hosted Letta
export LETTA_MODEL="anthropic/claude-sonnet-4-5" # Model override
export LETTA_CONTEXT_WINDOW="1048576" # Context window size (e.g. 1M tokens)
export LETTA_HOME="$HOME" # Consolidate .letta state to ~/.letta/
export LETTA_SDK_TOOLS="read-only" # Or "full", "off"
默认代理
- 功能:读取代码、学习用户偏好、跟踪项目上下文、提供指导和搜索网络。
- 记忆块:维护8个记忆块,包括
core_directives、guidance、user_preferences等。 - 沟通风格:观察性、简洁且不具侵入性。
- 双向沟通:Claude Code可直接与代理交互,代理会在下次同步时响应。
钩子
- SessionStart:创建新的Letta对话,发送会话开始通知,清理CLAUDE.md中的旧内容,保存会话状态。
- UserPromptSubmit:获取代理的记忆块和消息,根据
LETTA_MODE注入信息。 - PreToolUse:检查记忆更新,若有更新则注入
additionalContext。 - Stop:异步将会话记录发送给代理,不阻塞Claude Code。
状态管理
- 持久状态:存储在项目目录的
.letta/claude/中,包括conversations.json和session-{id}.json。 - 临时状态:存储在
$TMPDIR/letta-claude-sync-$UID/中,用于调试的日志文件。
使用场景
- 持久项目上下文:代理读取代码库并跨会话记忆。
- 学习用户偏好:了解用户的编码风格和工具偏好。
- 跨会话连续性:无缝衔接不同会话。
- 背景研究:在用户工作时搜索网络和读取文件。
- 模式检测:识别用户的行为模式并提供建议。
- 主动代码库感知:在用户处理特定功能时探索相关文件。
调试
可查看日志文件进行调试:
# Watch all logs (macOS/Linux)
tail -f /tmp/letta-claude-sync-$(id -u)/*.log
# Or specific logs
tail -f /tmp/letta-claude-sync-$(id -u)/send_messages.log
tail -f /tmp/letta-claude-sync-$(id -u)/send_worker_sdk.log
API注意事项
- 记忆同步需要
?include=agent.blocks查询参数。 - 会话记录传递使用Letta Code SDK,无原始API调用。
- SDK工作者在更新状态前流式传输代理的完整响应。
原文:mp.weixin.qq.com/s/l8lCWdIlG…
欢迎关注公zh:AI Tech研习社
关注公zh,后台回复【OpenClaw完全使用手册】,领取OpenClaw完全使用手册.pdf学习资料,更多学习资源敬请期待。