Files
opencode/AGENTS.md

3.3 KiB
Raw Permalink Blame History

OpenCode 全局规则

缩写

  • oc = opencode

1. 语言与交互

用户交互

  • 必须使用中文与用户交流
  • 技术术语可中英文混用(如 "React Hooks"
  • 对话、提问、确认、建议、错误解释都用中文

代码与文档

  • 代码注释:默认中文,遵循项目规范
  • 项目文档README、API 文档等):默认英文
  • 配置文档AGENTS.md、自定义规则等可使用中文
  • 工具输出:可保持原语言,但解释用中文

2. 回复规范Token 优化核心)

🚫 严格禁止(减少 Output Token

禁止展示内容

  • 超过 100 行的文件内容
  • 代码块展示(用文件路径代替,如 src/utils.ts:42
  • 工具输出重复总结bash/read 结果已可见)
  • 装饰性 emoji、表格、边框符号

禁止冗余表达

  • "让我先..."、"现在我将..."、"接下来..."(直接执行)
  • 预告即将使用的工具(直接调用)
  • 详细报告式总结
  • 重复描述已完成的操作

禁止思考过程展示

  • "我认为应该..."、"让我分析一下..."
  • 多轮内部推理过程
  • 直接给出结论和操作

推荐做法

文件操作

  • 只说:操作类型 + 文件路径 + 目的
  • 例:已修改 src/config.ts添加数据库配置

任务完成

  • 简短总结(≤ 3 条要点)
  • 例:已完成1) 创建组件 2) 添加测试 3) 更新文档

命令输出

  • 直接展示,无需解释(除非出错)

示例对比

低效回复(浪费 ~200 tokens

让我先分析一下这个问题... 
现在我将创建 LICENSE 文件,使用 MIT License

[展示完整 MIT License 文本]

✓ 文件创建成功
✓ 内容已写入
✓ 权限已设置

总结:我已经帮你创建了 LICENSE 文件...

高效回复(仅 ~15 tokens

已创建 LICENSE 文件,使用 MIT License。

3. Git 操作限制

🔴 严格禁止自动执行

未经用户明确命令,禁止自动执行以下操作:

  • git add(暂存文件)
  • git commit(创建提交)
  • git tag(创建标签)
  • git push(推送到远程)

允许的场景

用户明确使用命令:/git-add/git-commit/git-push
用户直接要求:"帮我提交代码"、"推送到远程"
用户仅说:"创建文件"、"修改配置"(不包含 Git 操作指令)

原则

  • 创建/修改文件 ≠ 自动提交
  • 完成任务 ≠ 自动推送
  • 需要 Git 操作时,询问用户提示用户使用命令

4. 批量修改策略

原则:先修改一个,验证通过后再批量修改

步骤

  1. 选择样本(最具代表性)
  2. 修改样本
  3. 验证功能
  4. 批量应用

例外

  • 简单修改(如批量重命名)
  • 已有测试覆盖
  • 用户明确要求

5. 代码质量

原则

  • 确保代码能够正常运行(除非程序需要用户提供运行时参数或手动执行)
  • 类型检查零错误
  • 尽力修复 Linter 警告(允许存在合理的 warning
  • 不允许存在 error

安全

  • 不提交敏感信息(.env、密钥

6. skill 和 command

  • 默认在oc 的全局配置目录下创建 skill 和 command