Claude Subconscious 安全配置指南:LETTA_API_KEY 保护与最小权限工具模式完整教程
2026/9/17 3:28:41 网站建设 项目流程

Claude Subconscious 安全配置指南:LETTA_API_KEY 保护与最小权限工具模式完整教程

【免费下载链接】claude-subconsciousGive Claude Code a subconscious项目地址: https://gitcode.com/GitHub_Trending/cl/claude-subconscious

Claude Subconscious是一个为 Claude Code 提供"潜意识"记忆的背景代理插件:它在后台默默观察你的每一次会话、阅读代码、积累记忆,并在你下一次提问前悄悄注入指导建议。因为插件需要把完整会话记录发送到 Letta 云端 Agent,安全配置至关重要——本指南带你完成LETTA_API_KEY的妥善保护与最小权限工具模式的设置,让后台 Agent 只读不写、安心运行。

一、了解 Claude Subconscious 的工作原理

在配置安全选项之前,先理解它"看了什么、能做什么":

  • 观察:每个 Claude Code 会话结束后,完整 transcript(用户消息、助手回复、思考块、工具调用)会异步发送给 Letta Agent;
  • 记忆:Agent 维护 8 个记忆块(用户偏好、项目上下文、待办事项等),跨会话持久化;
  • 回传:在每次你提交提示词前,Agent 通过 stdout 注入指导建议,从不写入 CLAUDE.md

⚠️ 项目声明:Claude Subconscious 是基于 Letta Code SDK 构建的演示应用,不建议直接用于生产环境。

核心安全边界在于两点:LETTA_API_KEY是唯一的认证凭证,LETTA_SDK_TOOLS决定了后台 Agent 能碰多少东西。下面逐项讲解。

二、LETTA_API_KEY 保护:唯一必填项的正确姿势

1. 在哪里设置

在 shell 配置(~/.bashrc~/.zshrc)中导出:

export LETTA_API_KEY="your-api-key"

密钥从 Letta 平台(app.letta.com)获取。这是唯一必填的变量——设置好后,插件会自动完成 Agent 的导入与模型选择,实现零配置启动。

2. 为什么必须保护它

  • 四个 Hook 脚本(会话启动、记忆同步、工具前置同步、会话结束发送)在执行前都会校验该变量,缺失即报错退出;
  • 该 Key 可访问你的 Letta 云端 Agent 及其全部会话记忆——等于你项目上下文、编码偏好的"大脑",泄露风险等同泄露业务数据;
  • 插件日志只记录 Key 的前 10 个字符用于排障(见 send_messages_to_letta.ts),但请仍避免在公开环境打印完整变量。

3. 三个安全习惯

习惯做法
不入库项目.gitignore已忽略.env.letta/状态文件(见 .gitignore),不要手动提交任何含 Key 的文件
不共享每人使用自己的 Key 与 Agent ID,避免多人共用一个"大脑"
可轮换怀疑泄露时立即在 Letta 平台吊销并更换 Key

三、最小权限工具模式:LETTA_SDK_TOOLS 三档详解

后台 Sub Agent 拥有客户端工具权限。通过LETTA_SDK_TOOLS环境变量可将其收敛到最小范围,逻辑实现在 conversation_utils.ts 与 send_worker_sdk.ts:

模式可用工具适用场景
read-only默认Read、Grep、Glob、web_search、fetch_webpage安全:只读代码 + 联网检索
full全部工具(Bash、Edit、Write、Task 等)完全自主:Agent 可改代码、派生子代理
off无(仅记忆操作)只监听:处理 transcript 但不碰任何工具

1. 默认即安全:read-only

export LETTA_SDK_TOOLS="read-only"

白名单机制意味着Bash、Edit、Write、Task 全部不可用——即使 Agent 产生"幻觉指令",也无法执行写操作。这是普通用户的推荐设置。

2. 最保守:off 模式

如果只想获得跨会话记忆、完全不想让后台 Agent 读本地文件:

export LETTA_SDK_TOOLS="off"

此时 send_worker_sdk.ts 会把所有客户端工具加入禁用列表,Agent 仅做记忆运算。

3. 始终被禁用的工具

无论哪种模式,AskUserQuestionEnterPlanModeExitPlanMode被永久屏蔽——后台会话永远无法弹出交互式提问卡住你的工作流。

🔒最小权限原则:先从read-only起步,确认价值后再逐步放宽,切勿一上来就开full

四、其他安全相关配置速查

export LETTA_MODE="whisper" # 默认。full=注入记忆块+消息,off=彻底关闭 export LETTA_HOME="$HOME" # 状态统一收纳到 ~/.letta/,不散落各目录 export LETTA_BASE_URL="http://localhost:8283" # 自建 Letta 服务器,数据不出内网
  • LETTA_MODE="off":临时停用钩子最干净的方式,无需取消导出 Key;
  • LETTA_HOME:会话映射与状态文件默认写在项目目录下(.letta/claude/),设到$HOME可集中管理;
  • LETTA_BASE_URL:对接自建 Letta 服务,敏感代码会话可完全走内网,是数据隐私要求高的团队的首选方案。

所有钩子的注册与超时配置见 hooks.json,其中 Stop 钩子以async异步运行(120 秒超时),保证后台同步永不阻塞你的主会话。

五、安全配置清单(照做即可)

  1. LETTA_API_KEY写入 shell 配置,不提交到仓库、不共享;
  2. LETTA_SDK_TOOLS保持默认read-only,确认后再放宽;
  3. ✅ 隐私敏感项目用LETTA_BASE_URL指向自建 Letta 服务;
  4. ✅ 临时停用用LETTA_MODE="off"
  5. ✅ 定期查看日志目录$TMPDIR/letta-claude-sync-$(id -u)/下的send_worker_sdk.log确认工具权限符合预期。

六、结语

Claude Subconscious 用"观察—记忆—低语"的后台 Agent 模式解决 Claude Code 跨会话失忆问题。只要守住LETTA_API_KEY这道门、把LETTA_SDK_TOOLS锁在最小权限档,你就能放心享受一个越用越懂你、且绝不越权的后台潜意识。更多变量细节请查阅 README.md 中的 Configuration 章节,Agent 定义文件见 Subconscious.af。

【免费下载链接】claude-subconsciousGive Claude Code a subconscious项目地址: https://gitcode.com/GitHub_Trending/cl/claude-subconscious

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询