用 Claude Code 写代码的时候,总觉得底部空空的,缺点什么。看到别人的终端底部有 Git 分支、文件变更、模型名,一整条信息栏,既实用又好看。研究了一下,其实就是 tmux 状态栏,配置不复杂,记录一下完整过程。

用 Claude Code 写代码的时候,总觉得底部空空的,缺点什么。看到别人的终端底部有 Git 分支、文件变更、模型名,一整条信息栏,既实用又好看。研究了一下,其实就是 tmux 状态栏,配置不复杂,记录一下完整过程。

GSD 不是脚手架,而是一套给 AI 编程工具用的规格驱动工作流。它的目标很明确:把长任务拆成多个短上下文,降低 context rot,让规划、执行、验证都可追踪。
典型 AI 编程失效路径是:
GSD 的做法是把流程拆成阶段,并把状态落盘到 .planning/。核心文件包括:
PROJECT.mdREQUIREMENTS.mdROADMAP.mdSTATE.mdconfig.jsonphases/适合需要跨会话推进、分阶段交付、保留验收记录的项目。
命令前缀不同:
/gsd:help/gsd-help$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-phase 和 ui-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.md、REQUIREMENTS.md、ROADMAP.md、STATE.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.md、PLAN.md、VALIDATION.md |
/gsd:execute-phase N |
按依赖关系执行全部计划 | 计划确认后 | SUMMARY.md、VERIFICATION.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、修复计划 |
只看测试不做人工验收 |
目标:
执行顺序:
/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 之后检查:
verify-work 1 检查项:
/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.mdARCHITECTURE.mdSTRUCTURE.mdCONVENTIONS.mdTESTING.mdINTEGRATIONS.mdCONCERNS.md后续规划会直接基于现有结构。
小需求可直接用:
/gsd:quick
例如:
为博客新增文章搜索页,支持标题和摘要匹配,保持现有站点风格。
适用场景:
/gsd:help/gsd:new-project/gsd:discuss-phase/gsd:plan-phase/gsd:execute-phase/gsd:verify-work/gsd:map-codebase/gsd:quickmindmap
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。
modeinteractive: 默认,适合大多数项目yolo: 自动化更强,适合熟练用户granularitycoarsestandardfine阶段越复杂,越适合 fine。
model_profilequalitybalancedbudgetinherit建议:
budgetbalancedqualityworkflow.researchworkflow.plan_checkworkflow.verifierworkflow.nyquist_validationworkflow.ui_phaseworkflow.ui_safety_gate不熟悉领域时,建议保持默认;只做快速原型时再酌情关闭。
discuss-phase常见结果不是功能错误,而是实现风格偏离预期。AI 会用默认判断填满灰区。
如果一个阶段同时覆盖数据库、API、前端、权限、测试、部署,plan 往往会失真。GSD 不是拿来吞掉模糊范围的。
verify-work测试通过不等于功能完成。尤其是交互、空状态、错误流程、移动端兼容这类问题,必须人工验收。
map-codebase这会增加“风格不一致”和“破坏现有结构”的概率。
GSD 的价值在于把 AI 编程从单轮 prompt 提升为阶段化工作流,更适合多阶段任务和持续交付。
如果你的项目已经开始出现需求拆分、阶段推进、跨会话恢复、验收闭环这些问题,GSD 值得直接上手。
GSD 不是脚手架,而是一套给 AI 编程工具用的规格驱动工作流。它的目标很明确:把长任务拆成多个短上下文,降低 context rot,让规划、执行、验证都可追踪。
典型 AI 编程失效路径是:
GSD 的做法是把流程拆成阶段,并把状态落盘到 .planning/。核心文件包括:
PROJECT.mdREQUIREMENTS.mdROADMAP.mdSTATE.mdconfig.jsonphases/适合需要跨会话推进、分阶段交付、保留验收记录的项目。
命令前缀不同:
/gsd:help/gsd-help$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-phase 和 ui-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.md、REQUIREMENTS.md、ROADMAP.md、STATE.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.md、PLAN.md、VALIDATION.md |
/gsd:execute-phase N |
按依赖关系执行全部计划 | 计划确认后 | SUMMARY.md、VERIFICATION.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、修复计划 |
只看测试不做人工验收 |
目标:
执行顺序:
/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 之后检查:
verify-work 1 检查项:
/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.mdARCHITECTURE.mdSTRUCTURE.mdCONVENTIONS.mdTESTING.mdINTEGRATIONS.mdCONCERNS.md后续规划会直接基于现有结构。
小需求可直接用:
/gsd:quick
例如:
为博客新增文章搜索页,支持标题和摘要匹配,保持现有站点风格。
适用场景:
/gsd:help/gsd:new-project/gsd:discuss-phase/gsd:plan-phase/gsd:execute-phase/gsd:verify-work/gsd:map-codebase/gsd:quickmindmap
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。
modeinteractive: 默认,适合大多数项目yolo: 自动化更强,适合熟练用户granularitycoarsestandardfine阶段越复杂,越适合 fine。
model_profilequalitybalancedbudgetinherit建议:
budgetbalancedqualityworkflow.researchworkflow.plan_checkworkflow.verifierworkflow.nyquist_validationworkflow.ui_phaseworkflow.ui_safety_gate不熟悉领域时,建议保持默认;只做快速原型时再酌情关闭。
discuss-phase常见结果不是功能错误,而是实现风格偏离预期。AI 会用默认判断填满灰区。
如果一个阶段同时覆盖数据库、API、前端、权限、测试、部署,plan 往往会失真。GSD 不是拿来吞掉模糊范围的。
verify-work测试通过不等于功能完成。尤其是交互、空状态、错误流程、移动端兼容这类问题,必须人工验收。
map-codebase这会增加“风格不一致”和“破坏现有结构”的概率。
GSD 的价值在于把 AI 编程从单轮 prompt 提升为阶段化工作流,更适合多阶段任务和持续交付。
如果你的项目已经开始出现需求拆分、阶段推进、跨会话恢复、验收闭环这些问题,GSD 值得直接上手。

OpenClaw 社区先做到了多会话协作,Anthropic 直接把它做成了官方功能。 这不是一个小更新,而是 Claude Code 的工作方式从“单兵作战”升级为“团队协作”。这篇文章带你快速上手 Agent Teams:什么时候值得用、怎么开、怎么配、怎么管、哪里会踩坑。
以前你只有一个会话,所有事情顺序完成:先研究、再改代码、再写测试。Agent Teams 出现后,一个 lead 负责拆解任务,多个 teammate 并行协作,还能互相交流、共享任务列表。
更直观的对比:
如果任务需要互相沟通、互相校验,Agent Teams 才真正发挥价值。
适合用的场景(并行能带来明显收益):
不适合用的场景:
一句话:能拆成独立任务的,用团队;必须串行的,用单人或 sub-agent。
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 个关键操作:
Shift + 上/下 切换队友Shift + Tab决策问题就一个:是否需要队友之间的沟通?
成本提醒:Agent Teams 可能是 sub-agent 成本的数倍,请在“收益明显”时使用。
frontend, backend, test, review,便于协作。/resume 或 /rewind 不会恢复队友。
OpenClaw 社区先做到了多会话协作,Anthropic 直接把它做成了官方功能。 这不是一个小更新,而是 Claude Code 的工作方式从“单兵作战”升级为“团队协作”。这篇文章带你快速上手 Agent Teams:什么时候值得用、怎么开、怎么配、怎么管、哪里会踩坑。
以前你只有一个会话,所有事情顺序完成:先研究、再改代码、再写测试。Agent Teams 出现后,一个 lead 负责拆解任务,多个 teammate 并行协作,还能互相交流、共享任务列表。
更直观的对比:
如果任务需要互相沟通、互相校验,Agent Teams 才真正发挥价值。
适合用的场景(并行能带来明显收益):
不适合用的场景:
一句话:能拆成独立任务的,用团队;必须串行的,用单人或 sub-agent。
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 个关键操作:
Shift + 上/下 切换队友Shift + Tab决策问题就一个:是否需要队友之间的沟通?
成本提醒:Agent Teams 可能是 sub-agent 成本的数倍,请在“收益明显”时使用。
frontend, backend, test, review,便于协作。/resume 或 /rewind 不会恢复队友。
这是一位名为 Boris 的作者在推文中整理的使用心得。他表示这些技巧来自 Claude Code 团队的内部实践,同时也强调:没有唯一正确的用法,每个人都应该根据自己的工作流不断试验与调整。
原文地址:https://x.com/bcherny/status/2017742741636321619
团队的 No.1 技巧:同时开 3–5 个 git worktree,每个 worktree 对应一个 Claude 会话。上下文更干净、并行更高效。

