news 2026/9/26 3:56:47

用 Cron Job 让 Claude Code 每天自我复盘:TaoToken 配置与 Skill 骨架

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
用 Cron Job 让 Claude Code 每天自我复盘:TaoToken 配置与 Skill 骨架

1. 为什么要在 VPS 上给 Claude Code 加一个深夜复盘任务

Claude Code 用久了你会发现一个尴尬现象:白天踩过的坑,第二天换个会话它照样踩。不是模型不行,而是每次新会话都是"失忆开局",它不知道你昨天在哪个依赖版本上卡了两小时,也不知道你团队那条"禁止直接改 migration"的潜规则。想让协作效率产生复利,就得给它建一个能落盘的记忆闭环——每天固定时间自动回顾当天交互,把踩坑结论写回项目上下文文件,第二天加载时直接生效。

这件事放在本地做有两个硬伤。一是你得整夜开机,笔记本合盖就断;二是长连接跑 API 时网络抖动会让复盘中途失败,重跑又得重新喂上下文。所以更稳的做法是把运行环境放到一台 24 小时在线的 VPS 上,用 Cron Job 在凌晨低峰期触发 Claude Code,让它读取当天的会话日志、执行复盘 Skill、把结论追加到agents.md或全局上下文里。本文就按这个思路,给出可复制的 crontab 配置、Skill 文件骨架,以及通过 TaoToken 统一 Key 和 API 通道的settings.json片段,最后说明怎么验证任务真的跑通、输出真的落盘。

适合谁看:已经在用 Claude Code 做日常开发、手里有一台 VPS、想让 Agent 越用越懂自己项目的人。不需要你懂运维,会改配置文件、会看日志就行。

2. TaoToken 前置:统一 Key 与 API 通道

在 VPS 上跑 Claude Code,最烦的是 Key 管理。本地一套、服务器一套,换模型还得改环境变量。我的做法是统一走 TaoToken 的 API 通道,一个 Key 覆盖对话和编码场景,settings.json里只维护一份配置,Cron 触发的非交互式调用和本地交互式调用共用同一套凭证,省得两边对不上。

先拿 Key。打开控制台登录后进 API Keys 页面创建,建议给 VPS 上的复盘任务单独建一个 Key,命名成vps-cron-review之类,方便日后按用途排查或轮换。创建后立刻复制,页面刷新就看不到了。

  • 控制台入口:https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_content=console&utm_campaign=rewrite
  • API Keys 页面:https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api-keys&utm_campaign=rewrite
  • 接入文档:https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite

API 基地址用https://taotoken.net/api,注意这个地址不带任何查询参数,直接填进配置即可。如果你用的是 Claude Code 的 Anthropic 兼容模式,接入说明在 https://taotoken.net/ClaudeCodeAnthropic?utm_source=taotoken_aicg_blog_end&utm_content=ClaudeCodeAnthropic&utm_campaign=rewrite 这份文档里,照着填 base_url 和 auth 字段就行。

注意:Key 只存在 VPS 的环境变量或配置文件里,别提交进 Git 仓库。Cron 任务读取的是服务器本地环境,和你的开发机隔离,这也是放 VPS 的一个附带好处。

3. 可复制配置:settings.json、Skill 骨架与 crontab

这一节是全文的核心,三块配置拼起来就是完整的深夜复盘闭环。建议按顺序操作:先配settings.json让 Claude Code 能连上通道,再写 Skill 定义复盘任务,最后挂 crontab 定时触发。

3.1 settings.json 配置片段

Claude Code 的配置文件一般放在~/.claude/settings.json。在 VPS 上给运行 Cron 的用户单独配一份,内容如下:

