GSD 使用指南:面向 Claude Code / Codex 的硬核工作流

GSD 不是脚手架,而是一套给 AI 编程工具用的规格驱动工作流。它的目标很明确:把长任务拆成多个短上下文,降低 context rot,让规划、执行、验证都可追踪。

GSD 解决什么问题

典型 AI 编程失效路径是:

  • 一个会话里同时做需求澄清、方案设计、编码、验收
  • 上下文越滚越大,后半段质量下降
  • 计划过大,执行不可验证
  • 写完代码,但没有可靠验收闭环

GSD 的做法是把流程拆成阶段,并把状态落盘到 .planning/。核心文件包括:

  • PROJECT.md
  • REQUIREMENTS.md
  • ROADMAP.md
  • STATE.md
  • config.json
  • phases/

适合需要跨会话推进、分阶段交付、保留验收记录的项目。

支持的运行时

  • Claude Code
  • Codex
  • Gemini CLI
  • OpenCode

命令前缀不同:

  • Claude Code / Gemini: /gsd:help
  • OpenCode: /gsd-help
  • Codex: $gsd-help

安装

最简单的方式:

npx get-shit-done-cc@latest

非交互安装:

npx get-shit-done-cc --claude --global
npx get-shit-done-cc --codex --global
npx get-shit-done-cc --gemini --global
npx get-shit-done-cc --opencode --global

只装当前项目,把 --global 换成 --local

安装完成后验证:

# Claude Code / Gemini
/gsd:help

# OpenCode
/gsd-help

# Codex
$gsd-help

标准工作流

完整链路如下:

/gsd:new-project
/clear
/gsd:discuss-phase 1
/gsd:ui-phase 1
/gsd:plan-phase 1
/gsd:execute-phase 1
/gsd:verify-work 1
/gsd:ui-review 1

非前端阶段可跳过 ui-phaseui-review

工作流流程图

flowchart TD
    A["/gsd:new-project
初始化项目上下文"] --> B["/gsd:discuss-phase N
锁定实现偏好"] B --> C{"是否包含前端/UI?"} C -->|是| D["/gsd:ui-phase N
生成 UI-SPEC"] C -->|否| E["/gsd:plan-phase N
研究 + 规划 + 校验"] D --> E E --> F["/gsd:execute-phase N
按 wave 执行计划"] F --> G["/gsd:verify-work N
人工验收"] G --> H{"验收是否通过?"} H -->|否| I["生成修复计划"] I --> F H -->|是| J{"是否还有下一阶段?"} J -->|是| B J -->|否| K["/gsd:audit-milestone"] K --> L["/gsd:complete-milestone"]

核心命令表

命令 作用 何时使用 主要产物
/gsd:new-project 初始化项目上下文、需求和路线图 新项目开始时 PROJECT.mdREQUIREMENTS.mdROADMAP.mdSTATE.md
/gsd:new-project --auto @prd.md 从现有文档自动初始化 已有 PRD 或需求文档时 同上
/gsd:discuss-phase N 锁定当前阶段的实现偏好 规划前 CONTEXT.md
/gsd:ui-phase N 为前端阶段生成设计约束 discuss-phase 之后、plan-phase 之前 UI-SPEC.md
/gsd:plan-phase N 研究当前阶段并拆出可执行计划 执行前 RESEARCH.mdPLAN.mdVALIDATION.md
/gsd:execute-phase N 按依赖关系执行全部计划 计划确认后 SUMMARY.mdVERIFICATION.md、原子提交
/gsd:verify-work N 人工验收并生成修复闭环 执行完成后 UAT.md、修复计划
/gsd:ui-review N 对已实现 UI 做视觉审查 前端阶段验收后 UI-REVIEW.md

补充命令表

命令 作用 适用场景
/gsd:map-codebase 分析已有代码库结构和约定 老项目、接手项目、重构前
/gsd:quick 用短流程处理单次任务 小功能、修 bug、配置修改
/gsd:progress 查看当前阶段和下一步 会话中途、恢复工作前
/gsd:resume-work 恢复上一次工作上下文 换会话继续开发
/gsd:pause-work 生成交接上下文 中途暂停时
/gsd:settings 修改 workflow 和模型配置 调整成本、质量、自动化强度
/gsd:set-profile <profile> 切换模型策略 quality / balanced / budget 间切换
/gsd:add-phase 在路线图末尾追加阶段 新增范围时
/gsd:insert-phase N 在中间插入紧急阶段 中途插单时
/gsd:remove-phase N 删除未来阶段并重排编号 砍需求时
/gsd:audit-milestone 检查里程碑是否达成完成定义 发布前
/gsd:complete-milestone 归档里程碑并打 tag 里程碑收尾时

阶段职责表

阶段 输入重点 输出重点 风险点
new-project 项目目标、范围、技术栈 项目上下文和路线图 需求边界不清
discuss-phase 设计偏好、实现边界、非目标 CONTEXT.md 跳过后会出现默认假设
plan-phase 当前阶段目标、上下文、研究结果 原子化计划文件 phase 过大导致计划失真
execute-phase 已确认的 plan 代码、提交、总结 plan 粒度过大或依赖关系混乱
verify-work 阶段交付结果 UAT.md、修复计划 只看测试不做人工验收

Demo 1:新建 Todo Web App

目标:

  • Next.js + TypeScript + SQLite
  • 单用户
  • 支持新增、完成、删除

执行顺序:

/gsd:new-project
/gsd:discuss-phase 1
/gsd:ui-phase 1
/gsd:plan-phase 1
/gsd:execute-phase 1
/gsd:verify-work 1

new-project 输入示例:

做一个 Todo Web App。
技术栈是 Next.js + TypeScript + SQLite。
第一版不做登录,只做单用户。
目标是完成增删改查闭环,移动端可用。

discuss-phase 1 输入示例:

页面保持高信息密度,不做营销风格设计。
列表项支持快速完成和删除。
空状态必须给明确操作提示。
移动端点击区域要足够大。

plan-phase 1 之后检查:

  • 每个 plan 范围足够小
  • 每个 plan 都有明确 verify 步骤

verify-work 1 检查项:

  1. 新建待办是否成功
  2. 状态切换是否即时生效
  3. 删除是否可恢复或至少行为一致
  4. 刷新后数据是否存在
  5. 移动端交互是否误触

Demo 2:在现有项目中追加功能

/gsd:map-codebase
/gsd:new-project
/gsd:discuss-phase 1
/gsd:plan-phase 1
/gsd:execute-phase 1
/gsd:verify-work 1

map-codebase 会生成:

  • STACK.md
  • ARCHITECTURE.md
  • STRUCTURE.md
  • CONVENTIONS.md
  • TESTING.md
  • INTEGRATIONS.md
  • CONCERNS.md

后续规划会直接基于现有结构。

小需求可直接用:

/gsd:quick

例如:

为博客新增文章搜索页,支持标题和摘要匹配,保持现有站点风格。

适用场景:

  • 小功能
  • bug 修复
  • 配置改动
  • 一次性维护任务

最值得先掌握的命令

  • /gsd:help
  • /gsd:new-project
  • /gsd:discuss-phase
  • /gsd:plan-phase
  • /gsd:execute-phase
  • /gsd:verify-work
  • /gsd:map-codebase
  • /gsd:quick

命令体系思维导图

mindmap
  root((GSD))
    初始化
      /gsd:new-project
      /gsd:map-codebase
    阶段推进
      /gsd:discuss-phase
      /gsd:ui-phase
      /gsd:plan-phase
      /gsd:execute-phase
      /gsd:verify-work
      /gsd:ui-review
    导航恢复
      /gsd:progress
      /gsd:resume-work
      /gsd:pause-work
    快速任务
      /gsd:quick
    路线图调整
      /gsd:add-phase
      /gsd:insert-phase
      /gsd:remove-phase
    配置
      /gsd:settings
      /gsd:set-profile
    收尾发布
      /gsd:audit-milestone
      /gsd:complete-milestone

配置建议

配置文件是 .planning/config.json

mode

  • interactive: 默认,适合大多数项目
  • yolo: 自动化更强,适合熟练用户

granularity

  • coarse
  • standard
  • fine

阶段越复杂,越适合 fine

model_profile

  • quality
  • balanced
  • budget
  • inherit

建议:

  • 原型期:budget
  • 常规开发:balanced
  • 关键阶段:quality

workflow 开关

  • workflow.research
  • workflow.plan_check
  • workflow.verifier
  • workflow.nyquist_validation
  • workflow.ui_phase
  • workflow.ui_safety_gate

不熟悉领域时,建议保持默认;只做快速原型时再酌情关闭。

典型误区

跳过 discuss-phase

常见结果不是功能错误,而是实现风格偏离预期。AI 会用默认判断填满灰区。

phase 切太大

如果一个阶段同时覆盖数据库、API、前端、权限、测试、部署,plan 往往会失真。GSD 不是拿来吞掉模糊范围的。

不做 verify-work

测试通过不等于功能完成。尤其是交互、空状态、错误流程、移动端兼容这类问题,必须人工验收。

老项目不跑 map-codebase

这会增加“风格不一致”和“破坏现有结构”的概率。

结论

GSD 的价值在于把 AI 编程从单轮 prompt 提升为阶段化工作流,更适合多阶段任务和持续交付。

如果你的项目已经开始出现需求拆分、阶段推进、跨会话恢复、验收闭环这些问题,GSD 值得直接上手。

GSD 不是脚手架,而是一套给 AI 编程工具用的规格驱动工作流。它的目标很明确:把长任务拆成多个短上下文,降低 context rot,让规划、执行、验证都可追踪。

GSD 解决什么问题

典型 AI 编程失效路径是:

  • 一个会话里同时做需求澄清、方案设计、编码、验收
  • 上下文越滚越大,后半段质量下降
  • 计划过大,执行不可验证
  • 写完代码,但没有可靠验收闭环

GSD 的做法是把流程拆成阶段,并把状态落盘到 .planning/。核心文件包括:

  • PROJECT.md
  • REQUIREMENTS.md
  • ROADMAP.md
  • STATE.md
  • config.json
  • phases/

适合需要跨会话推进、分阶段交付、保留验收记录的项目。

支持的运行时

  • Claude Code
  • Codex
  • Gemini CLI
  • OpenCode

命令前缀不同:

  • Claude Code / Gemini: /gsd:help
  • OpenCode: /gsd-help
  • Codex: $gsd-help

安装

最简单的方式:

npx get-shit-done-cc@latest

非交互安装:

npx get-shit-done-cc --claude --global
npx get-shit-done-cc --codex --global
npx get-shit-done-cc --gemini --global
npx get-shit-done-cc --opencode --global

只装当前项目,把 --global 换成 --local

安装完成后验证:

# Claude Code / Gemini
/gsd:help

# OpenCode
/gsd-help

# Codex
$gsd-help

标准工作流

完整链路如下:

/gsd:new-project
/clear
/gsd:discuss-phase 1
/gsd:ui-phase 1
/gsd:plan-phase 1
/gsd:execute-phase 1
/gsd:verify-work 1
/gsd:ui-review 1

非前端阶段可跳过 ui-phaseui-review

工作流流程图

flowchart TD
    A["/gsd:new-project
初始化项目上下文"] --> B["/gsd:discuss-phase N
锁定实现偏好"] B --> C{"是否包含前端/UI?"} C -->|是| D["/gsd:ui-phase N
生成 UI-SPEC"] C -->|否| E["/gsd:plan-phase N
研究 + 规划 + 校验"] D --> E E --> F["/gsd:execute-phase N
按 wave 执行计划"] F --> G["/gsd:verify-work N
人工验收"] G --> H{"验收是否通过?"} H -->|否| I["生成修复计划"] I --> F H -->|是| J{"是否还有下一阶段?"} J -->|是| B J -->|否| K["/gsd:audit-milestone"] K --> L["/gsd:complete-milestone"]

核心命令表

命令 作用 何时使用 主要产物
/gsd:new-project 初始化项目上下文、需求和路线图 新项目开始时 PROJECT.mdREQUIREMENTS.mdROADMAP.mdSTATE.md
/gsd:new-project --auto @prd.md 从现有文档自动初始化 已有 PRD 或需求文档时 同上
/gsd:discuss-phase N 锁定当前阶段的实现偏好 规划前 CONTEXT.md
/gsd:ui-phase N 为前端阶段生成设计约束 discuss-phase 之后、plan-phase 之前 UI-SPEC.md
/gsd:plan-phase N 研究当前阶段并拆出可执行计划 执行前 RESEARCH.mdPLAN.mdVALIDATION.md
/gsd:execute-phase N 按依赖关系执行全部计划 计划确认后 SUMMARY.mdVERIFICATION.md、原子提交
/gsd:verify-work N 人工验收并生成修复闭环 执行完成后 UAT.md、修复计划
/gsd:ui-review N 对已实现 UI 做视觉审查 前端阶段验收后 UI-REVIEW.md

补充命令表

命令 作用 适用场景
/gsd:map-codebase 分析已有代码库结构和约定 老项目、接手项目、重构前
/gsd:quick 用短流程处理单次任务 小功能、修 bug、配置修改
/gsd:progress 查看当前阶段和下一步 会话中途、恢复工作前
/gsd:resume-work 恢复上一次工作上下文 换会话继续开发
/gsd:pause-work 生成交接上下文 中途暂停时
/gsd:settings 修改 workflow 和模型配置 调整成本、质量、自动化强度
/gsd:set-profile <profile> 切换模型策略 quality / balanced / budget 间切换
/gsd:add-phase 在路线图末尾追加阶段 新增范围时
/gsd:insert-phase N 在中间插入紧急阶段 中途插单时
/gsd:remove-phase N 删除未来阶段并重排编号 砍需求时
/gsd:audit-milestone 检查里程碑是否达成完成定义 发布前
/gsd:complete-milestone 归档里程碑并打 tag 里程碑收尾时

阶段职责表

阶段 输入重点 输出重点 风险点
new-project 项目目标、范围、技术栈 项目上下文和路线图 需求边界不清
discuss-phase 设计偏好、实现边界、非目标 CONTEXT.md 跳过后会出现默认假设
plan-phase 当前阶段目标、上下文、研究结果 原子化计划文件 phase 过大导致计划失真
execute-phase 已确认的 plan 代码、提交、总结 plan 粒度过大或依赖关系混乱
verify-work 阶段交付结果 UAT.md、修复计划 只看测试不做人工验收

Demo 1:新建 Todo Web App

目标:

  • Next.js + TypeScript + SQLite
  • 单用户
  • 支持新增、完成、删除

执行顺序:

/gsd:new-project
/gsd:discuss-phase 1
/gsd:ui-phase 1
/gsd:plan-phase 1
/gsd:execute-phase 1
/gsd:verify-work 1

new-project 输入示例:

做一个 Todo Web App。
技术栈是 Next.js + TypeScript + SQLite。
第一版不做登录,只做单用户。
目标是完成增删改查闭环,移动端可用。

discuss-phase 1 输入示例:

页面保持高信息密度,不做营销风格设计。
列表项支持快速完成和删除。
空状态必须给明确操作提示。
移动端点击区域要足够大。

plan-phase 1 之后检查:

  • 每个 plan 范围足够小
  • 每个 plan 都有明确 verify 步骤

verify-work 1 检查项:

  1. 新建待办是否成功
  2. 状态切换是否即时生效
  3. 删除是否可恢复或至少行为一致
  4. 刷新后数据是否存在
  5. 移动端交互是否误触

Demo 2:在现有项目中追加功能

/gsd:map-codebase
/gsd:new-project
/gsd:discuss-phase 1
/gsd:plan-phase 1
/gsd:execute-phase 1
/gsd:verify-work 1

map-codebase 会生成:

  • STACK.md
  • ARCHITECTURE.md
  • STRUCTURE.md
  • CONVENTIONS.md
  • TESTING.md
  • INTEGRATIONS.md
  • CONCERNS.md

后续规划会直接基于现有结构。

小需求可直接用:

/gsd:quick

例如:

为博客新增文章搜索页,支持标题和摘要匹配,保持现有站点风格。

适用场景:

  • 小功能
  • bug 修复
  • 配置改动
  • 一次性维护任务

最值得先掌握的命令

  • /gsd:help
  • /gsd:new-project
  • /gsd:discuss-phase
  • /gsd:plan-phase
  • /gsd:execute-phase
  • /gsd:verify-work
  • /gsd:map-codebase
  • /gsd:quick

命令体系思维导图

mindmap
  root((GSD))
    初始化
      /gsd:new-project
      /gsd:map-codebase
    阶段推进
      /gsd:discuss-phase
      /gsd:ui-phase
      /gsd:plan-phase
      /gsd:execute-phase
      /gsd:verify-work
      /gsd:ui-review
    导航恢复
      /gsd:progress
      /gsd:resume-work
      /gsd:pause-work
    快速任务
      /gsd:quick
    路线图调整
      /gsd:add-phase
      /gsd:insert-phase
      /gsd:remove-phase
    配置
      /gsd:settings
      /gsd:set-profile
    收尾发布
      /gsd:audit-milestone
      /gsd:complete-milestone

配置建议

配置文件是 .planning/config.json

mode

  • interactive: 默认,适合大多数项目
  • yolo: 自动化更强,适合熟练用户

granularity

  • coarse
  • standard
  • fine

阶段越复杂,越适合 fine

model_profile

  • quality
  • balanced
  • budget
  • inherit

建议:

  • 原型期:budget
  • 常规开发:balanced
  • 关键阶段:quality

workflow 开关

  • workflow.research
  • workflow.plan_check
  • workflow.verifier
  • workflow.nyquist_validation
  • workflow.ui_phase
  • workflow.ui_safety_gate

不熟悉领域时,建议保持默认;只做快速原型时再酌情关闭。

典型误区

跳过 discuss-phase

常见结果不是功能错误,而是实现风格偏离预期。AI 会用默认判断填满灰区。

phase 切太大

如果一个阶段同时覆盖数据库、API、前端、权限、测试、部署,plan 往往会失真。GSD 不是拿来吞掉模糊范围的。

不做 verify-work

测试通过不等于功能完成。尤其是交互、空状态、错误流程、移动端兼容这类问题,必须人工验收。

老项目不跑 map-codebase

这会增加“风格不一致”和“破坏现有结构”的概率。

结论

GSD 的价值在于把 AI 编程从单轮 prompt 提升为阶段化工作流,更适合多阶段任务和持续交付。

如果你的项目已经开始出现需求拆分、阶段推进、跨会话恢复、验收闭环这些问题,GSD 值得直接上手。

Claude Code Agent Teams 上手指南:启用、协作与最佳实践

Agent Teams 封面图

OpenClaw 社区先做到了多会话协作,Anthropic 直接把它做成了官方功能。 这不是一个小更新,而是 Claude Code 的工作方式从“单兵作战”升级为“团队协作”。这篇文章带你快速上手 Agent Teams:什么时候值得用、怎么开、怎么配、怎么管、哪里会踩坑。

先说结论:这不是“更强的 Sub-agent”,而是“真正的团队”

以前你只有一个会话,所有事情顺序完成:先研究、再改代码、再写测试。Agent Teams 出现后,一个 lead 负责拆解任务,多个 teammate 并行协作,还能互相交流、共享任务列表。

更直观的对比:

  • Sub-agents:像派一个助理去拿答案,回来报告。
  • Agent Teams:像把一群专家放进同一个项目里协作。

如果任务需要互相沟通、互相校验,Agent Teams 才真正发挥价值。

什么时候该用?什么时候是过度设计?

适合用的场景(并行能带来明显收益):

  • 研究/评审:不同队友分别看代码、查资料、提风险点。
  • 跨层开发:一个队友做前端,一个队友做后端,一个队友写测试。
  • 调试:多条假设并行验证,避免单一路径走歪。

不适合用的场景

  • 强顺序依赖(第二步必须等第一步完成)。
  • 同文件高频编辑(容易覆盖冲突)。
  • 很小的任务(协调成本比收益更高)。

一句话:能拆成独立任务的,用团队;必须串行的,用单人或 sub-agent。

如何启用 Agent Teams(30 秒完成)

Agent Teams 目前是实验功能,默认关闭。你有两种方式开启:

方式 1:修改 settings.json(推荐,持久化)

{
  "env": {
    "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
  }
}

方式 2:环境变量(临时)

export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1

启用后,Claude Code 会识别团队指令。官方文档可参考:
Agent Teams 文档

启动团队:最重要的是“清晰的角色分工”

你不需要特殊语法,只要给 lead 一个清晰任务和分工提示。

示例(高质量提示):

我在设计一个 CLI 工具,扫描代码里的 TODO 并生成报告。创建一个 agent team:

  • teammate A:从用户体验角度给出功能优先级
  • teammate B:提出技术架构与实现路径
  • teammate C:以“反对者”视角挑出风险与替代方案

好的 prompt = 明确角色 + 独立任务 + 预期输出。这一步越清楚,成本越低。

运行中如何控制团队

当团队跑起来后,必须知道 3 个关键操作:

  1. 直接和任意队友对话
  • In-process 模式:Shift + 上/下 切换队友
  • Split-pane 模式:点击对应 pane(需要 tmux 或 iTerm2)
  1. Delegate mode(防止 lead 抢活)
    有时候 lead 会“忍不住自己干”。开启 delegate mode 后,lead 只能协调:分配任务、发消息、管理列表。
  • 切换快捷键:Shift + Tab
  1. 任务分配与回收
  • 可由 lead 指派,也可被队友自动领取
  • 队友完成后建议主动“汇报 + 标记完成”

Agent Teams vs Sub-agents:如何选?

决策问题就一个:是否需要队友之间的沟通?

  • 不需要互相沟通,只要结果 → Sub-agents(便宜、快、适合单点任务)
  • 需要协作、互相对齐 → Agent Teams(贵、但能处理复杂系统)

成本提醒:Agent Teams 可能是 sub-agent 成本的数倍,请在“收益明显”时使用。

最佳实践:少走弯路的 7 条经验

  1. Spawn prompt 要细:不要假设队友知道你的历史上下文。清楚写清目标、范围、输入/输出。
  2. 任务粒度适中:能在 15–40 分钟内完成并交付。
  3. 避免同文件编辑:同一文件交给一个队友,减少合并冲突。
  4. 定期 check-in:每 15–20 分钟主动询问进展,避免跑偏太久。
  5. 先做“研究/评审”试水:最容易看到并行价值。
  6. 任务列表清晰:拆成可验收的子任务,完成后立刻标记。
  7. 用角色命名:如 frontend, backend, test, review,便于协作。

当前已知限制(避免误踩)

  • 会话恢复不支持/resume/rewind 不会恢复队友。
  • 任务状态偶尔延迟:完成了但未标记,需手动更新或提醒。
  • 一个会话只能有一个团队:不能创建多个团队或转移 lead。
  • Split-pane 有终端限制:仅支持 tmux 或 iTerm2。

Key Takeaways

  • Agent Teams 适合并行协作,不适合顺序强依赖任务。
  • 清晰的角色与任务拆解是效率与成本的关键。
  • Delegate mode 可以让 lead 专注管理,不再自己动手。

Agent Teams 封面图

OpenClaw 社区先做到了多会话协作,Anthropic 直接把它做成了官方功能。 这不是一个小更新,而是 Claude Code 的工作方式从“单兵作战”升级为“团队协作”。这篇文章带你快速上手 Agent Teams:什么时候值得用、怎么开、怎么配、怎么管、哪里会踩坑。

先说结论:这不是“更强的 Sub-agent”,而是“真正的团队”

以前你只有一个会话,所有事情顺序完成:先研究、再改代码、再写测试。Agent Teams 出现后,一个 lead 负责拆解任务,多个 teammate 并行协作,还能互相交流、共享任务列表。

更直观的对比:

  • Sub-agents:像派一个助理去拿答案,回来报告。
  • Agent Teams:像把一群专家放进同一个项目里协作。

如果任务需要互相沟通、互相校验,Agent Teams 才真正发挥价值。

什么时候该用?什么时候是过度设计?

适合用的场景(并行能带来明显收益):

  • 研究/评审:不同队友分别看代码、查资料、提风险点。
  • 跨层开发:一个队友做前端,一个队友做后端,一个队友写测试。
  • 调试:多条假设并行验证,避免单一路径走歪。

不适合用的场景

  • 强顺序依赖(第二步必须等第一步完成)。
  • 同文件高频编辑(容易覆盖冲突)。
  • 很小的任务(协调成本比收益更高)。

一句话:能拆成独立任务的,用团队;必须串行的,用单人或 sub-agent。

如何启用 Agent Teams(30 秒完成)

Agent Teams 目前是实验功能,默认关闭。你有两种方式开启:

方式 1:修改 settings.json(推荐,持久化)

{
  "env": {
    "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
  }
}

方式 2:环境变量(临时)

export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1

启用后,Claude Code 会识别团队指令。官方文档可参考:
Agent Teams 文档

启动团队:最重要的是“清晰的角色分工”

你不需要特殊语法,只要给 lead 一个清晰任务和分工提示。

示例(高质量提示):

我在设计一个 CLI 工具,扫描代码里的 TODO 并生成报告。创建一个 agent team:

  • teammate A:从用户体验角度给出功能优先级
  • teammate B:提出技术架构与实现路径
  • teammate C:以“反对者”视角挑出风险与替代方案

好的 prompt = 明确角色 + 独立任务 + 预期输出。这一步越清楚,成本越低。

运行中如何控制团队

当团队跑起来后,必须知道 3 个关键操作:

  1. 直接和任意队友对话
  • In-process 模式:Shift + 上/下 切换队友
  • Split-pane 模式:点击对应 pane(需要 tmux 或 iTerm2)
  1. Delegate mode(防止 lead 抢活)
    有时候 lead 会“忍不住自己干”。开启 delegate mode 后,lead 只能协调:分配任务、发消息、管理列表。
  • 切换快捷键:Shift + Tab
  1. 任务分配与回收
  • 可由 lead 指派,也可被队友自动领取
  • 队友完成后建议主动“汇报 + 标记完成”

Agent Teams vs Sub-agents:如何选?

决策问题就一个:是否需要队友之间的沟通?

  • 不需要互相沟通,只要结果 → Sub-agents(便宜、快、适合单点任务)
  • 需要协作、互相对齐 → Agent Teams(贵、但能处理复杂系统)

成本提醒:Agent Teams 可能是 sub-agent 成本的数倍,请在“收益明显”时使用。

最佳实践:少走弯路的 7 条经验

  1. Spawn prompt 要细:不要假设队友知道你的历史上下文。清楚写清目标、范围、输入/输出。
  2. 任务粒度适中:能在 15–40 分钟内完成并交付。
  3. 避免同文件编辑:同一文件交给一个队友,减少合并冲突。
  4. 定期 check-in:每 15–20 分钟主动询问进展,避免跑偏太久。
  5. 先做“研究/评审”试水:最容易看到并行价值。
  6. 任务列表清晰:拆成可验收的子任务,完成后立刻标记。
  7. 用角色命名:如 frontend, backend, test, review,便于协作。

当前已知限制(避免误踩)

  • 会话恢复不支持/resume/rewind 不会恢复队友。
  • 任务状态偶尔延迟:完成了但未标记,需手动更新或提醒。
  • 一个会话只能有一个团队:不能创建多个团队或转移 lead。
  • Split-pane 有终端限制:仅支持 tmux 或 iTerm2。

Key Takeaways

  • Agent Teams 适合并行协作,不适合顺序强依赖任务。
  • 清晰的角色与任务拆解是效率与成本的关键。
  • Delegate mode 可以让 lead 专注管理,不再自己动手。

Claude Code 创作者分享的 10 条高效使用技巧

Claude Code Tips Cover

这是一位名为 Boris 的作者在推文中整理的使用心得。他表示这些技巧来自 Claude Code 团队的内部实践,同时也强调:没有唯一正确的用法,每个人都应该根据自己的工作流不断试验与调整。

原文地址:https://x.com/bcherny/status/2017742741636321619

1) 并行:3–5 个 worktree 同时跑

团队的 No.1 技巧:同时开 3–5 个 git worktree,每个 worktree 对应一个 Claude 会话。上下文更干净、并行更高效。

Worktree 并行示例

实践建议:

  • 给 worktree 起名并设 alias(如 za/zb/zc
  • 单独开一个“分析 worktree”用于日志/查询

2) 复杂任务先进入 Plan Mode

先把计划做扎实,再执行才容易一枪到位。

Plan Mode 示例

一些团队成员会:

  • 让一个 Claude 写计划
  • 再让另一个 Claude 以“资深工程师视角”审核

一旦走偏就回到 Plan Mode 重规划,不要硬推。

3) 把 CLAUDE.md 当成自我修正系统