实践建议:
za/zb/zc)先把计划做扎实,再执行才容易一枪到位。

一些团队成员会:
一旦走偏就回到 Plan Mode 重规划,不要硬推。
每次纠正 Claude 后,都补一句:
“更新 CLAUDE.md,避免下次再犯。”

持续迭代后,Claude 的错误率会明显下降。
做超过一天的事,就值得自动化。
团队建议:
/techdebt:会话末尾清理重复代码不要过度指导,把问题喂给它即可:

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

提升效率的小习惯:
/statusline 显示上下文与分支在需求结尾加一句 “use subagents”,Claude 会开多个子任务并行。

优点:主上下文更干净、并行探索更快。
团队把 BigQuery CLI 直接接到 Claude Code,6 个月没写 SQL。
只要有 CLI / MCP / API 的数据库都能用同样方法接入。
/config 开启 Learning / Explanatory 模式总结:Claude Code 的价值不在单次对话,而在于工作流的长期迭代。并行化、计划驱动、规则沉淀与技能化工具,是提升效率的核心。

这是一位名为 Boris 的作者在推文中整理的使用心得。他表示这些技巧来自 Claude Code 团队的内部实践,同时也强调:没有唯一正确的用法,每个人都应该根据自己的工作流不断试验与调整。
原文地址:https://x.com/bcherny/status/2017742741636321619
团队的 No.1 技巧:同时开 3–5 个 git worktree,每个 worktree 对应一个 Claude 会话。上下文更干净、并行更高效。

实践建议:
za/zb/zc)先把计划做扎实,再执行才容易一枪到位。

一些团队成员会:
一旦走偏就回到 Plan Mode 重规划,不要硬推。
每次纠正 Claude 后,都补一句:
“更新 CLAUDE.md,避免下次再犯。”

持续迭代后,Claude 的错误率会明显下降。
做超过一天的事,就值得自动化。
团队建议:
/techdebt:会话末尾清理重复代码不要过度指导,把问题喂给它即可:

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

提升效率的小习惯:
/statusline 显示上下文与分支在需求结尾加一句 “use subagents”,Claude 会开多个子任务并行。

优点:主上下文更干净、并行探索更快。
团队把 BigQuery CLI 直接接到 Claude Code,6 个月没写 SQL。
只要有 CLI / MCP / API 的数据库都能用同样方法接入。
/config 开启 Learning / Explanatory 模式总结:Claude Code 的价值不在单次对话,而在于工作流的长期迭代。并行化、计划驱动、规则沉淀与技能化工具,是提升效率的核心。

Cursor 是在 IDE 中深度集成的 AI 编程助手,适合日常开发场景。
| 模式 | 适用场景 | 能力 | 工具 |
|---|---|---|---|
| Agent | 复杂功能、重构 | 自主探索、多文件编辑 | 启用全部工具 |
| Ask | 学习、规划、提问 | 只读探索,无自动修改 | 仅启用搜索工具 |
| Plan | 需要规划的复杂功能 | 执行前创建详细计划 | 启用全部工具 |
| Debug | 棘手 Bug、回归问题 | 生成假设、日志埋点、运行时分析 | 全部工具 + 调试服务器 |
由于 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 什么?如何零破坏改进?
- **实用性验证**:生产环境真有问题吗?
## 代码审查输出
【品味评分】🟢 好品味 / 🟡 凑合 / 🔴 垃圾
【致命问题】[直接指出最糟糕的部分]
【改进方向】"把这个特殊情况消除掉"
最佳实践:
@file.ts 引用文件而非复制内容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);
// 不要字符串拼接

命令行环境下的 AI 助手,适合 SSH 服务器、批量处理、自动化脚本等无 GUI 场景。
| 命令 | 作用 |
|---|---|
!bash <cmd> |
直接执行 shell 命令 |
@file / #file |
引用文件,减少搜索 |
/model <name> |
切换模型(sonnet/opus) |
/skills |
查看可用技能 |
--plan |
只规划不执行 |
-a / --apply |
自动确认改动 |
把常用操作流程封装成 /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
把特定领域的工具、知识打包成可复用模块。
目录结构:
my-skill/
├── SKILL.md # 核心定义:描述、约束、用法
├── scripts/ # 可执行脚本
└── references/ # 参考资料(schema、文档)
示例:SQL Expert Skill
使用:直接说「查浦江区的租户」,AI 自动查 schema → 生成 SQL → 执行 → 脱敏返回。
Command vs Skill:
| Command | Skill | |
|---|---|---|
| 定位 | 快捷指令 | 能力模块 |
| 触发 | /name 主动调用 |
AI 根据上下文判断 |
| 场景 | 固定流程 | 需要专业知识的任务 |
| 本质 | 快捷方式 | 工具箱 |
什么是 Agent
Agent 是能够自主规划和执行任务的 AI 实体。与单次对话不同,Agent 可以:
典型 Agent 工作流:
用户目标 → Agent 规划 → 步骤1 → 步骤2 → 步骤3 → 结果验证 → 完成
↑ ↓ ↓ ↓
└──── 遇到异常时调整策略 ──┘
示例:自动化数据分析 Agent
目标:分析本月销售数据并生成报告
执行过程:
1. 连接数据库(调用 SQL Skill)
2. 提取销售数据(执行查询脚本)
3. 数据清洗和处理(调用 Python Tool)
4. 生成图表(调用可视化 Tool)
5. 撰写分析报告(LLM 生成)
6. 发送邮件(调用邮件 Tool)
什么是 SubAgent
当任务过于复杂时,主 Agent 可以创建多个 SubAgent 并行处理子任务,最后整合结果。
使用场景:
工作模式:
主 Agent(协调者)
├─ SubAgent A → 处理模块 A → 返回结果
├─ SubAgent B → 处理模块 B → 返回结果
└─ SubAgent C → 处理模块 C → 返回结果
↓
整合所有结果 → 最终输出
能力对比:
| 能力 | Command | Skill | Agent | SubAgent |
|---|---|---|---|---|
| 触发方式 | 手动 /cmd |
AI 判断 | 目标驱动 | 主 Agent 分配 |
| 复杂度 | 单步操作 | 领域任务 | 多步骤任务 | 并行子任务 |
| 自主性 | 无 | 低 | 高 | 分布式 |
| 典型场景 | 快捷操作 | 工具调用 | 端到端任务 | 大规模处理 |


Kiro 是专为 AI 编程设计的 IDE,核心是两个互补的工作模式。
定位:快速原型、灵感验证、小工具开发
特点是「边想边做」,适合:
流程:描述需求 → AI 生成代码 → 试运行 → 调整描述 → 迭代
定位:复杂功能、团队协作、需要长期维护的代码
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
| 维度 | VibeCoding | Spec 模式 |
|---|---|---|
| 适用场景 | 原型、探索、小工具 | 复杂功能、团队协作 |
| 前置工作 | 一句话描述 | 详细的 Spec 文档 |
| 代码质量 | 能用就行 | 可维护、可测试 |
| 迭代方式 | 边做边改 | Spec 评审后再实现 |
| 适合谁 | 个人快速验证 | 正式项目开发 |
建议:用 VibeCoding 探索思路,确定可行后切换到 Spec 模式落地。

现有 AI 工具大多是「黑盒」或「单机版」:
Clawdbot 定位:可配置的智能体框架,让你自建 AI 助手:
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 定时任务
架构特点:
上面列的这些工具,没有绝对的优劣之分。每个人的工作流不同,适合的也不一样:
建议:
最终,工具是为人服务的。选那个让你 coding 时最爽的就行。

Cursor 是在 IDE 中深度集成的 AI 编程助手,适合日常开发场景。
| 模式 | 适用场景 | 能力 | 工具 |
|---|---|---|---|
| Agent | 复杂功能、重构 | 自主探索、多文件编辑 | 启用全部工具 |
| Ask | 学习、规划、提问 | 只读探索,无自动修改 | 仅启用搜索工具 |
| Plan | 需要规划的复杂功能 | 执行前创建详细计划 | 启用全部工具 |
| Debug | 棘手 Bug、回归问题 | 生成假设、日志埋点、运行时分析 | 全部工具 + 调试服务器 |
由于 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 什么?如何零破坏改进?
- **实用性验证**:生产环境真有问题吗?
## 代码审查输出
【品味评分】🟢 好品味 / 🟡 凑合 / 🔴 垃圾
【致命问题】[直接指出最糟糕的部分]
【改进方向】"把这个特殊情况消除掉"
最佳实践:
@file.ts 引用文件而非复制内容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);
// 不要字符串拼接

命令行环境下的 AI 助手,适合 SSH 服务器、批量处理、自动化脚本等无 GUI 场景。
| 命令 | 作用 |
|---|---|
!bash <cmd> |
直接执行 shell 命令 |
@file / #file |
引用文件,减少搜索 |
/model <name> |
切换模型(sonnet/opus) |
/skills |
查看可用技能 |
--plan |
只规划不执行 |
-a / --apply |
自动确认改动 |
把常用操作流程封装成 /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
把特定领域的工具、知识打包成可复用模块。
目录结构:
my-skill/
├── SKILL.md # 核心定义:描述、约束、用法
├── scripts/ # 可执行脚本
└── references/ # 参考资料(schema、文档)
示例:SQL Expert Skill
使用:直接说「查浦江区的租户」,AI 自动查 schema → 生成 SQL → 执行 → 脱敏返回。
Command vs Skill:
| Command | Skill | |
|---|---|---|
| 定位 | 快捷指令 | 能力模块 |
| 触发 | /name 主动调用 |
AI 根据上下文判断 |
| 场景 | 固定流程 | 需要专业知识的任务 |
| 本质 | 快捷方式 | 工具箱 |
什么是 Agent
Agent 是能够自主规划和执行任务的 AI 实体。与单次对话不同,Agent 可以:
典型 Agent 工作流:
用户目标 → Agent 规划 → 步骤1 → 步骤2 → 步骤3 → 结果验证 → 完成
↑ ↓ ↓ ↓
└──── 遇到异常时调整策略 ──┘
示例:自动化数据分析 Agent
目标:分析本月销售数据并生成报告
执行过程:
1. 连接数据库(调用 SQL Skill)
2. 提取销售数据(执行查询脚本)
3. 数据清洗和处理(调用 Python Tool)
4. 生成图表(调用可视化 Tool)
5. 撰写分析报告(LLM 生成)
6. 发送邮件(调用邮件 Tool)
什么是 SubAgent
当任务过于复杂时,主 Agent 可以创建多个 SubAgent 并行处理子任务,最后整合结果。
使用场景:
工作模式:
主 Agent(协调者)
├─ SubAgent A → 处理模块 A → 返回结果
├─ SubAgent B → 处理模块 B → 返回结果
└─ SubAgent C → 处理模块 C → 返回结果
↓
整合所有结果 → 最终输出
能力对比:
| 能力 | Command | Skill | Agent | SubAgent |
|---|---|---|---|---|
| 触发方式 | 手动 /cmd |
AI 判断 | 目标驱动 | 主 Agent 分配 |
| 复杂度 | 单步操作 | 领域任务 | 多步骤任务 | 并行子任务 |
| 自主性 | 无 | 低 | 高 | 分布式 |
| 典型场景 | 快捷操作 | 工具调用 | 端到端任务 | 大规模处理 |


Kiro 是专为 AI 编程设计的 IDE,核心是两个互补的工作模式。
定位:快速原型、灵感验证、小工具开发
特点是「边想边做」,适合:
流程:描述需求 → AI 生成代码 → 试运行 → 调整描述 → 迭代
定位:复杂功能、团队协作、需要长期维护的代码
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
| 维度 | VibeCoding | Spec 模式 |
|---|---|---|
| 适用场景 | 原型、探索、小工具 | 复杂功能、团队协作 |
| 前置工作 | 一句话描述 | 详细的 Spec 文档 |
| 代码质量 | 能用就行 | 可维护、可测试 |
| 迭代方式 | 边做边改 | Spec 评审后再实现 |
| 适合谁 | 个人快速验证 | 正式项目开发 |
建议:用 VibeCoding 探索思路,确定可行后切换到 Spec 模式落地。

