加载中...
返回AI 编程实战
AI 编程知识库 · AI 编程实战 · OpenCode 系统性指南

自定义命令:一键执行复杂任务

概念图

引言

你是否厌倦了每天重复输入相同的命令序列?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 会执行以下流程:

  1. 命令解析:识别命令名为 commit,参数为 "添加登录功能"
  2. 文件定位:在命令目录中查找 commit.md 文件
  3. 上下文注入:执行文件中的 Shell 命令(如 !git status``),将结果注入上下文
  4. 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 编程知识库全年访问

扫码添加企业微信,找大熊掌门开通会员

企业微信二维码

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

加载中...