资讯详情

资讯详情

基于 openclaw + Notion 的工作日报/周报/月报自动化管理系统:把 settings 改到 TaoToken

1. 为什么日报周报月报总在重复劳动openclaw 与 Notion 自动化管理系统要解决的真实问题先说结论openclaw Notion 的工作日报/周报/月报自动化管理系统本质是把「收集素材 → 生成结构化文本 → 写入数据库 → 定时触发」这条链路交给 AI 和调度器人只负责在 Notion 里看结果。它适合每天有 Git 提交、又在 Notion 里记活动日志的开发者尤其是那种「明明干了不少活写周报时却想不起来」的人。我自己的痛点是一天下来提交了七八次代码Notion 里也记了几条笔记但到了晚上十点要写日报脑子里只剩「今天好像挺忙」。手动翻 Git log、翻 Notion 页面、再组织语言一套下来二十分钟起步。周报更痛苦要把五天的日报再读一遍去重、归类、提炼。月报基本靠回忆写出来自己都不信。这套系统的思路很直接让 Claude Code 通过 Skill 读取 Git 提交记录和 Notion 活动日志生成结构化报告再通过 Notion MCP Server 写回数据库。openclaw 负责定时调度用自然语言就能设置「每周一到周六晚上十点执行日报」。整个链路里唯一需要人工维护的是config.json里的仓库路径和数据库 ID。但真正落地时很多人卡在同一个地方多工具调用时鉴权分散、endpoint 不统一。Claude Code 要调模型Notion MCP 要调 Notion APIopenclaw 触发时又要保证环境变量一致。如果每个工具各配一套 Key、各写一个 Base URL改起来就是灾难。这篇就从这个配置入口切入把 settings 改到 TaoToken 统一通道给出可复制的配置片段并附一次日报生成链路的完整验证。核心检索词先摆出来openclaw 定时调度、Notion 数据库写入、Claude Code Skills、自动化管理系统、settings 配置。这几个词贯穿全文你搜到这篇大概率就是被其中某个卡住了。2. TaoToken 前置把 Claude Code 与 Notion MCP 的鉴权收口到统一通道在讲具体配置之前得先把「为什么要统一通道」说清楚。这套自动化系统里至少有三个地方会发起外部请求第一Claude Code 本身要调用大模型生成报告内容。第二Notion MCP Server 要调用 Notion API 读写数据库。第三openclaw 在触发claude -p /daily-report时需要保证子进程能拿到正确的环境变量。如果 Claude Code 走一个 endpoint、Notion MCP 走另一个、openclaw 又继承了一套旧的 shell 环境那排查问题时你会面对三个不同的报错来源。我试过最离谱的一次终端里手动跑claude -p /daily-report完全正常但 openclaw 定时触发就报 401查了半天发现是调度器启动时的环境变量没加载.zshrc。TaoToken 在这里的角色是统一 API 通道。官网入口是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 地址是 https://taotoken.net/api 。你需要做的是把 Claude Code 的模型请求指向这个统一 Base URL用同一个 Key 管理。这样无论手动执行还是定时触发鉴权来源只有一个出问题也只需要查一处。具体操作上先去控制台创建 API Key。控制台地址带归因参数 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。创建完 Key 之后在 API Keys 页面可以管理 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。这里有个关键点Claude Code 的配置文件和 Notion MCP 的配置文件是分开的但两者都可以通过环境变量读取同一个 Key。我建议的做法是在 shell 的 profile 里 export 一个TAOTOKEN_API_KEY然后 Claude Code 的 settings 和 MCP 的 env 都引用这个变量。这样改 Key 只需要改一处。如果你还没装 Claude Code接入文档在这里 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。文档里有完整的 Base URL 和 Model ID 对照。对于这套日报系统模型建议选支持长上下文和结构化输出的因为报告生成需要读取多天的日志并去重。另外提一句如果你打算长期跑这套自动化甚至后续扩展成 Agent 工作流可以看看 Coding Plan https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。它更适合高频、长期的编码和自动化场景比按次调用更省心。前置工作做完你应该手上有三样东西一个可用的 API Key、确认过的 Base URL、以及 Claude Code CLI 能正常启动。接下来进入配置环节。3. 可复制配置settings.json、.mcp.json 与 config.json 三件套这一节是全文最核心的部分直接给可复制的片段。路径和原文保持一致你照着改就行。3.1 Claude Code settings 改到 TaoTokenClaude Code 的配置文件通常在~/.claude/settings.json。如果你之前用的是默认配置需要把模型请求的 Base URL 和 Key 改到 TaoToken 统一通道。可复制的 JSON 片段如下{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_API_KEY: sk-你的TaoTokenKey, ANTHROPIC_MODEL: claude-sonnet-4-20250514 }, permissions: { allow: [ Bash(git log:*), Bash(bash scripts/gather-git-logs.sh:*), Read(~/.claude/skills/**) ] } }这里三个字段必须写全Base URL、Key、Model ID。Base URL 用https://taotoken.net/api不要加 UTM 参数那是给网页用的。Model ID 按你实际可用的填接入文档里有对照表。permissions.allow里放的是这套日报系统需要执行的命令git log和收集脚本必须放行否则 Skill 执行到一半会被权限拦截。如果你不想把 Key 明文写在 settings.json 里可以改成引用环境变量{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_API_KEY: ${TAOTOKEN_API_KEY}, ANTHROPIC_MODEL: claude-sonnet-4-20250514 } }然后在~/.zshrc或~/.bashrc里加一行export TAOTOKEN_API_KEYsk-你的Key。注意openclaw 定时触发时如果读不到这个变量就会报 401后面排障章节会细说。3.2 Notion MCP Server 配置Notion MCP 的配置在~/.claude/.mcp.json。原文给的是标准写法我把它和 TaoToken 的环境变量体系对齐一下{ mcpServers: { notion: { command: npx, args: [-y, notionhq/notion-mcp-server], env: { OPENAPI_MCP_HEADERS: {\Authorization\:\Bearer 你的NotionIntegrationToken\,\Notion-Version\:\2022-06-28\} } } } }注意这里的 Token 是 Notion Integration Token不是 TaoToken 的 Key两者不要混。Notion Token 的获取方式是去 Notion Integrations 创建一个 Integration拿到 Internal Integration Token然后把目标数据库页面关联给这个 Integration。没关联的话MCP 写入会报 404 或权限错误。3.3 config.json 集中管理项目根目录的config.json管理所有数据库 ID 和仓库路径{ github: { repos: [ /Users/你的用户名/Documents/GitHub/你的项目 ] }, notion: { databases: { activity_logs: 你的活动记录数据库ID, daily_report: 你的日报数据库ID, weekly_report: 你的周报数据库ID, monthly_report: 你的月报数据库ID } } }Notion 数据库 ID 的获取打开数据库页面URL 里notion.so/后面、?v前面的 32 位字符串就是。四个数据库都要建好字段结构参考项目模板。配置改完后必须运行bash test.sh。这个脚本会把config.json里的数据库 ID 通过 sed 替换同步到.claude/skills/*/SKILL.md.tpl模板再生成最终的SKILL.md。如果你跳过这一步Skill 文件里还是{{DAILY_REPORT_DB_ID}}这样的占位符执行时必然失败。三件套配完你的目录结构应该是这样auto-daily-report/ ├── config.json ├── test.sh ├── .claude/ │ └── skills/ │ ├── daily-report/ │ │ ├── SKILL.md │ │ └── SKILL.md.tpl │ ├── weekly-report/ │ └── monthly-report/ ├── scripts/ │ └── gather-git-logs.sh └── logs/4. 验证请求跑通一次日报生成链路并确认 Notion 写入配置写完不代表能用必须手动验证一次完整链路。这一步的目的是把「Claude Code 调用模型 → 读取 Git 日志 → 查询 Notion 活动记录 → 生成日报 → 写入 Notion 数据库」整条路走通确认没有断点。4.1 先跑自检cd /path/to/auto-daily-report bash test.sh全部通过会输出「全部检查通过!」。如果报「配置文件不存在」检查当前目录有没有config.json。如果 Skill 文件里还有{{xxx}}占位符说明同步没执行成功重新跑一次。4.2 手动执行日报 Skillclaude -p /daily-report这条命令是非交互模式适合验证。执行过程中你可以观察终端输出正常会看到它先调gather-git-logs.sh收集提交再通过 Notion MCP 查询活动日志然后生成结构化日报最后写入日报数据库。如果这一步报 401大概率是ANTHROPIC_API_KEY没生效。先在当前 shell 里echo $TAOTOKEN_API_KEY确认变量存在再确认 settings.json 里的引用写法正确。如果报local proxy failed或连接超时检查 Base URL 是不是写成了带 UTM 的网页地址。API 地址就是https://taotoken.net/api不要多加路径。如果报reading choices之类的解析错误通常是模型返回格式不符合 Skill 预期。可以先把 Model ID 换成一个更稳定的版本重试或者检查 Skill 模板里的输出格式约束。4.3 确认 Notion 写入执行成功后打开 Notion 的日报数据库应该能看到一条新记录包含日期、今日完成、进行中、阻塞项等字段。如果 Claude Code 终端显示成功但 Notion 里没有检查两件事一是 Integration 有没有关联到该数据库页面二是数据库 ID 有没有填错。4.4 验证 openclaw 定时触发手动跑通后再验证定时链路。在 openclaw 里用自然语言设置每周一到周六晚上 10 点执行 /daily-report 技能 每周日晚上 10 点执行 /weekly-report 技能 每月最后一天晚上 11 点执行 /monthly-report 技能openclaw 会把这些转换成定时任务。设置完后可以临时改一个近一点的时间点观察是否自动触发。触发后去logs/目录看日志tail -50 logs/daily-report-$(date %Y%m%d).log日志里会记录本次执行的完整过程。如果定时没触发先确认 openclaw 进程在运行再检查调度配置。验证模型本身是否正常可以走模型对话页面 https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。在那里发一条测试消息确认 Key 和通道没问题再回来排查 Claude Code 配置。5. 本篇常见错排查401、local proxy failed、reading choices 与 OAuth这一节按真实报错来对照。你遇到的现象、可能原因、解决方法直接查表。现象可能原因解决方法401 UnauthorizedAPI Key 未生效或环境变量未加载确认TAOTOKEN_API_KEY已 exportsettings.json 引用正确local proxy failedBase URL 写错或网络不通改为https://taotoken.net/api去掉多余路径reading choices 解析错误模型返回格式不符合 Skill 预期换稳定 Model ID检查 Skill 模板输出约束OAuth 相关报错Claude Code 走了旧登录态清理旧凭据改用 API Key 模式Notion 写入 404Integration 未关联数据库在 Notion 页面把 Integration 加为连接Skill 占位符未替换未运行 test.sh执行bash test.sh同步配置openclaw 定时不触发调度器环境变量缺失在调度配置里显式注入 Key 和 Base URLClaude CLI 启动失败CLI 未安装或不在 PATHwhich claude确认重装或加 PATH重点说三个高频的。401 在定时任务里出现手动执行却正常。这是最典型的。原因是 openclaw 触发子进程时继承的环境变量和你交互式 shell 不一样。解决方法是在 openclaw 的任务配置里显式指定环境变量或者把 export 写进调度器会加载的 profile 文件。不要依赖.zshrc很多调度器不读它。local proxy failed。这个报错通常意味着请求根本没到达 TaoToken。检查 Base URL 是不是被其他工具的代理配置覆盖了。如果你之前配过别的 endpointsettings.json 里的ANTHROPIC_BASE_URL优先级要确认。另外公司网络如果有出口限制也可能导致连接失败这种情况换网络环境测试。reading choices。这个报错说明模型返回的内容结构不对Skill 解析不了。常见于模型版本切换后输出格式变化。解决方法是固定一个 Model ID不要用latest这类浮动标签。同时检查 Skill 模板里对 JSON 输出的约束是否足够明确。关于 OAuthClaude Code 早期版本可能走 OAuth 登录态如果你混用了登录态和 API Key会出现鉴权冲突。建议统一用 API Key 模式清理~/.claude下的旧凭据文件。排障时如果拿不准 Key 是否有效去 API Keys 页面重新生成一个测试 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。接入细节查文档 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。6. 把配置收口之后这套自动化管理系统还能怎么扩展配置收口到 TaoToken 统一通道之后最大的好处不是省了几行配置而是排查路径变短了。以前出问题要在 Claude Code、Notion MCP、openclaw 三个地方分别查 Key 和 endpoint现在模型请求这一层只有一个来源401 就是 Key 问题超时就是网络问题格式错误就是模型问题边界清晰。这套系统跑顺之后我实际用下来的感受是日报基本不用管了晚上十点自动生成周报周日聚合跨天去重确实省事月报的里程碑识别偶尔需要手动补两句但框架已经在了。真正花时间的反而是前期把 Notion 数据库字段设计好字段设计合理生成的报告可读性高很多。如果你想继续扩展几个方向可以参考。一是把config.json里的仓库列表加多支持远程 URL 自动 clone 到.repo-cache/这样多项目也能统一收集。二是改SKILL.md.tpl模板调整报告的输出结构和语气改完记得重新跑test.sh。三是把 openclaw 的触发时间调成符合自己作息的不必卡在晚上十点。长期跑自动化任务的话Coding Plan 会比按次调用更合适 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。尤其是你打算把日报系统扩展成更复杂的 Agent 工作流时稳定的调用额度比什么都重要。最后留一个实用技巧每次改完config.json或 Skill 模板先跑bash test.sh再手动claude -p /daily-report验证一次确认没问题再交给 openclaw 定时。不要改完直接等定时触发出了问题你连日志都来不及看。日志保留最近 30 天出问题时先tail -50看最近一次执行比盲目改配置快得多。
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →