自定义命令:一键执行复杂任务
引言
你是否厌倦了每天重复输入相同的命令序列?Git 提交时要先 status、再 diff、再 add、再 commit;代码审查时要先切换分支、再拉取更新、再运行测试、再查看差异……这些重复性操作不仅浪费时间,还容易出错。
OpenCode 的自定义命令功能就是为了解决这个问题而生的。通过一个简单的 .md 文件,你可以将任意复杂的多步骤工作流封装成一个斜杠命令,让 AI 自动完成所有繁琐步骤。本文将带你深入理解自定义命令的工作原理,并分享 5 个实用的命令模板。
一、什么是自定义命令
自定义命令(Custom Commands)是 OpenCode 提供的一种工作流封装机制。它允许你将一系列操作步骤、上下文信息和权限规则打包成一个 Markdown 文件,通过 /命令名 的方式一键触发。
1.1 核心价值
自定义命令解决的是「重复性复杂任务」的问题:
| 痛点 | 传统方式 | 自定义命令 |
|---|---|---|
| Git 提交 | 手动执行 4-5 条命令 | /commit 一键完成 |
| 代码审查 | 切换分支、拉代码、看 diff、写评论 | /review 自动分析 |
| 部署流程 | 构建、测试、推送、通知 | /deploy 全自动 |
| 文档生成 | 阅读代码、提取注释、格式化输出 | /docs 一键生成 |
1.2 工作原理
当你输入 /commit "添加登录功能" 时,OpenCode 会执行以下流程:
- 命令解析:识别命令名为
commit,参数为"添加登录功能" - 文件定位:在命令目录中查找
commit.md文件 - 上下文注入:执行文件中的 Shell 命令(如
!git status``),将结果注入上下文 - AI 执行:将完整提示词发送给 AI,AI 在
allowed-tools约束下执行任务
二、命令文件的位置与结构
2.1 三种命令位置
OpenCode 支持三种命令存放位置,形成灵活的层级体系:
| 位置 | 路径 | 用途 | 优先级 |
|---|---|---|---|
| 用户命令 | ~/.claude/commands/ |
个人全局命令,所有项目可用 | 低 |
| 项目命令 | .claude/commands/ |
项目特定命令,可通过 Git 共享给团队 | 高 |
| 插件命令 | plugin-name/commands/ |
可分发的插件包,需安装后使用 | 中 |
优先级规则:当同名命令同时存在于多个位置时,项目命令 > 插件命令 > 用户命令。
2.2 创建你的第一个命令
让我们创建一个简单的 /hello 命令:
# 创建命令目录
mkdir -p ~/.claude/commands
# 创建命令文件
cat > ~/.claude/commands/hello.md << 'EOF'
---
description: Say hello to the user
---
Greet the user warmly and ask what they would like to work on today.
EOF
AI 编程知识库会员专享内容
开通后解锁「自定义命令:一键执行复杂任务」全文,AI 编程知识库全年访问
扫码添加企业微信,找大熊掌门开通会员

添加后说明想开通的会员类型即可