每次纠正 Claude 后,都补一句:

“更新 CLAUDE.md,避免下次再犯。”

CLAUDE.md 记忆示例

持续迭代后,Claude 的错误率会明显下降。

4) 把重复劳动写成 Skill / Slash Command

做超过一天的事,就值得自动化。

团队建议:

  • /techdebt:会话末尾清理重复代码
  • 自动同步 Slack / Asana / GDrive / GitHub 上下文
  • 构建“数据工程师风格”的 agent 写 dbt / review / 测试

5) 让 Claude 自己修 Bug

不要过度指导,把问题喂给它即可:

Slack MCP 修复示例

  • 贴 Slack bug 线程说 “fix”
  • 或直接说 “修复 failing CI tests”
  • 把 Docker logs 直接贴进去

6) Prompt 进阶技巧

  • 让 Claude 审你
    “Grill me on these changes, don’t PR until I pass.”
  • 不满意就推翻
    “Knowing everything you know now, scrap this and implement the elegant solution.”
  • 先写清楚 spec:越具体越少返工

7) 终端与环境配置

团队喜欢 Ghostty(同步渲染、24-bit 色彩、完整 Unicode)。

终端与环境配置示例

提升效率的小习惯:

  • /statusline 显示上下文与分支
  • 终端 tab 颜色区分任务
  • tmux 一任务一 tab
  • 语音输入(Mac 双击 fn)提示词更完整

8) Use Subagents

在需求结尾加一句 “use subagents”,Claude 会开多个子任务并行。

Subagents 并行示例

优点:主上下文更干净、并行探索更快。

9) 用 Claude 做数据分析

团队把 BigQuery CLI 直接接到 Claude Code,6 个月没写 SQL

只要有 CLI / MCP / API 的数据库都能用同样方法接入。

10) 用 Claude 学习新知识

  • /config 开启 Learning / Explanatory 模式
  • 让 Claude 生成 HTML 讲义
  • 让 Claude 画 ASCII 架构图
  • 做“间隔复习”学习 skill:你讲理解,Claude 追问补全