现有 AI 工具大多是「黑盒」或「单机版」:
Clawdbot 定位:可配置的智能体框架,让你自建 AI 助手:
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 定时任务
架构特点:
上面列的这些工具,没有绝对的优劣之分。每个人的工作流不同,适合的也不一样:
建议:
最终,工具是为人服务的。选那个让你 coding 时最爽的就行。
每天浏览 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
python3)MINIMAX_API_KEY 或 OPENAI_API_KEY~/.r2-upload.yml 或 R2_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. ...
0 9 * * * \
python3 ~/.agents/skills/tech-news/scripts/generate.py --date $(date +%F) --save /tmp/tech-news-$(date +%F).md
生成后即可用于发布或二次编辑(可用脚本自动处理)。
把 generate.py 放到 workflow 中,定时生成并提交到仓库。
MINIMAX_API_KEY 或 OPENAI_API_KEY 已配置R2_UPLOAD_CONFIG 或改用 --no-imagesTech News Skill 本地结构如下:
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
python3)MINIMAX_API_KEY 或 OPENAI_API_KEY~/.r2-upload.yml 或 R2_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. ...
0 9 * * * \
python3 ~/.agents/skills/tech-news/scripts/generate.py --date $(date +%F) --save /tmp/tech-news-$(date +%F).md
生成后即可用于发布或二次编辑(可用脚本自动处理)。
把 generate.py 放到 workflow 中,定时生成并提交到仓库。
MINIMAX_API_KEY 或 OPENAI_API_KEY 已配置R2_UPLOAD_CONFIG 或改用 --no-imagesTech News Skill 本地结构如下:
tech-news/
├── SKILL.md
├── scripts/
│ ├── generate.py
│ ├── fetch_news.py
│ └── llm_translate.py
└── references/
如果你想改来源、分类或输出格式,直接修改 generate.py 即可。
让科技新闻聚合变得简单高效!
之前介绍了如何配置 Clawdbot 使用国内 Minimax,今天分享如何为 Clawdbot 安装 R2 Upload Skill,实现图片/文件上传到 Cloudflare R2 并生成公开访问链接。
Clawdbot 本身没有内置的文件上传功能,但通过安装 R2 Upload 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-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 |
使 Skill 生效:
clawdbot gateway restart
在 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
格式:https://<ACCOUNT_ID>.r2.cloudflarestorage.com
如果你有自定义域名(如 oss.example.com):
public_url检查:
在配置文件或环境变量中设置:
# ~/.r2-upload.yml
default_expires: 3600 # 1 小时
或使用环境变量:
export R2_DEFAULT_EXPIRES=3600
可以,在配置文件中定义多个 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 的组合具有以下优势:
如果你正在使用 Clawdbot 进行 AI 开发,R2 Upload Skill 是一个非常实用的工具。
参考链接:
标签: Clawdbot, R2, Cloudflare, 存储, 教程
之前介绍了如何配置 Clawdbot 使用国内 Minimax,今天分享如何为 Clawdbot 安装 R2 Upload Skill,实现图片/文件上传到 Cloudflare R2 并生成公开访问链接。
Clawdbot 本身没有内置的文件上传功能,但通过安装 R2 Upload 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-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 |
使 Skill 生效:
clawdbot gateway restart
在 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
格式:https://<ACCOUNT_ID>.r2.cloudflarestorage.com
如果你有自定义域名(如 oss.example.com):
public_url检查:
在配置文件或环境变量中设置:
# ~/.r2-upload.yml
default_expires: 3600 # 1 小时
或使用环境变量:
export R2_DEFAULT_EXPIRES=3600
可以,在配置文件中定义多个 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 的组合具有以下优势:
如果你正在使用 Clawdbot 进行 AI 开发,R2 Upload Skill 是一个非常实用的工具。
参考链接:
标签: Clawdbot, R2, Cloudflare, 存储, 教程
Clawdbot 默认使用国际站 Minimax API,但国内用户访问国际站可能存在网络延迟或访问受限问题。本文介绍如何将 Clawdbot 配置为使用国内 Minimax 地址。
Clawdbot 默认配置的 Minimax 地址为国际站,可能存在以下问题:
国内站地址:https://api.minimaxi.com/anthropic
编辑 ~/.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
检查:
https://api.minimaxi.com在 Clawdbot 中执行:
/status
查看当前使用的模型配置。
文章标签: Clawdbot, Minimax, AI配置, 国内站
Clawdbot 默认使用国际站 Minimax API,但国内用户访问国际站可能存在网络延迟或访问受限问题。本文介绍如何将 Clawdbot 配置为使用国内 Minimax 地址。
Clawdbot 默认配置的 Minimax 地址为国际站,可能存在以下问题:
国内站地址:https://api.minimaxi.com/anthropic
编辑 ~/.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
检查:
https://api.minimaxi.com在 Clawdbot 中执行:
/status
查看当前使用的模型配置。
文章标签: Clawdbot, Minimax, AI配置, 国内站