ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

Claude Subconscious Hook超时配置之谜:5s、10s、5s、120s背后是什么设计?

Claude Subconscious Hook超时配置之谜:5s、10s、5s、120s背后是什么设计? Claude Subconscious Hook超时配置之谜5s、10s、5s、120s背后是什么设计【免费下载链接】claude-subconsciousGive Claude Code a subconscious项目地址: https://gitcode.com/GitHub_Trending/cl/claude-subconsciousClaude Subconscious 是一个为 Claude Code 提供潜意识的后台代理插件它在后台默默观察你的会话、积累记忆再把提示悄悄低语回主 Claude。它的 Hook 超时配置 hooks/hooks.json 里写着 5s、10s、5s、120s 这组神秘数字——它们不是拍脑袋定的而是按每个 Hook 的职责和延迟敏感度精确分配的时间预算。5s、10s、120s 一图速览Hook 超时常数清单项目共注册了 5 个 Hook 超时4 个 Hook 事件其中SessionStart串行挂了 2 个脚本Hook 事件执行脚本超时主要职责SessionStartsession_start.ts5s通知代理新会话开始清理遗留 CLAUDE.mdSessionStartsync_letta_memory.ts10s会话启动时预取记忆块与消息UserPromptSubmitsync_letta_memory.ts10s每次提问前注入记忆 消息PreToolUsepretool_sync.ts5s每次工具调用前检查新更新无变化则静默Stopsend_messages_to_letta.ts120s转交会话记录给后台 worker异步想逐条核对可以直接打开 hooks/hooks.json5 个timeout字段一目了然分别位于 L10、L15、L27、L39、L51。5sSessionStart 启动检查为什么这么赶session_start.ts 拿到 5s 预算任务却不少创建或复用Letta 会话、清理旧版letta遗留内容、保存会话状态、再向代理发出新会话开始通知。关键在于这些步骤基本是本地轻量操作 一次网络调用而它直接卡在新会话启动的路上——用户对启动延迟最敏感。5s 是一个礼貌等待的上限API 快就秒回慢了也不至于让你干瞪眼超时后 Claude Code 照常启动。10s提示同步与预热的双保险预算同一个脚本 sync_letta_memory.ts 出现在两处预算都是 10sSessionStart 第二个 Hook会话启动时就先拉一轮记忆块和消息提前预热缓存状态UserPromptSubmit每次提问前正式同步——full模式首条提示注入全部记忆块、后续只注入 diff默认的whisper模式只注入代理消息。它比 5s 的 Hook 要多拉数据且结果要喂进提示上下文所以预算翻倍到 10s。但仍属于用户能感知、不能磨蹭的区间。5sPreToolUse 为什么比启动时还保守pretool_sync.ts 是整个项目触发频率最高的 Hook——每次工具调用前都要跑一次。因此它的设计极度克制只查两件事有没有新消息、记忆块有没有变化无变化则直接静默退出silent no-op什么都不输出有更新才通过additionalContext注入additionalContext内容。5s 只是给这条高频小检查兜底正常路径毫秒级返回超时只是防止网络抖动把工具调用卡死。对高频场景不阻塞比多拿点数据重要得多。120s那个永远不阻塞的 Stop 钩子最反直觉的是 send_messages_to_letta.ts预算 120s却是整个配置里唯一配了async: true的 Hook见 hooks/hooks.json。它的执行分两段主钩子很快结束解析会话 JSONL → 提取用户消息/思考块/工具使用 → 把 payload 写入临时文件 → 派生一个 detached 后台 worker → 立即退出后台 worker由 send_worker_sdk.ts 独立运行打开 Letta Code SDK 会话Sub 代理在处理 transcript 时还能用 Read/Grep/Glob 探索你的代码库、更新记忆最后才落盘状态、清理临时文件。所以 120s 的含义不是我们最多等 2 分钟而是给立即退出但需要时间收尾的进程一个宽裕的安全网。由于是异步钩子它从头到尾不阻塞 Claude Code——超时顶多意味着 Claude 早已自由开工。一句话总结这套超时设计 数字守护的东西5s启动与高频检查的低延迟宁缺勿堵10s提示同步的有用性数据要多一点等待也要克制120s async把重活彻底移出关键路径核心原则只有一条越贴近用户感知的 Hook超时越短任务越重越靠 async 而不是加长等待。想自己调整直接修改 hooks/hooks.json 中对应条目的timeout即可排查问题时可查看$TMPDIR/letta-claude-sync-$UID/下的日志详见 README.md 的 Debugging 与 State Management 章节。【免费下载链接】claude-subconsciousGive Claude Code a subconscious项目地址: https://gitcode.com/GitHub_Trending/cl/claude-subconscious创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表