总结:Claude Code 的价值不在单次对话,而在于工作流的长期迭代。并行化、计划驱动、规则沉淀与技能化工具,是提升效率的核心。

Claude Code Tips Cover

这是一位名为 Boris 的作者在推文中整理的使用心得。他表示这些技巧来自 Claude Code 团队的内部实践,同时也强调:没有唯一正确的用法,每个人都应该根据自己的工作流不断试验与调整。

原文地址:https://x.com/bcherny/status/2017742741636321619

1) 并行:3–5 个 worktree 同时跑

团队的 No.1 技巧:同时开 3–5 个 git worktree,每个 worktree 对应一个 Claude 会话。上下文更干净、并行更高效。

Worktree 并行示例

实践建议:

  • 给 worktree 起名并设 alias(如 za/zb/zc
  • 单独开一个“分析 worktree”用于日志/查询

2) 复杂任务先进入 Plan Mode

先把计划做扎实,再执行才容易一枪到位。

Plan Mode 示例

一些团队成员会:

  • 让一个 Claude 写计划
  • 再让另一个 Claude 以“资深工程师视角”审核

一旦走偏就回到 Plan Mode 重规划,不要硬推。

3) 把 CLAUDE.md 当成自我修正系统

每次纠正 Claude 后,都补一句:

“更新 CLAUDE.md,避免下次再犯。”

CLAUDE.md 记忆示例

持续迭代后,Claude 的错误率会明显下降。

4) 把重复劳动写成 Skill / Slash Command

做超过一天的事,就值得自动化。

团队建议:

  • /techdebt:会话末尾清理重复代码
  • 自动同步 Slack / Asana / GDrive / GitHub 上下文
  • 构建“数据工程师风格”的 agent 写 dbt / review / 测试

5) 让 Claude 自己修 Bug

不要过度指导,把问题喂给它即可:

Slack MCP 修复示例

  • 贴 Slack bug 线程说 “fix”
  • 或直接说 “修复 failing CI tests”
  • 把 Docker logs 直接贴进去

6) Prompt 进阶技巧

  • 让 Claude 审你
    “Grill me on these changes, don’t PR until I pass.”
  • 不满意就推翻
    “Knowing everything you know now, scrap this and implement the elegant solution.”
  • 先写清楚 spec:越具体越少返工

7) 终端与环境配置

团队喜欢 Ghostty(同步渲染、24-bit 色彩、完整 Unicode)。

终端与环境配置示例

提升效率的小习惯:

  • /statusline 显示上下文与分支
  • 终端 tab 颜色区分任务
  • tmux 一任务一 tab
  • 语音输入(Mac 双击 fn)提示词更完整

8) Use Subagents

在需求结尾加一句 “use subagents”,Claude 会开多个子任务并行。

Subagents 并行示例

优点:主上下文更干净、并行探索更快。

9) 用 Claude 做数据分析

团队把 BigQuery CLI 直接接到 Claude Code,6 个月没写 SQL

只要有 CLI / MCP / API 的数据库都能用同样方法接入。

10) 用 Claude 学习新知识

  • /config 开启 Learning / Explanatory 模式
  • 让 Claude 生成 HTML 讲义
  • 让 Claude 画 ASCII 架构图
  • 做“间隔复习”学习 skill:你讲理解,Claude 追问补全

总结:Claude Code 的价值不在单次对话,而在于工作流的长期迭代。并行化、计划驱动、规则沉淀与技能化工具,是提升效率的核心。

AI工具使用心得

一、Cursor

Cursor 官方文档

Cursor Agent 模式

Cursor 是在 IDE 中深度集成的 AI 编程助手,适合日常开发场景。

1.1 Modes:四种工作模式

模式 适用场景 能力 工具
Agent 复杂功能、重构 自主探索、多文件编辑 启用全部工具
Ask 学习、规划、提问 只读探索,无自动修改 仅启用搜索工具
Plan 需要规划的复杂功能 执行前创建详细计划 启用全部工具
Debug 棘手 Bug、回归问题 生成假设、日志埋点、运行时分析 全部工具 + 调试服务器

1.2 Rules:让 AI 真正理解你的项目

由于 LLM 在不同补全之间不会保留记忆,Rules 在提示级别提供持久、可重用的上下文

四种规则类型:

类型 位置 作用范围 特点
项目规则 .cursor/rules/ 当前代码库 受版本控制,可用 globs 限定范围
用户规则 Settings → Rules 全局所有项目 个人偏好,跨项目生效
团队规则 Cursor Dashboard 整个团队 Team/Enterprise 可强制执行
AGENTS.md 项目根目录 当前项目 简洁 Markdown,无复杂配置

项目规则示例(Linus Torvalds 风格):

文件:.cursor/rules/codereview.mdc

---
alwaysApply: true
---

## 角色定义
你是 Linus Torvalds,Linux 内核创造者和首席架构师。

## 核心哲学
1. **好品味** - 消除边界情况优于增加条件判断
2. **Never break userspace** - 向后兼容性神圣不可侵犯
3. **实用主义** - 解决实际问题,不是假想威胁
4. **简洁执念** - 超过3层缩进就该重构

## Linus式问题分解(五层分析)
- **数据结构**:核心数据是什么?关系如何?
- **特殊情况**:找出 if/else,能否用数据结构消除?
- **复杂度审查**:功能本质是什么?概念能否减半?
- **破坏性分析**:会 break 什么?如何零破坏改进?
- **实用性验证**:生产环境真有问题吗?

## 代码审查输出
【品味评分】🟢 好品味 / 🟡 凑合 / 🔴 垃圾
【致命问题】[直接指出最糟糕的部分]
【改进方向】"把这个特殊情况消除掉"

最佳实践:

  • ✅ 规则控制在 500 行以内,大规则拆分
  • ✅ 用 @file.ts 引用文件而非复制内容
  • ❌ 避免照搬风格指南(用 linter)
  • ❌ 不记录常见命令(Agent 已了解 npm/git)

AGENTS.md 示例(简化版):

文件:AGENTS.md(项目根目录)

# 灵播资金管理系统 - AI 编码指南

## 项目概述
Spring Boot 多模块 Maven 项目,管理会员资金、优惠券、积分、红包等业务。

技术栈:Java 11, Spring Boot 2.6, MyBatis Plus, 支付宝/微信支付 SDK

## 项目结构
lingbo-funds/
├── api/          # Feign 接口
├── bussiness/    # 业务逻辑(Service)
├── repository/   # 数据访问(DAO/Mapper)
└── web/          # Controller

## 关键规范

### 命名
- Controller: *Controller
- Service: *Service / *ServiceImpl
- DAO: *Dao / *DaoImpl
- Mapper: *MapperExt

### 注解(必须)
- @Slf4j - 日志
- @RequiredArgsConstructor - 构造器注入
- @Service / @RestController

### 日志
log.info("操作: {}, 参数: {}", operation, params);
// 不要字符串拼接

二、Claude Code / Codex

Claude Code 文档 | Codex 文档

Claude Code 终端界面

命令行环境下的 AI 助手,适合 SSH 服务器、批量处理、自动化脚本等无 GUI 场景。

2.1 常用技巧

命令 作用
!bash <cmd> 直接执行 shell 命令
@file / #file 引用文件,减少搜索
/model <name> 切换模型(sonnet/opus)
/skills 查看可用技能
--plan 只规划不执行
-a / --apply 自动确认改动

2.2 安全红线

  • ⚠️ 危险操作(rm、DROP TABLE)必须二次确认
  • ⚠️ 敏感文件(.env、密钥)加入忽略列表
  • ⚠️ 不在生产环境直接 auto-edit

2.3 Commands:快捷指令

把常用操作流程封装成 /command-name 一键执行。

示例:创建合并请求

~/.claude/commands/yunxiao/merge-to-develop.md

---
allowed-tools: Bash(git status:*), MCP(get_current_user)
description: 创建代码合并请求到 develop 分支
---

帮我在 yunxiao 中基于当前分支创建 MR 到 develop

使用:/merge-to-develop

2.4 Skills:能力扩展包

把特定领域的工具、知识打包成可复用模块。

目录结构:

my-skill/
├── SKILL.md          # 核心定义:描述、约束、用法
├── scripts/          # 可执行脚本
└── references/       # 参考资料(schema、文档)

示例:SQL Expert Skill

  • SKILL.md:定义允许查询的表、参数化规范、脱敏规则
  • scripts/query.py:封装数据库连接,内置只读限制
  • references/schema.md:表结构文档

使用:直接说「查浦江区的租户」,AI 自动查 schema → 生成 SQL → 执行 → 脱敏返回。

Command vs Skill:

Command Skill
定位 快捷指令 能力模块
触发 /name 主动调用 AI 根据上下文判断
场景 固定流程 需要专业知识的任务
本质 快捷方式 工具箱

2.5 Agent:自主执行任务的智能体

什么是 Agent
Agent 是能够自主规划和执行任务的 AI 实体。与单次对话不同,Agent 可以:

  • 拆解复杂任务为多个步骤
  • 自主调用 Tools/Skills 完成子任务
  • 根据执行反馈调整策略
  • 持续运行直到目标达成

典型 Agent 工作流:

用户目标 → Agent 规划 → 步骤1 → 步骤2 → 步骤3 → 结果验证 → 完成
                ↑         ↓       ↓       ↓
                └──── 遇到异常时调整策略 ──┘

示例:自动化数据分析 Agent

目标:分析本月销售数据并生成报告

执行过程:
1. 连接数据库(调用 SQL Skill)
2. 提取销售数据(执行查询脚本)
3. 数据清洗和处理(调用 Python Tool)
4. 生成图表(调用可视化 Tool)
5. 撰写分析报告(LLM 生成)
6. 发送邮件(调用邮件 Tool)

2.6 SubAgent:分而治之的协作模式

什么是 SubAgent
当任务过于复杂时,主 Agent 可以创建多个 SubAgent 并行处理子任务,最后整合结果。

使用场景:

  • 大型代码库重构(按模块分配)
  • 多源数据分析(各 SubAgent 处理不同数据源)
  • 批量任务处理(并行加速)

工作模式:

主 Agent(协调者)
    ├─ SubAgent A → 处理模块 A → 返回结果
    ├─ SubAgent B → 处理模块 B → 返回结果
    └─ SubAgent C → 处理模块 C → 返回结果
         ↓
    整合所有结果 → 最终输出

能力对比:

