ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Claude Code 的 /loop 一到点就丢任务?TaoToken 这样配 settings.json 稳跑

Claude Code 的 /loop 一到点就丢任务?TaoToken 这样配 settings.json 稳跑 你在 Claude Code 里敲下/loop 30m关掉终端再回来任务列表空了更烦的是同一个/loop有时 27 分钟触发有时拖到 33 分钟才动跑满三天还会直接断。要排掉这些坑先把请求通道换成 TaoToken打开 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_content 注册并创建YOUR_API_KEY再让 Claude Code 通过https://taotoken.net/api发请求。TaoToken 只负责给 Claude Code 供 Key 与兼容通道让每次定时触发都能稳定发出模型请求它不替/loop做定时也不会替你保住终端会话。1. /loop 一到点就丢任务先分清是会话断了还是请求没发出去1.1 关终端就丢/loop 跑在当前 Claude Code 会话里很多人第一次用/loop会把它当成系统 cron设一个 30 分钟周期关掉笔记本盖子第二天回来收结果。实际不是。/loop的执行上下文在当前 Claude Code 会话里终端一关、SSH 一断、tmux 会话被 kill循环任务就跟着没了。你看到的现象不是“模型没回答”而是“根本没人到点触发”。所以排障第一步不是改模型而是确认会话还在不在。重新打开终端后先tmux ls看claude会话是否还活着如果没装 tmux那终端关闭基本等于/loop被终止。会话在但是/loop列表空了再去查 Hook 和请求通道。顺序反了你会把时间浪费在换 Key、换模型上最后发现是终端被关了。1.2 两个老坑最多活三天与 2733 分钟抖动原文里提到的两个坑很典型。第一个是“最多活三天”长会话会受进程生命周期、系统资源回收、终端复用器状态影响硬撑三天不是稳定方案。第二个是“时间抖 2733 分钟”/loop不是硬实时调度器Hook 同步阻塞、模型请求排队、tmux 所在机器负载、系统休眠恢复都会让触发时间漂移。这两个现象要分开看。三天上限属于会话层解法是让会话可重启、任务可幂等而不是指望一个会话永不掉。2733 分钟抖动属于调度层加请求层先把 Hook 里阻塞的命令摘掉再确认 Claude Code 到点后能不能顺利发出请求。TaoToken 能保证请求通道可用但不会把 27 分钟校准成 30 分钟整点。1.3 排障顺序先保会话再查 Hook最后看请求通道推荐按这个顺序查会话是否还活着tmux ls看claude是否存在。/loop是否还登记在当前会话在 Claude Code 里执行/loop或查看启动回显确认周期任务没丢。Hook 是否阻塞看~/.claude/settings.json的hooks段重点查同步命令、超时、写日志命令。请求通道是否通确认ANTHROPIC_BASE_URL是https://taotoken.net/apiKey 从 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_content 创建。最后再看模型 ID 和用量别一上来就怀疑模型。这个顺序能把“会话被杀”“Hook 卡住”“Base URL 多写 /v1”“Key 失效”四类问题分开避免一锅乱炖。2. 准备环境从 TaoToken 拿 Key让 /loop 到点发得出请求2.1 打开官网注册并创建 YOUR_API_KEY先打开 TaoToken完成注册登录进入控制台创建一把 API Key。Key 用占位符YOUR_API_KEY表示不要把它写进文章、截图或公开仓库。创建完成后先复制到本地密码管理器后面要填进~/.claude/settings.json的env段。这一步对应原文“准备环境”的位置但通道换成 TaoToken。你不需要在多个供应商后台之间来回切也不需要为/loop单独准备一套临时 Key。统一用一把 Key后面验证、排障、看用量都围绕它。2.2 Base URL 填 https://taotoken.net/api不要加 /v1Claude Code 认的环境变量是ANTHROPIC_BASE_URL、ANTHROPIC_AUTH_TOKEN、ANTHROPIC_MODEL。其中 Base URL 填https://taotoken.net/api注意末尾不要加/v1。很多 404 或path not found不是 Key 坏了而是 Base URL 被写成了https://taotoken.net/api/v1。官网落地页是给人看的带 UTM填进工具的 Base URL 是给 Claude Code 发请求的不带 UTM也不要混用。2.3 在 ~/.claude/settings.json 写入 env先备份再编辑cp ~/.claude/settings.json ~/.claude/settings.json.bak写入或合并下面的结构{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_AUTH_TOKEN: YOUR_API_KEY, ANTHROPIC_MODEL: YOUR_MODEL_ID } }YOUR_API_KEY从 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_content 创建YOUR_MODEL_ID不要凭记忆写去模型广场复制当时可用的模型 ID。模型广场的列表会变配置文件里写错一个后缀就可能在/loop到点时返回模型不存在。提示如果你之前已经用环境变量导出过ANTHROPIC_*settings.json 里的env和 shell 环境变量可能互相覆盖。排障时先env | grep ANTHROPIC看一眼再决定以哪份为准。3. ~/.claude/settings.json 里检查 Hook 与 /loop 的登记项3.1 先备份再用 jq 看 env、hooks、permissionssettings.json 一多人眼容易看漏。用jq把关键段拉出来cp ~/.claude/settings.json ~/.claude/settings.json.bak jq {env: .env, hooks: .hooks, permissions: .permissions} ~/.claude/settings.json重点看三件事env里的 Base URL 是否还是https://taotoken.net/apihooks里有没有同步执行很慢的命令permissions里有没有把/loop需要的命令拦掉。如果env被旧配置覆盖/loop到点时会用错通道表现就像“任务丢了”。3.2 Hook 别阻塞 /loop命令超时、写日志、退出码Hooks 适合做审计、提醒、轻量校验不适合在到点路径上做重活。下面是一个只写日志、不阻塞的 Hook 示例{ hooks: { Stop: [ { matcher: , hooks: [ { type: command, command: echo \[$(date)] stop\ ~/.claude/hooks.log } ] } ], PreToolUse: [ { matcher: Bash, hooks: [ { type: command, command: echo \[$(date)] pre-bash\ ~/.claude/hooks.log } ] } ] } }如果你的 Hook 里跑了全量构建、大文件扫描、网络探测/loop的触发时间就会被拖到 33 分钟甚至更晚。把重活挪到/loop任务内部或者改成异步写入别让 Hook 卡住主路径。3.3 /loop 登记项与会话状态用 /hooks、/loop 输出对照在 tmux 里的 Claude Code 会话中执行/hooks确认当前加载的 Hook 和 settings.json 一致。再执行/loop查看当前循环任务状态不同版本回显可能不同以你当前终端输出为准。要确认的是周期表达式还在、目标任务还在、没有因为重启终端而丢登记。如果/loop列表为空但 Hooks 正常那多半是会话被重启了。此时不要反复改 settings.json直接把/loop重新登记一遍再用 tmux 保活。登记完之后跑一轮短周期比如/loop 5m 你的检查指令看日志里有没有到点记录。4. 用 tmux 保住 Claude Code 长会话别让终端关闭杀掉 /loop4.1 tmux new-session -d -s claude claude最直接的办法是把 Claude Code 放进 tmux 会话tmux new-session -d -s claude claude tmux ls tmux attach -t claude-d让会话后台启动-s claude命名为 claude后面 attach 进去继续操作。这样 SSH 断开、终端窗口关闭只要 tmux 服务还在Claude Code 和/loop就还在。注意这不是让 TaoToken 替你跑定时只是保住会话进程。4.2 重新附着、看日志、避免误杀重新连上机器后tmux attach -t claude想暂时离开又不杀进程按Ctrl-b再按ddetach。要看最近输出tmux capture-pane -pt claude | tail -n 80需要重启时才 killtmux kill-session -t claude tmux new-session -d -s claude claude别在排障时随手pkill -f claude那会把/loop一起带走。先tmux ls再决定是 attach、detach 还是重启。4.3 最多三天的现实会话要能重启而不是硬撑“最多活三天”不是靠某个配置永久解决的。机器重启、tmux 被杀、系统休眠、Claude Code 进程退出都会让长会话结束。更稳的做法是任务写成幂等重复执行不会破坏数据。状态写文件~/.claude/loop-audit.log记录每次触发。外部计划任务只负责拉起 tmux 和 Claude Code不负责替/loop定时。重启后重新登记/loop再用日志补齐断档。如果/loop里跑数据库诊断不要让 Claude Code 直连生产库执行。让它生成 SQL你在本地或 SQL*Plus 执行把报错贴回对话。Claude Code 负责生成和解释执行权留在你手里。5. 验证让 /loop 真正触发一次 TaoToken 请求5.1 用模型对话发测试消息配置改完后先在 TaoToken 模型对话 里用同一把 Key 发一条测试消息确认模型 ID 和 Base URL 没填错。这一步能快速区分“Key/通道问题”和“Claude Code 配置问题”。如果模型对话都不通先回 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_content 检查 Key 状态和模型权限。5.2 在 tmux 里跑一轮短周期 /loop在 tmux 的 Claude Code 会话里把原来 30 分钟的任务临时改成 5 分钟/loop 5m 你的检查指令等它触发一轮观察终端输出。如果到点没有任何动静先看/hooks是否加载、/loop是否登记成功。如果到点有输出但报 401、404转到第 6 节排障。短周期验证通过后再改回 30 分钟避免长时间等不到结果。5.3 看日志与用量确认不是 Hook 假成功Hook 写了日志不等于请求成功。打开~/.claude/hooks.log看时间戳再回控制台看这次调用是否记上账。如果 Hook 有记录、模型没回复、用量也没增加说明请求没发出去优先查 Base URL、Key、网络出口。如果用量增加但/loop没显示结果查 Claude Code 会话输出和 Hook 的退出码。6. 排障401、404、模型 ID、时间抖动分别怎么查6.1 401/403Key 与 Base URL 对照401 通常表示 Key 无效或没被读到。检查YOUR_API_KEY是否从 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_content 创建是否复制完整是否被 shell 环境变量覆盖。403 则可能是 Key 权限或模型权限问题先回控制台确认这把 Key 能用哪些模型。6.2 404/path not found多了 /v1Claude Code 的ANTHROPIC_BASE_URL只写到https://taotoken.net/api不要再拼/v1。如果你从别的工具复制配置时带上了/v1删掉再试。官网落地页的 UTM 参数只用于注册、创建 Key、看模型广场不要加到 Base URL 上。6.3 模型 ID 不存在去模型广场复制ANTHROPIC_MODEL写错会返回模型不存在。不要凭印象写gpt-5或带随意日期后缀的 ID。打开 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_content 的模型广场复制当时可用的模型 ID粘回~/.claude/settings.json的env.ANTHROPIC_MODEL。6.4 2733 分钟抖动与三天上限会话层问题不是 TaoToken 定时时间抖动优先查 Hook 是否阻塞、tmux 所在机器是否休眠、/loop周期是否被系统负载拉长。三天上限优先查会话是否被杀、是否有外部计划任务重新拉起 Claude Code。TaoToken 只负责请求通道不提供/loop的定时器也不解决终端会话生命周期。现象更可能的原因怎么改401Key 错或 settings.json 没读到从官网重新创建 Key确认ANTHROPIC_AUTH_TOKEN404 / path not foundBase URL 多了/v1改成https://taotoken.net/api模型不存在ANTHROPIC_MODEL写错去模型广场复制当时可用 ID2733 分钟抖动Hook 阻塞、会话调度、系统休眠查hooks.log缩短 Hooktmux 保活第三天断会话生命周期结束外部计划任务重新拉起 tmux 与 Claude Code7. 跑通之后去控制台对一下这次调用7.1 模型对话验证先用 TaoToken 模型对话 发一条测试消息确认同一把 Key、同一个模型 ID 在对话侧能通。这一步对应原文最后“去控制台看结果”的动作只是现在看的是 TaoToken 侧的调用记录。7.2 Coding Plan 与创建 Key如果要长期让 Claude Code 跑/loop可以打开 Coding Plan 看套餐是否够用。Key 不够就回 控制台 API Keys 创建新的YOUR_API_KEY再更新~/.claude/settings.json。7.3 Claude Code 接入文档环境变量、settings.json 对照和 Claude Code 接入细节看 Claude Code 接入文档。配完 tmux 和/loop后回控制台确认这次 Claude Code 调用是否记上账再把短周期验证改回你真正需要的 30 分钟周期。
返回列表