{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_AUTH_TOKEN": "sk-你的TaoToken密钥", "ANTHROPIC_MODEL": "claude-sonnet-4-5" }, "permissions": { "allow": [ "Read", "Write", "Edit", "Bash(git:*)" ] }, "includeCoAuthoredBy": false }

几个关键点说明。ANTHROPIC_BASE_URL指向 TaoToken 的 API 地址,ANTHROPIC_AUTH_TOKEN填你刚创建的 Key。permissions.allow里放开 Read/Write/Edit 和 git 命令,是因为复盘任务需要读日志、写上下文文件、可能还要提交一次变更;但别放开全部 Bash,Cron 场景下权限收紧一点更安全。includeCoAuthoredBy关掉,避免自动提交时带上多余的署名信息。

如果你不想把 Key 明文写进文件,可以改成读环境变量:

export ANTHROPIC_AUTH_TOKEN="sk-你的TaoToken密钥"

然后在settings.json里省略ANTHROPIC_AUTH_TOKEN字段,Claude Code 会自动读环境变量。Cron 任务里记得在脚本开头 source 一下你的环境文件。

3.2 Skill 文件骨架

Skill 是 Claude Code 里定义可复用任务的方式。在项目根目录建.claude/skills/review-past-performance/SKILL.md,骨架如下:

--- name: review-past-performance description: 复盘过去24小时的开发交互,输出避坑指南并写回上下文文件 --- # 复盘任务 ## 输入 - 读取 `~/.claude/logs/` 下最近 24 小时的会话记录 - 读取项目根目录的 `agents.md`(若不存在则创建) ## 执行步骤 1. 扫描会话记录,找出以下三类问题: - 反复出现的报错或误判 - 无意义的工具调用(同一命令重复执行、无效重试) - 上下文缺失导致的返工 2. 针对每类问题,提炼一条可执行的避坑规则 3. 将规则追加到 `agents.md` 的「避坑指南」章节,去重后写入 4. 若发现高频重复操作,在 `.claude/skills/` 下生成新的 Skill 草稿 ## 输出格式 - 复盘摘要写入 `~/.claude/logs/review-YYYY-MM-DD.md` - 避坑规则写入 `agents.md` - 控制台打印本次新增规则条数

这个骨架把"读什么、怎么分析、写到哪"都定死了,Cron 触发时不需要再传复杂参数,直接调用 Skill 名即可。agents.md是 Claude Code 每次启动会加载的上下文文件,复盘结论写进去,第二天新会话就能读到,闭环就成立了。

3.3 crontab 配置

先写一个触发脚本,放在/opt/claude-review/run.sh:

#!/bin/bash set -e source /opt/claude-review/env.sh cd /srv/your-project claude --skill review-past-performance \ --output-format json \ >> /var/log/claude-review/$(date +%F).log 2>&1

给脚本执行权限:

chmod +x /opt/claude-review/run.sh mkdir -p /var/log/claude-review

然后编辑 crontab:

crontab -e

加入这一行,每天凌晨 2 点触发:

0 2 * * * /opt/claude-review/run.sh

0 2 * * *表示每天 02:00 执行。如果你在多个时区的服务器上跑,注意 VPS 的系统时区,用timedatectl确认一下,避免复盘时间落在你的工作时段造成资源争抢。

4. 验证请求与成功结果

配置完别等到第二天,先手动跑一次确认链路通。直接执行脚本:

/opt/claude-review/run.sh

如果一切正常,你会看到类似输出:

{ "skill": "review-past-performance", "status": "completed", "insights_added": 3, "output_file": "/root/.claude/logs/review-2025-01-15.md" }

同时检查三个落盘位置。第一,复盘摘要文件:

cat ~/.claude/logs/review-$(date +%F).md

第二,项目里的agents.md是否新增了避坑规则:

tail -20 /srv/your-project/agents.md

第三,Cron 日志有没有报错:

tail -50 /var/log/claude-review/$(date +%F).log

确认手动跑通后,再验证 Cron 是否真的会触发。把时间临时改成几分钟后,比如当前是 14:30,就设成32 14 * * *,等两分钟看日志有没有新内容。验证完记得改回凌晨 2 点。这一步我踩过坑:一开始没注意脚本里的cd路径,Cron 执行时工作目录不对,Skill 找不到项目文件,日志里全是路径报错。所以脚本里一定要写绝对路径。

想快速验证模型通道本身是否正常,可以先用模型对话页面发一条测试消息,确认 Key 和通道没问题,再排查脚本层:

https://taotoken.net/model-chat?utm_source=taotoken_aicg_blog_end&utm_content=model-chat&utm_campaign=rewrite

5. 本篇常见错排查

报错一:ANTHROPIC_AUTH_TOKEN无效或 401。多半是 Key 复制时带了空格,或者settings.json里的字段名拼错。检查env块里三个变量名是否和文档一致,Key 前后不要有引号外的空白。如果用的是环境变量方式,确认 Cron 脚本里 source 了正确的 env 文件——Cron 的环境和登录 shell 不一样,不会自动加载.bashrc。

报错二:Skill 找不到。检查.claude/skills/review-past-performance/SKILL.md路径是否正确,以及脚本里的cd是否切到了项目根目录。Skill 是按项目加载的,工作目录不对就找不到。

报错三:复盘输出为空。说明会话日志目录没有内容,或者日志格式和 Skill 里写的解析逻辑对不上。先确认~/.claude/logs/下确实有当天的会话记录,再检查 Skill 里的读取路径。如果日志是 JSONL 格式,解析逻辑要相应调整。

报错四:Cron 任务没触发。用grep CRON /var/log/syslog看 Cron 有没有执行记录。如果完全没有,检查 crontab 是否保存成功、用户是否有权限。如果有执行记录但脚本没跑,多半是脚本权限或 shebang 问题,确认chmod +x和首行#!/bin/bash都在。

报错五:写入agents.md时权限不足。Cron 以当前用户身份运行,如果项目目录属于其他用户,写文件会失败。要么调整目录权限,要么把复盘任务换成有写权限的用户执行。

6. 长期编码与 Agent 协作的下一步

单次复盘跑通只是起点。真正让 Agent 越用越顺的,是把这套机制沉淀成长期习惯:复盘产出的避坑规则会逐渐积累成你项目的专属上下文,新会话加载agents.md后直接继承历史经验,重复错误率会肉眼可见地下降。如果你同时跑多个 Agent 做并行任务,建议给每个 Agent 配独立的 Skill 和日志目录,复盘时按 Agent 维度分别输出,避免上下文串味。

对于需要长期跑编码任务、多 Agent 协同的场景,可以了解下 Coding Plan,它更适合把这类定时复盘、持续迭代的工作流固定下来:

https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding-plan&utm_campaign=rewrite

接入过程中如果遇到通道配置或 Key 的问题,直接翻接入文档最快:

https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite

最后留一个实操建议:第一次跑通后,别急着把复盘频率设成每天。先观察一周的输出质量,如果避坑规则开始重复或变得空泛,说明 Skill 里的分析维度需要收窄,把"找出所有问题"改成"只找重复出现两次以上的问题",输出会精准得多。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/26 3:56:47

超强教程!在树莓派上用 TaoToken 统一 Key 构建多节点 K3s 集群

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/26 3:53:22

2026婚礼邀请函设计全流程复盘:从关键词搜索到版式印刷

做了这么多次婚礼邀请函,我越来越觉得,一张请柬其实是整场婚礼的“预告片”。宾客拿到手里那几秒钟,基本就能脑补出这场婚礼是户外轻松派对,还是酒店里的大气晚宴,也大概能猜到新人花了多少心思在这件事上。这次做2026…

作者头像 李华
网站建设 2026/9/26 3:51:33

基于CNN的花卉识别项目实战:从源码到部署的完整指南

简介:这份资源面向Python与深度学习入门者、计算机视觉方向的学生及需要完成毕业设计或课程大作业的开发者,提供一套基于卷积神经网络CNN的花卉识别完整项目,帮助读者理解图像分类从数据准备到模型推理的全流程。压缩包共48个文件&#xff0c…

作者头像 李华