能力 Command Skill Agent SubAgent
触发方式 手动 /cmd AI 判断 目标驱动 主 Agent 分配
复杂度 单步操作 领域任务 多步骤任务 并行子任务
自主性 分布式
典型场景 快捷操作 工具调用 端到端任务 大规模处理

三、N8N

官方文档

N8N Workflow 编辑器

  • Workflow:把重复劳动固化(总结、通知、发布)
  • 结构化:输入输出字段化,避免自由文本猜意图
  • Chat:把 workflow 包装成一句话入口

四、Kiro

Kiro 官方文档

Kiro IDE 界面

Kiro 是专为 AI 编程设计的 IDE,核心是两个互补的工作模式。

4.1 VibeCoding 模式

定位:快速原型、灵感验证、小工具开发

特点是「边想边做」,适合:

  • 验证一个想法是否可行
  • 写一次性脚本或内部工具
  • 探索性编程,不确定最终形态

流程:描述需求 → AI 生成代码 → 试运行 → 调整描述 → 迭代

4.2 Spec 模式(SDD)

定位:复杂功能、团队协作、需要长期维护的代码

Spec-Driven Development(规格驱动开发):先写清楚「做什么」,再让 AI 生成「怎么做」。

SDD 流程:

graph LR
    A[需求描述] --> B[编写 Spec]
    B --> C{Spec 评审}
    C -->|不通过| B
    C -->|通过| D[AI 生成实现]
    D --> E[测试验证]
    E -->|失败| F[调整 Spec]
    F --> B
    E -->|通过| G[代码入库]

Spec 包含什么:

## 功能名称

### 输入
- 参数1:类型,约束条件
- 参数2:类型,约束条件

### 输出
- 返回值:类型
- 错误情况:错误码 + 说明

### 边界情况
1. 空输入如何处理
2. 超大输入如何处理
3. 并发场景如何处理

### 验收标准
- [ ] 单元测试覆盖率 > 80%
- [ ] 边界情况都有测试用例
- [ ] 性能指标满足 XXX

4.3 两种模式对比

维度 VibeCoding Spec 模式
适用场景 原型、探索、小工具 复杂功能、团队协作
前置工作 一句话描述 详细的 Spec 文档
代码质量 能用就行 可维护、可测试
迭代方式 边做边改 Spec 评审后再实现
适合谁 个人快速验证 正式项目开发

建议:用 VibeCoding 探索思路,确定可行后切换到 Spec 模式落地。


五、Clawdbot / OpenClaw

官方文档

OpenClaw Logo

5.1 解决了什么问题

现有 AI 工具大多是「黑盒」或「单机版」:

  • ChatGPT/Claude:网页对话,无法连接你的系统
  • Cursor/Codex:个人开发工具,不能服务团队
  • N8N: Workflow 工具,但 AI 能力弱

Clawdbot 定位:可配置的智能体框架,让你自建 AI 助手:

  • 多渠道接入:同时连接 Telegram、Slack、钉钉、飞书等,一处配置多端可用
  • Tools 生态:Skills 模块化,按需加载(数据库查询、文件操作、API 调用等)
  • Cron 定时:自动执行定时任务(日报、监控、提醒)
  • 权限边界:细粒度控制谁可以用什么功能

5.2 核心架构

WhatsApp / Telegram / Discord / iMessage (+ plugins)
 │
 ▼
┌───────────────────────────┐
│         Gateway           │  ws://127.0.0.1:18789
│      (single source)      │
│                           │  http://host:18793/__claw__/canvas/
└───────────┬───────────────┘
            │
            ├─ Agent (RPC)
            ├─ CLI (claw …)
            ├─ WebChat UI
            ├─ macOS app
            ├─ iOS/Android node (WebSocket + pairing)
            └─ Cron 定时任务

架构特点:

  • Gateway 为核心:单一长连接进程管理所有渠道和 WebSocket 控制面
  • 多渠道接入:WhatsApp、Telegram、Discord、iMessage 等统一处理
  • 多终端支持:Web、桌面、移动端均可接入
  • 本地优先:默认监听 ws://127.0.0.1:18789,支持 Tailscale 远程访问

5.3 适用场景

  • 团队内部助手:部署在公司服务器,连接内部系统(Git、DB、监控)
  • 客户服务机器人:接入钉钉/飞书/Slack,自动回答常见问题
  • 自动化运维:定时检查服务状态,异常时告警
  • 个人知识库:私有化部署,连接本地文件和笔记

总结:没有最好,只有最顺手

上面列的这些工具,没有绝对的优劣之分。每个人的工作流不同,适合的也不一样:

  • 有人离不开 Cursor 的沉浸式编码体验
  • 有人更喜欢 Claude Code 的终端快感
  • 有人用 N8N 搭了个自动化全家桶
  • 也有人自己折腾 Clawdbot 搞私有化部署

建议

  1. 先挑一个最顺眼的试试,用顺手了再考虑其他的
  2. 不要贪多,工具越多切换成本越高
  3. 遇到瓶颈时,再回头来看看有没有更合适的替代方案

最终,工具是为人服务的。选那个让你 coding 时最爽的就行。

一、Cursor

Cursor 官方文档

Cursor Agent 模式

Cursor 是在 IDE 中深度集成的 AI 编程助手,适合日常开发场景。

1.1 Modes:四种工作模式

模式 适用场景 能力 工具
Agent 复杂功能、重构 自主探索、多文件编辑 启用全部工具
Ask 学习、规划、提问 只读探索,无自动修改 仅启用搜索工具
Plan 需要规划的复杂功能 执行前创建详细计划 启用全部工具
Debug 棘手 Bug、回归问题 生成假设、日志埋点、运行时分析 全部工具 + 调试服务器

1.2 Rules:让 AI 真正理解你的项目

由于 LLM 在不同补全之间不会保留记忆,Rules 在提示级别提供持久、可重用的上下文

四种规则类型:

类型 位置 作用范围 特点
项目规则 .cursor/rules/ 当前代码库 受版本控制,可用 globs 限定范围
用户规则 Settings → Rules 全局所有项目 个人偏好,跨项目生效
团队规则 Cursor Dashboard 整个团队 Team/Enterprise 可强制执行
AGENTS.md 项目根目录 当前项目 简洁 Markdown,无复杂配置

项目规则示例(Linus Torvalds 风格):

文件:.cursor/rules/codereview.mdc

---
alwaysApply: true
---

## 角色定义
你是 Linus Torvalds,Linux 内核创造者和首席架构师。

## 核心哲学
1. **好品味** - 消除边界情况优于增加条件判断
2. **Never break userspace** - 向后兼容性神圣不可侵犯
3. **实用主义** - 解决实际问题,不是假想威胁
4. **简洁执念** - 超过3层缩进就该重构

## Linus式问题分解(五层分析)
- **数据结构**:核心数据是什么?关系如何?
- **特殊情况**:找出 if/else,能否用数据结构消除?
- **复杂度审查**:功能本质是什么?概念能否减半?
- **破坏性分析**:会 break 什么?如何零破坏改进?
- **实用性验证**:生产环境真有问题吗?

## 代码审查输出
【品味评分】🟢 好品味 / 🟡 凑合 / 🔴 垃圾
【致命问题】[直接指出最糟糕的部分]
【改进方向】"把这个特殊情况消除掉"

最佳实践:

  • ✅ 规则控制在 500 行以内,大规则拆分
  • ✅ 用 @file.ts 引用文件而非复制内容
  • ❌ 避免照搬风格指南(用 linter)
  • ❌ 不记录常见命令(Agent 已了解 npm/git)

AGENTS.md 示例(简化版):

文件:AGENTS.md(项目根目录)

# 灵播资金管理系统 - AI 编码指南

## 项目概述
Spring Boot 多模块 Maven 项目,管理会员资金、优惠券、积分、红包等业务。

技术栈:Java 11, Spring Boot 2.6, MyBatis Plus, 支付宝/微信支付 SDK

## 项目结构
lingbo-funds/
├── api/          # Feign 接口
├── bussiness/    # 业务逻辑(Service)
├── repository/   # 数据访问(DAO/Mapper)
└── web/          # Controller

## 关键规范

### 命名
- Controller: *Controller
- Service: *Service / *ServiceImpl
- DAO: *Dao / *DaoImpl
- Mapper: *MapperExt

### 注解(必须)
- @Slf4j - 日志
- @RequiredArgsConstructor - 构造器注入
- @Service / @RestController

### 日志
log.info("操作: {}, 参数: {}", operation, params);
// 不要字符串拼接

二、Claude Code / Codex

Claude Code 文档 | Codex 文档

Claude Code 终端界面

命令行环境下的 AI 助手,适合 SSH 服务器、批量处理、自动化脚本等无 GUI 场景。

2.1 常用技巧

命令 作用
!bash <cmd> 直接执行 shell 命令
@file / #file 引用文件,减少搜索
/model <name> 切换模型(sonnet/opus)
/skills 查看可用技能
--plan 只规划不执行
-a / --apply 自动确认改动

2.2 安全红线

  • ⚠️ 危险操作(rm、DROP TABLE)必须二次确认
  • ⚠️ 敏感文件(.env、密钥)加入忽略列表
  • ⚠️ 不在生产环境直接 auto-edit

2.3 Commands:快捷指令

把常用操作流程封装成 /command-name 一键执行。

示例:创建合并请求

~/.claude/commands/yunxiao/merge-to-develop.md

---
allowed-tools: Bash(git status:*), MCP(get_current_user)
description: 创建代码合并请求到 develop 分支
---

帮我在 yunxiao 中基于当前分支创建 MR 到 develop

使用:/merge-to-develop

2.4 Skills:能力扩展包

把特定领域的工具、知识打包成可复用模块。

目录结构:

my-skill/
├── SKILL.md          # 核心定义:描述、约束、用法
├── scripts/          # 可执行脚本
└── references/       # 参考资料(schema、文档)

示例:SQL Expert Skill

  • SKILL.md:定义允许查询的表、参数化规范、脱敏规则
  • scripts/query.py:封装数据库连接,内置只读限制
  • references/schema.md:表结构文档

使用:直接说「查浦江区的租户」,AI 自动查 schema → 生成 SQL → 执行 → 脱敏返回。

Command vs Skill:

Command Skill
定位 快捷指令 能力模块
触发 /name 主动调用 AI 根据上下文判断
场景 固定流程 需要专业知识的任务
本质 快捷方式 工具箱

