词元广场TOKPUB.COM - 欢迎您,支持一个 Key 调用近 600+ 海内外模型,限时特价模型低至 1 折,欢迎上岸!
💡 一句话总结:把重复流程写成"命令 + 脚本",一键复用。

确保你已经完成以下事项:
| 特征 | 示例 |
|---|---|
| 重复执行 | 每天整理发票文件 |
| 规则明确 | 按月份归档 |
| 耗时但简单 | 批量重命名 |
| 容易出错 | 手工复制/粘贴、漏步骤 |
手动操作 → 一键命令 → 脚本化 →(可选)外部调度| 工具/功能 | 用途 | 关键说明(可验证) |
|---|---|---|
| 自定义命令(Custom Commands) | 把“提示词模板”固化为 /命令名 | 命令模板来自:Markdown 文件内容(官方:opencode/packages/web/src/content/docs/commands.mdx:33~opencode/packages/web/src/content/docs/commands.mdx:34;源 码:opencode/packages/opencode/src/config/config.ts:214~opencode/packages/opencode/src/config/config.ts:218) |
| 命令参数 | 给命令传参 | $ARGUMENTS / $1 / $2…(官方:opencode/packages/web/src/content/docs/commands.mdx:111~opencode/packages/web/src/content/docs/commands.mdx:161) |
| 命令嵌入 shell 输出 | 把 !`cmd` 输出注入到 prompt | 语法 !`command` (官方:opencode/packages/web/src/content/docs/commands.mdx:164~opencode/packages/web/src/content/docs/commands.mdx:179;源码:opencode/packages/opencode/src/config/markdown.ts:7~opencode/packages/opencode/src/config/markdown.ts:15) |
| 命令引用文件 | 用 @path/to/file 把文件内容注入 | 语法 @...(官方:opencode/packages/web/src/content/docs/commands.mdx:198~opencode/packages/web/src/content/docs/commands.mdx:212;源码:opencode/packages/opencode/src/config/markdown.ts:6~opencode/packages/opencode/src/config/markdown.ts:12) |
opencode run | 非交互运行(便于脚本化/流水线) | CLI 支持 opencode run [message..](官方:opencode/packages/web/src/content/docs/cli.mdx:311~opencode/packages/web/src/content/docs/cli.mdx:350) |
| MCP 服务器 | 引入外部工具(数据库/API/搜索) | MCP 工具会自动可用,但会占用上下文(官方:opencode/packages/web/src/content/docs/mcp-servers.mdx:8~opencode/packages/web/src/content/docs/mcp-servers.mdx:21) |
/compact | 压缩会话,减少冗余工具输出 | 别名 /summarize;快捷键 ctrl+x c(官方:opencode/packages/web/src/content/docs/tui.mdx:82~opencode/packages/web/src/content/docs/tui.mdx:90) |
我每天都要做这些重复工作:
1. 把下载目录里的发票 PDF 移动到 财务/发票/ 目录
2. 按月份创建子目录(如 2025-01/)
3. 重命名为「发票_日期_金额.pdf」格式
请先做两件事:
A) 把规则写清楚(日期来源、金额来源、冲突如何处理)
B) 给一个“先预览、后执行”的方案命令文件位置(官方):
.opencode/command/~/.config/opencode/command/opencode/packages/web/src/content/docs/commands.mdx:80~opencode/packages/web/src/content/docs/commands.mdx:84).opencode/command/organize-invoices.md:/organize-invoices ~/Downloads ~/Documents/财务/发票解释: 命令文件的“正文内容”就是模板(官方: opencode/packages/web/src/content/docs/commands.mdx:33~opencode/packages/web/src/content/docs/commands.mdx:34)。!`date ...`会把命令输出注入 prompt(官方:opencode/packages/web/src/content/docs/commands.mdx:164~opencode/packages/web/src/content/docs/commands.mdx:179)。
opencode.json 里用 JSONC 配置命令{
"$schema": "https://opencode.ai/config.json",
"command": {
"organize-invoices": {
"template": "请把 $1 目录中的发票 PDF 整理到 $2:\n\n要求:\n1. 先输出操作清单(移动/重命名),不要直接执行\n2. 我确认后再执行\n",
"description": "整理发票(归档 + 重命名)",
"agent": "build",
"model": "anthropic/claude-opus-4-5-thinking",
"subtask": true
}
}
}说明: command.<name>.template是必填(官方:opencode/packages/web/src/content/docs/commands.mdx:221~opencode/packages/web/src/content/docs/commands.mdx:236)。description/agent/model/subtask都是可选项(源码:opencode/packages/opencode/src/config/config.ts:49~opencode/packages/opencode/src/config/config.ts:55;官方:opencode/packages/web/src/content/docs/commands.mdx:57~opencode/packages/web/src/content/docs/commands.mdx:66)。subtask: true可强制走 subagent(官方:opencode/packages/web/src/content/docs/commands.mdx:77~opencode/packages/web/src/content/docs/commands.mdx:93)。
根据刚才的规则,帮我创建一个脚本 scripts/organize_invoices.py:
1. 扫描源目录找 PDF
2. 解析日期/金额(如果解析不到也要给策略)
3. 生成目标目录结构
4. 输出详细日志(每个文件怎么处理)
要求:
- 把“预览模式(dry-run)”和“执行模式”都做出来
- 给我一条最小可运行命令opencode/packages/web/src/content/docs/cli.mdx:311~opencode/packages/web/src/content/docs/cli.mdx:350)opencode/packages/web/src/content/docs/mcp-servers.mdx:8~opencode/packages/web/src/content/docs/mcp-servers.mdx:9)。@modelcontextprotocol/server-everything):{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"mcp_everything": {
"type": "local",
"command": ["npx", "-y", "@modelcontextprotocol/server-everything"]
}
}
}opencode/packages/web/src/content/docs/mcp-servers.mdx:70~opencode/packages/web/src/content/docs/mcp-servers.mdx:82)opencode/packages/web/src/content/docs/mcp-servers.mdx:14~opencode/packages/web/src/content/docs/mcp-servers.mdx:21)。enabled: false 暂时禁用某个 server(官方:opencode/packages/web/src/content/docs/mcp-servers.mdx:43~opencode/packages/web/src/content/docs/mcp-servers.mdx:44)。/compact/summarizectrl+x copencode/packages/web/src/content/docs/tui.mdx:82~opencode/packages/web/src/content/docs/tui.mdx:90){env:VAR} 与 {file:path}(官方:opencode/packages/web/src/content/docs/config.mdx:75~opencode/packages/web/src/content/docs/config.mdx:95)。anthropic 为例,apiKey 在 provider.<id>.options.apiKey:{
"$schema": "https://opencode.ai/config.json",
"provider": {
"anthropic": {
"options": {
"apiKey": "{env:ANTHROPIC_API_KEY}"
}
}
},
"model": "anthropic/claude-opus-4-5-thinking",
"small_model": "anthropic/claude-haiku-4-5"
}opencode/packages/web/src/content/docs/config.mdx:170~opencode/packages/web/src/content/docs/config.mdx:181;源码:opencode/packages/opencode/src/config/config.ts:740~opencode/packages/opencode/src/config/config.ts:763)