Files
opencode/AGENTS.md

130 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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