2.5 Agent:自主执行任务的智能体

什么是 Agent
Agent 是能够自主规划和执行任务的 AI 实体。与单次对话不同,Agent 可以:

  • 拆解复杂任务为多个步骤
  • 自主调用 Tools/Skills 完成子任务
  • 根据执行反馈调整策略
  • 持续运行直到目标达成

典型 Agent 工作流:

用户目标 → Agent 规划 → 步骤1 → 步骤2 → 步骤3 → 结果验证 → 完成
                ↑         ↓       ↓       ↓
                └──── 遇到异常时调整策略 ──┘

示例:自动化数据分析 Agent

目标:分析本月销售数据并生成报告

执行过程:
1. 连接数据库(调用 SQL Skill)
2. 提取销售数据(执行查询脚本)
3. 数据清洗和处理(调用 Python Tool)
4. 生成图表(调用可视化 Tool)
5. 撰写分析报告(LLM 生成)
6. 发送邮件(调用邮件 Tool)

2.6 SubAgent:分而治之的协作模式

什么是 SubAgent
当任务过于复杂时,主 Agent 可以创建多个 SubAgent 并行处理子任务,最后整合结果。

使用场景:

  • 大型代码库重构(按模块分配)
  • 多源数据分析(各 SubAgent 处理不同数据源)
  • 批量任务处理(并行加速)

工作模式:

主 Agent(协调者)
    ├─ SubAgent A → 处理模块 A → 返回结果
    ├─ SubAgent B → 处理模块 B → 返回结果
    └─ SubAgent C → 处理模块 C → 返回结果
         ↓
    整合所有结果 → 最终输出

能力对比:

能力 Command Skill Agent SubAgent
触发方式 手动 /cmd AI 判断 目标驱动 主 Agent 分配
复杂度 单步操作 领域任务 多步骤任务 并行子任务
自主性 分布式
典型场景 快捷操作 工具调用 端到端任务 大规模处理

三、N8N

官方文档

N8N Workflow 编辑器

  • Workflow:把重复劳动固化(总结、通知、发布)
  • 结构化:输入输出字段化,避免自由文本猜意图
  • Chat:把 workflow 包装成一句话入口

四、Kiro

Kiro 官方文档

Kiro IDE 界面

Kiro 是专为 AI 编程设计的 IDE,核心是两个互补的工作模式。

4.1 VibeCoding 模式

定位:快速原型、灵感验证、小工具开发

特点是「边想边做」,适合:

  • 验证一个想法是否可行
  • 写一次性脚本或内部工具
  • 探索性编程,不确定最终形态

流程:描述需求 → AI 生成代码 → 试运行 → 调整描述 → 迭代

4.2 Spec 模式(SDD)

定位:复杂功能、团队协作、需要长期维护的代码

Spec-Driven Development(规格驱动开发):先写清楚「做什么」,再让 AI 生成「怎么做」。

SDD 流程:

graph LR
    A[需求描述] --> B[编写 Spec]
    B --> C{Spec 评审}
    C -->|不通过| B
    C -->|通过| D[AI 生成实现]
    D --> E[测试验证]
    E -->|失败| F[调整 Spec]
    F --> B
    E -->|通过| G[代码入库]

Spec 包含什么:

## 功能名称

### 输入
- 参数1:类型,约束条件
- 参数2:类型,约束条件

### 输出
- 返回值:类型
- 错误情况:错误码 + 说明

### 边界情况
1. 空输入如何处理
2. 超大输入如何处理
3. 并发场景如何处理

### 验收标准
- [ ] 单元测试覆盖率 > 80%
- [ ] 边界情况都有测试用例
- [ ] 性能指标满足 XXX

4.3 两种模式对比

维度 VibeCoding Spec 模式
适用场景 原型、探索、小工具 复杂功能、团队协作
前置工作 一句话描述 详细的 Spec 文档
代码质量 能用就行 可维护、可测试
迭代方式 边做边改 Spec 评审后再实现
适合谁 个人快速验证 正式项目开发

建议:用 VibeCoding 探索思路,确定可行后切换到 Spec 模式落地。


五、Clawdbot / OpenClaw

官方文档

OpenClaw Logo

5.1 解决了什么问题

现有 AI 工具大多是「黑盒」或「单机版」:

  • ChatGPT/Claude:网页对话,无法连接你的系统
  • Cursor/Codex:个人开发工具,不能服务团队
  • N8N: Workflow 工具,但 AI 能力弱

Clawdbot 定位:可配置的智能体框架,让你自建 AI 助手:

  • 多渠道接入:同时连接 Telegram、Slack、钉钉、飞书等,一处配置多端可用
  • Tools 生态:Skills 模块化,按需加载(数据库查询、文件操作、API 调用等)
  • Cron 定时:自动执行定时任务(日报、监控、提醒)
  • 权限边界:细粒度控制谁可以用什么功能

5.2 核心架构

WhatsApp / Telegram / Discord / iMessage (+ plugins)
 │
 ▼
┌───────────────────────────┐
│         Gateway           │  ws://127.0.0.1:18789
│      (single source)      │
│                           │  http://host:18793/__claw__/canvas/
└───────────┬───────────────┘
            │
            ├─ Agent (RPC)
            ├─ CLI (claw …)
            ├─ WebChat UI
            ├─ macOS app
            ├─ iOS/Android node (WebSocket + pairing)
            └─ Cron 定时任务

架构特点:

  • Gateway 为核心:单一长连接进程管理所有渠道和 WebSocket 控制面
  • 多渠道接入:WhatsApp、Telegram、Discord、iMessage 等统一处理
  • 多终端支持:Web、桌面、移动端均可接入
  • 本地优先:默认监听 ws://127.0.0.1:18789,支持 Tailscale 远程访问

5.3 适用场景

  • 团队内部助手:部署在公司服务器,连接内部系统(Git、DB、监控)
  • 客户服务机器人:接入钉钉/飞书/Slack,自动回答常见问题
  • 自动化运维:定时检查服务状态,异常时告警
  • 个人知识库:私有化部署,连接本地文件和笔记

总结:没有最好,只有最顺手

上面列的这些工具,没有绝对的优劣之分。每个人的工作流不同,适合的也不一样:

  • 有人离不开 Cursor 的沉浸式编码体验
  • 有人更喜欢 Claude Code 的终端快感
  • 有人用 N8N 搭了个自动化全家桶
  • 也有人自己折腾 Clawdbot 搞私有化部署

建议

  1. 先挑一个最顺眼的试试,用顺手了再考虑其他的
  2. 不要贪多,工具越多切换成本越高
  3. 遇到瓶颈时,再回头来看看有没有更合适的替代方案

最终,工具是为人服务的。选那个让你 coding 时最爽的就行。

打造自动化科技新闻博客:Tech News Skill 介绍

背景

每天浏览 Hacker News、GitHub Trending、技术博客获取科技资讯既耗时又容易遗漏。Tech News Skill 把「抓取 → 翻译 → 分类 → 生成」这条流水线自动化,让你每天几分钟内就能产出当天的科技新闻汇总。

GitHub 地址
https://github.com/foundralab/my-skills/tree/main/tech-news

功能特性(最新)

特性 说明
多源聚合 Hacker News、Reddit Programming、GitHub Trending、Dev.to、Lobsters、Papers With Code、Hugging Face、arXiv AI
自动翻译 使用 Minimax 或 OpenAI API 生成中文标题与摘要
智能分类 AI、开发工具、基础设施、产品设计、趣闻观点
去重机制 默认排除近 3 天重复文章
图片支持 可自动抓取 og:image 并上传到 R2(可选)
输出稳定 统一 Markdown 结构,适合二次加工或直接发布

工作流程

抓取多源 → 去重 → 平衡筛选 → 翻译摘要 → (可选)处理配图 → 生成Markdown

前置条件

  • Python 3.8+ (python3)
  • 翻译 API:MINIMAX_API_KEYOPENAI_API_KEY
  • 可选图片上传:~/.r2-upload.ymlR2_UPLOAD_CONFIG

示例:

export MINIMAX_API_KEY=your_key
# 或
export OPENAI_API_KEY=your_key

# 如需图片上传
export R2_UPLOAD_CONFIG=~/.r2-upload.yml

快速开始

假设 skill 安装目录为 ~/.agents/skills/tech-news(以实际路径为准):

TECH_NEWS_DIR=~/.agents/skills/tech-news
DATE=$(date +%F)

python3 $TECH_NEWS_DIR/scripts/generate.py \
  --date $DATE \
  --save /tmp/tech-news-$DATE.md

如果你不需要图片:

python3 $TECH_NEWS_DIR/scripts/generate.py --date $DATE --no-images --save /tmp/tech-news-$DATE.md

常用参数

  • --sources <list>:指定新闻源(默认 8 个)
  • --count <n>:每源抓取数量(默认 15)
  • --limit <n>:最终精选数量(默认 10)
  • --max-images <n>:处理图片上限
  • --no-images:禁用图片
  • --output-only:仅输出 Markdown 到 stdout

文章格式

默认输出结构(节选):

# 📰 YYYY-MM-DD 科技早报

> 📊 **今日导读**
> 精选 10 条科技新闻
> 来源:Hacker News(4) | GitHub Trending(3) | Lobsters(3)

---

## 📋 文章速览

**AI 与机器学习**:3 篇
1. ...

自动化方案

1. Cron(本地定时)

0 9 * * * \
  python3 ~/.agents/skills/tech-news/scripts/generate.py --date $(date +%F) --save /tmp/tech-news-$(date +%F).md

生成后即可用于发布或二次编辑(可用脚本自动处理)。

2. GitHub Actions

generate.py 放到 workflow 中,定时生成并提交到仓库。

常见问题

  • 翻译质量一般:确认 MINIMAX_API_KEYOPENAI_API_KEY 已配置
  • 图片不显示:检查 R2_UPLOAD_CONFIG 或改用 --no-images
  • 重复内容:默认会排除近 3 天重复文章,可按需改代码

Skill 源码与目录结构

Tech News Skill 本地结构如下:

GitHub 仓库

tech-news/
├── SKILL.md
├── scripts/
│   ├── generate.py
│   ├── fetch_news.py
│   └── llm_translate.py
└── references/

如果你想改来源、分类或输出格式,直接修改 generate.py 即可。


让科技新闻聚合变得简单高效!

背景

每天浏览 Hacker News、GitHub Trending、技术博客获取科技资讯既耗时又容易遗漏。Tech News Skill 把「抓取 → 翻译 → 分类 → 生成」这条流水线自动化,让你每天几分钟内就能产出当天的科技新闻汇总。

GitHub 地址
https://github.com/foundralab/my-skills/tree/main/tech-news

功能特性(最新)

特性 说明
多源聚合 Hacker News、Reddit Programming、GitHub Trending、Dev.to、Lobsters、Papers With Code、Hugging Face、arXiv AI
自动翻译 使用 Minimax 或 OpenAI API 生成中文标题与摘要
智能分类 AI、开发工具、基础设施、产品设计、趣闻观点
去重机制 默认排除近 3 天重复文章
图片支持 可自动抓取 og:image 并上传到 R2(可选)
输出稳定 统一 Markdown 结构,适合二次加工或直接发布

工作流程

抓取多源 → 去重 → 平衡筛选 → 翻译摘要 → (可选)处理配图 → 生成Markdown

前置条件

  • Python 3.8+ (python3)
  • 翻译 API:MINIMAX_API_KEYOPENAI_API_KEY
  • 可选图片上传:~/.r2-upload.ymlR2_UPLOAD_CONFIG

示例:

export MINIMAX_API_KEY=your_key
# 或
export OPENAI_API_KEY=your_key

# 如需图片上传
export R2_UPLOAD_CONFIG=~/.r2-upload.yml

快速开始

假设 skill 安装目录为 ~/.agents/skills/tech-news(以实际路径为准):

TECH_NEWS_DIR=~/.agents/skills/tech-news
DATE=$(date +%F)

python3 $TECH_NEWS_DIR/scripts/generate.py \
  --date $DATE \
  --save /tmp/tech-news-$DATE.md

如果你不需要图片:

python3 $TECH_NEWS_DIR/scripts/generate.py --date $DATE --no-images --save /tmp/tech-news-$DATE.md

常用参数

  • --sources <list>:指定新闻源(默认 8 个)
  • --count <n>:每源抓取数量(默认 15)
  • --limit <n>:最终精选数量(默认 10)
  • --max-images <n>:处理图片上限
  • --no-images:禁用图片
  • --output-only:仅输出 Markdown 到 stdout

文章格式

默认输出结构(节选):

# 📰 YYYY-MM-DD 科技早报

> 📊 **今日导读**
> 精选 10 条科技新闻
> 来源:Hacker News(4) | GitHub Trending(3) | Lobsters(3)

---

## 📋 文章速览

**AI 与机器学习**:3 篇
1. ...

自动化方案

1. Cron(本地定时)

0 9 * * * \
  python3 ~/.agents/skills/tech-news/scripts/generate.py --date $(date +%F) --save /tmp/tech-news-$(date +%F).md

生成后即可用于发布或二次编辑(可用脚本自动处理)。

2. GitHub Actions

generate.py 放到 workflow 中,定时生成并提交到仓库。

常见问题

  • 翻译质量一般:确认 MINIMAX_API_KEYOPENAI_API_KEY 已配置
  • 图片不显示:检查 R2_UPLOAD_CONFIG 或改用 --no-images
  • 重复内容:默认会排除近 3 天重复文章,可按需改代码

Skill 源码与目录结构

Tech News Skill 本地结构如下:

GitHub 仓库

tech-news/
├── SKILL.md
├── scripts/
│   ├── generate.py
│   ├── fetch_news.py
│   └── llm_translate.py
└── references/

如果你想改来源、分类或输出格式,直接修改 generate.py 即可。


让科技新闻聚合变得简单高效!

Clawdbot 安装 R2 Upload Skill 指南

之前介绍了如何配置 Clawdbot 使用国内 Minimax,今天分享如何为 Clawdbot 安装 R2 Upload Skill,实现图片/文件上传到 Cloudflare R2 并生成公开访问链接。

背景

Clawdbot 本身没有内置的文件上传功能,但通过安装 R2 Upload Skill,可以轻松实现:

  • 📤 上传文件到 Cloudflare R2 或 S3 兼容存储
  • 🔗 生成短期有效的预签名下载链接
  • 🌐 支持自定义域名访问
  • 📦 多 Bucket 配置

环境准备

在开始之前,你需要准备:

  1. Cloudflare R2 账号
  2. 已创建的 R2 Bucket
  3. R2 API Token(包含 Access Key ID 和 Secret Access Key)
  4. Clawdbot 已安装(本文假设已安装)

安装步骤

步骤一:下载 Skill

R2 Upload Skill 托管在 ClawdHub,通过以下地址下载:

https://auth.clawdhub.com/api/v1/download?slug=r2-upload

下载后会得到一个 zip 文件。

步骤二:解压并安装到全局

将 Skill 安装到 Clawdbot 全局技能目录:

# 解压
unzip r2-upload.zip -d /tmp/r2-upload-extract

# 安装到全局 skills 目录
cp -r /tmp/r2-upload-extract ~/.clawdbot/skills/r2-upload

# 安装依赖
cd ~/.clawdbot/skills/r2-upload
npm install

步骤三:配置 R2 凭证

创建配置文件 ~/.r2-upload.yml

# R2 Upload Configuration

default: your-bucket-name

buckets:
  your-bucket-name:
    endpoint: https://YOUR_ACCOUNT_ID.r2.cloudflarestorage.com
    access_key_id: YOUR_ACCESS_KEY_ID
    secret_access_key: YOUR_SECRET_ACCESS_KEY
    bucket_name: your-bucket-name
    public_url: https://your-custom-domain.com
    region: auto

配置说明:

配置项 说明
endpoint R2 端点地址,格式为 https://<ACCOUNT_ID>.r2.cloudflarestorage.com
access_key_id R2 API Token 的 Access Key ID
secret_access_key R2 API Token 的 Secret Access Key
bucket_name R2 Bucket 名称
public_url 自定义域名(可选,用于生成公开访问链接)
region 地区,R2 固定使用 auto

步骤四:重启 Clawdbot

使 Skill 生效:

clawdbot gateway restart

使用方法

通过 Clawdbot 对话

在 Clawdbot 对话中直接使用:

上传这张图片到 R2

或指定参数:

上传 /path/to/file.jpg 到 R2,有效期 24 小时

可用工具

R2 Upload Skill 提供以下工具:

工具 说明
r2_upload 上传文件并获取预签名 URL
r2_list 列出 Bucket 中的文件
r2_delete 删除文件
r2_generate_url 为已存在文件生成预签名 URL

上传示例

# 上传文件
r2-upload /path/to/file.pdf

# 指定自定义路径
r2-upload /path/to/file.pdf --key uploads/2026/report.pdf

# 指定 Bucket
r2-upload /path/to/file.pdf --bucket my-bucket

# 自定义有效期(默认 5 分钟)
r2-upload /path/to/file.pdf --expires 24h
r2-upload /path/to/file.pdf --expires 1d
r2-upload /path/to/file.png --expires 300  # 秒

# 生成公开链接(无需签名)
r2-upload /path/to/file.png --public

R2 配置详解

获取 R2 Endpoint

  1. 登录 Cloudflare Dashboard
  2. 进入 R2 → 你的 Bucket
  3. 查看 "S3 API" 部分,获取 Endpoint 地址

格式:https://<ACCOUNT_ID>.r2.cloudflarestorage.com

创建 API Token

  1. 进入 https://dash.cloudflare.com/<ACCOUNT_ID>/r2/api-tokens
  2. 创建新 Token:
    • 应用到特定 Bucket
    • 权限:Object Read & Write
  3. 复制 Access Key ID 和 Secret Access Key

自定义域名配置(可选)

如果你有自定义域名(如 oss.example.com):

  1. 在 Cloudflare DNS 中添加 CNAME 记录
  2. 在 R2 设置中绑定自定义域名
  3. 在配置文件中设置 public_url

常见问题

Q: 上传后链接打不开?

检查:

  1. 预签名链接是否过期(默认 5 分钟)
  2. Bucket 是否设置为公开访问
  3. 自定义域名是否正确配置

Q: 如何修改默认有效期?

在配置文件或环境变量中设置:

# ~/.r2-upload.yml
default_expires: 3600  # 1 小时

或使用环境变量:

export R2_DEFAULT_EXPIRES=3600

Q: 可以上传到多个 Bucket 吗?

可以,在配置文件中定义多个 Bucket:

default: blog

buckets:
  blog:
    endpoint: https://blog.r2.cloudflarestorage.com
    # ... 其他配置
    
  assets:
    endpoint: https://assets.r2.cloudflarestorage.com
    # ... 其他配置

上传时指定 Bucket:

上传图片到 assets bucket

总结

通过以上步骤,你已经成功为 Clawdbot 安装了 R2 Upload Skill。现在可以轻松上传文件并生成分享链接了。

相比传统的文件上传方式,R2 + Clawdbot 的组合具有以下优势:

  • ✅ 零服务器成本(R2 只收存储和流量费)
  • ✅ 全球 CDN 加速
  • ✅ 自动生成短期有效链接
  • ✅ 安全可控的访问权限
  • ✅ 支持自定义域名

如果你正在使用 Clawdbot 进行 AI 开发,R2 Upload Skill 是一个非常实用的工具。


参考链接:

标签: Clawdbot, R2, Cloudflare, 存储, 教程

之前介绍了如何配置 Clawdbot 使用国内 Minimax,今天分享如何为 Clawdbot 安装 R2 Upload Skill,实现图片/文件上传到 Cloudflare R2 并生成公开访问链接。

背景

Clawdbot 本身没有内置的文件上传功能,但通过安装 R2 Upload Skill,可以轻松实现:

  • 📤 上传文件到 Cloudflare R2 或 S3 兼容存储
  • 🔗 生成短期有效的预签名下载链接
  • 🌐 支持自定义域名访问
  • 📦 多 Bucket 配置

环境准备

在开始之前,你需要准备:

  1. Cloudflare R2 账号
  2. 已创建的 R2 Bucket
  3. R2 API Token(包含 Access Key ID 和 Secret Access Key)
  4. Clawdbot 已安装(本文假设已安装)

安装步骤

步骤一:下载 Skill

R2 Upload Skill 托管在 ClawdHub,通过以下地址下载:

https://auth.clawdhub.com/api/v1/download?slug=r2-upload

下载后会得到一个 zip 文件。

步骤二:解压并安装到全局

将 Skill 安装到 Clawdbot 全局技能目录:

# 解压
unzip r2-upload.zip -d /tmp/r2-upload-extract

# 安装到全局 skills 目录
cp -r /tmp/r2-upload-extract ~/.clawdbot/skills/r2-upload

# 安装依赖
cd ~/.clawdbot/skills/r2-upload
npm install

步骤三:配置 R2 凭证

创建配置文件 ~/.r2-upload.yml

# R2 Upload Configuration

default: your-bucket-name

buckets:
  your-bucket-name:
    endpoint: https://YOUR_ACCOUNT_ID.r2.cloudflarestorage.com
    access_key_id: YOUR_ACCESS_KEY_ID
    secret_access_key: YOUR_SECRET_ACCESS_KEY
    bucket_name: your-bucket-name
    public_url: https://your-custom-domain.com
    region: auto

配置说明:

配置项 说明
endpoint R2 端点地址,格式为 https://<ACCOUNT_ID>.r2.cloudflarestorage.com
access_key_id R2 API Token 的 Access Key ID
secret_access_key R2 API Token 的 Secret Access Key
bucket_name R2 Bucket 名称
public_url 自定义域名(可选,用于生成公开访问链接)
region 地区,R2 固定使用 auto

步骤四:重启 Clawdbot

使 Skill 生效:

clawdbot gateway restart

使用方法

通过 Clawdbot 对话

在 Clawdbot 对话中直接使用:

上传这张图片到 R2

或指定参数:

上传 /path/to/file.jpg 到 R2,有效期 24 小时

可用工具

R2 Upload Skill 提供以下工具:

工具 说明
r2_upload 上传文件并获取预签名 URL
r2_list 列出 Bucket 中的文件
r2_delete 删除文件
r2_generate_url 为已存在文件生成预签名 URL

上传示例

# 上传文件
r2-upload /path/to/file.pdf

# 指定自定义路径
r2-upload /path/to/file.pdf --key uploads/2026/report.pdf

# 指定 Bucket
r2-upload /path/to/file.pdf --bucket my-bucket

# 自定义有效期(默认 5 分钟)
r2-upload /path/to/file.pdf --expires 24h
r2-upload /path/to/file.pdf --expires 1d
r2-upload /path/to/file.png --expires 300  # 秒

# 生成公开链接(无需签名)
r2-upload /path/to/file.png --public

R2 配置详解

获取 R2 Endpoint

  1. 登录 Cloudflare Dashboard
  2. 进入 R2 → 你的 Bucket
  3. 查看 "S3 API" 部分,获取 Endpoint 地址

格式:https://<ACCOUNT_ID>.r2.cloudflarestorage.com

创建 API Token

  1. 进入 https://dash.cloudflare.com/<ACCOUNT_ID>/r2/api-tokens
  2. 创建新 Token:
    • 应用到特定 Bucket
    • 权限:Object Read & Write
  3. 复制 Access Key ID 和 Secret Access Key

自定义域名配置(可选)

如果你有自定义域名(如 oss.example.com):

  1. 在 Cloudflare DNS 中添加 CNAME 记录
  2. 在 R2 设置中绑定自定义域名
  3. 在配置文件中设置 public_url

常见问题

Q: 上传后链接打不开?

检查:

  1. 预签名链接是否过期(默认 5 分钟)
  2. Bucket 是否设置为公开访问
  3. 自定义域名是否正确配置

Q: 如何修改默认有效期?

在配置文件或环境变量中设置:

# ~/.r2-upload.yml
default_expires: 3600  # 1 小时

或使用环境变量:

export R2_DEFAULT_EXPIRES=3600

Q: 可以上传到多个 Bucket 吗?

可以,在配置文件中定义多个 Bucket:

default: blog

buckets:
  blog:
    endpoint: https://blog.r2.cloudflarestorage.com
    # ... 其他配置
    
  assets:
    endpoint: https://assets.r2.cloudflarestorage.com
    # ... 其他配置

上传时指定 Bucket:

上传图片到 assets bucket

总结

通过以上步骤,你已经成功为 Clawdbot 安装了 R2 Upload Skill。现在可以轻松上传文件并生成分享链接了。

相比传统的文件上传方式,R2 + Clawdbot 的组合具有以下优势:

  • ✅ 零服务器成本(R2 只收存储和流量费)
  • ✅ 全球 CDN 加速
  • ✅ 自动生成短期有效链接
  • ✅ 安全可控的访问权限
  • ✅ 支持自定义域名

如果你正在使用 Clawdbot 进行 AI 开发,R2 Upload Skill 是一个非常实用的工具。


参考链接:

标签: Clawdbot, R2, Cloudflare, 存储, 教程

Clawdbot 配置国内 Minimax 教程

Clawdbot 默认使用国际站 Minimax API,但国内用户访问国际站可能存在网络延迟或访问受限问题。本文介绍如何将 Clawdbot 配置为使用国内 Minimax 地址。

问题背景

Clawdbot 默认配置的 Minimax 地址为国际站,可能存在以下问题:

  • 网络延迟高
  • 访问不稳定
  • 需要特殊网络环境

国内站地址:https://api.minimaxi.com/anthropic

配置步骤

步骤一:修改 Agent 模型配置

编辑 ~/.clawdbot/agents/main/agent/models.json

{
  "providers": {
    "minimax": {
      "baseUrl": "https://api.minimaxi.com/anthropic",
      "api": "anthropic-messages",
      "models": [
        {
          "id": "MiniMax-M2.1",
          "name": "MiniMax M2.1",
          "reasoning": false,
          "input": ["text"],
          "cost": {
            "input": 15,
            "output": 60,
            "cacheRead": 2,
            "cacheWrite": 10
          },
          "contextWindow": 200000,
          "maxTokens": 8192
        },
        {
          "id": "MiniMax-VL-01",
          "name": "MiniMax VL 01",
          "reasoning": false,
          "input": ["text", "image"],
          "cost": {
            "input": 15,
            "output": 60,
            "cacheRead": 2,
            "cacheWrite": 10
          },
          "contextWindow": 200000,
          "maxTokens": 8192
        }
      ],
      "apiKey": "sk-cp-xxx"
    }
  }
}

步骤二:修改全局配置

编辑 /root/.clawdbot/clawdbot.json

{
  "models": {
    "mode": "merge",
    "providers": {
      "minimax": {
        "baseUrl": "https://api.minimaxi.com/anthropic",
        "api": "anthropic-messages",
        "models": [
          {
            "id": "MiniMax-M2.1",
            "name": "MiniMax M2.1",
            "reasoning": false,
            "input": ["text"],
            "cost": {
              "input": 15,
              "output": 60,
              "cacheRead": 2,
              "cacheWrite": 10
            },
            "contextWindow": 200000,
            "maxTokens": 8192
          }
        ]
      }
    }
  }
}

配置说明

配置项 说明
baseUrl API 基础地址,国内站为 https://api.minimaxi.com/anthropic
api API 类型,使用 anthropic-messages
models 模型列表,可配置 MiniMax-M2.1 和 MiniMax-VL-01
apiKey 你的 API Key

重启验证

配置完成后,重启 Clawdbot:

clawdbot gateway restart

然后检查状态:

clawdbot status

常见问题

Q: 配置后无法连接?

检查:

  1. API Key 是否正确
  2. 网络是否可访问 https://api.minimaxi.com
  3. 配置文件语法是否正确(JSON 格式)

Q: 如何验证配置生效?

在 Clawdbot 中执行:

/status

查看当前使用的模型配置。

参考链接


文章标签: Clawdbot, Minimax, AI配置, 国内站

Clawdbot 默认使用国际站 Minimax API,但国内用户访问国际站可能存在网络延迟或访问受限问题。本文介绍如何将 Clawdbot 配置为使用国内 Minimax 地址。

问题背景

Clawdbot 默认配置的 Minimax 地址为国际站,可能存在以下问题:

  • 网络延迟高
  • 访问不稳定
  • 需要特殊网络环境

国内站地址:https://api.minimaxi.com/anthropic

配置步骤

步骤一:修改 Agent 模型配置

编辑 ~/.clawdbot/agents/main/agent/models.json

{
  "providers": {
    "minimax": {
      "baseUrl": "https://api.minimaxi.com/anthropic",
      "api": "anthropic-messages",
      "models": [
        {
          "id": "MiniMax-M2.1",
          "name": "MiniMax M2.1",
          "reasoning": false,
          "input": ["text"],
          "cost": {
            "input": 15,
            "output": 60,
            "cacheRead": 2,
            "cacheWrite": 10
          },
          "contextWindow": 200000,
          "maxTokens": 8192
        },
        {
          "id": "MiniMax-VL-01",
          "name": "MiniMax VL 01",
          "reasoning": false,
          "input": ["text", "image"],
          "cost": {
            "input": 15,
            "output": 60,
            "cacheRead": 2,
            "cacheWrite": 10
          },
          "contextWindow": 200000,
          "maxTokens": 8192
        }
      ],
      "apiKey": "sk-cp-xxx"
    }
  }
}

步骤二:修改全局配置

编辑 /root/.clawdbot/clawdbot.json

{
  "models": {
    "mode": "merge",
    "providers": {
      "minimax": {
        "baseUrl": "https://api.minimaxi.com/anthropic",
        "api": "anthropic-messages",
        "models": [
          {
            "id": "MiniMax-M2.1",
            "name": "MiniMax M2.1",
            "reasoning": false,
            "input": ["text"],
            "cost": {
              "input": 15,
              "output": 60,
              "cacheRead": 2,
              "cacheWrite": 10
            },
            "contextWindow": 200000,
            "maxTokens": 8192
          }
        ]
      }
    }
  }
}

配置说明

配置项 说明
baseUrl API 基础地址,国内站为 https://api.minimaxi.com/anthropic
api API 类型,使用 anthropic-messages
models 模型列表,可配置 MiniMax-M2.1 和 MiniMax-VL-01
apiKey 你的 API Key

重启验证

配置完成后,重启 Clawdbot:

clawdbot gateway restart

然后检查状态:

clawdbot status

常见问题

Q: 配置后无法连接?

检查:

  1. API Key 是否正确
  2. 网络是否可访问 https://api.minimaxi.com
  3. 配置文件语法是否正确(JSON 格式)

Q: 如何验证配置生效?

在 Clawdbot 中执行:

/status

查看当前使用的模型配置。

参考链接


文章标签: Clawdbot, Minimax, AI配置, 国内站