81、【Agent】【OpenCode】bash 工具提示词(git 提交规则)

【声明】本博客所有内容均为个人业余时间创作,所述技术案例均来自公开开源项目(如Github,Apache基金会),不涉及任何企业机密或未公开技术,如有侵权请联系删除

背景

上篇 blog
【Agent】【OpenCode】bash 工具提示词(专用工具)

继续分析了 bash 工具的使用说明,提到了四个细节:必选参数,超时设置,描述要求以及输出内容过多时的处理机制,其中最后一个是重点,OpenCode 会自动把完整的输出内容保存到一个临时文件,并给 AI 展示前面的一小部分,想查看完整内容的话,OpenCode 提供了专门的 Read 工具,可以配合 offset/limit 等参数可以读取特定段落,然后进一步强调了在日常操作中,AI 应该尽量选 OpenCode 提供的专业工具,而不是直接调用 Bash 命令去执行 Linux 的原生命令,并对比了一些安全高效的替代方案,主要是安全,这些专用工具在底层实现时会做大量的权限检查和路径校验,防止误删文件或越权操作等影响安全的行为,下面继续分析

OpenCode

继续看后面的提示词

这里主要有两点,首先第一点,如何发送多条命令

  • 能并行的就并行 :如果几条命令互不相干,比如同时查 git statusgit diff,AI 应该一次性把多个请求打包发出去,而不是等一条命令跑完再发下一条
  • 有先后顺序的用 && :如果命令之间有依赖关系,比如必须先 mkdir 创建文件夹才能往里面 cp 复制文件,就要用 && 把这些命令串起来,确保前一步成功了再走下一步
  • 不在乎失败的命令用 ; :如果不关系前面的命令是否执行成功,只想接着跑后面的命令,就用分号 ; 连接多条命令
  • 禁止用换行符:不能在命令之间直接敲回车换行,引号里的内容除外,OpenCode 客户端会自动处理命令的执行

下面是第二点,切换目录的规矩 ,其实这点前面的提示词说过,就是不能用 cd 命令切换工作目录去执行命令,要用 workdir 参数传递想要进哪个文件夹执行命令

下面看提交规则

这里的提示词用来规范 AI 帮助用户使用 Git 命令提交代码时的行为,防止 AI 自作主张改动 Git 仓库,或者执行一些可能导致代码丢失的危险操作,下面来具体看下

  • 明确命令才动手,严禁主动提交:只有当用户明确要求 AI 创建 Git 提交(commit)时,AI 才能动手,如果指令模棱两可,AI 必须先问用户
  • 不动配置文件 :永远不能修改用户的 Git 配置(git config
  • 不执行毁灭性命令 :除非用户明确要求,否则严禁执行任何不可逆,或者破坏性的命令,比如 git push --force 强制推送,或者 git reset --hard 硬重置等,防止用户代码意外丢失
  • 不绕过安全检查 :除非用户明确要求,否则不能跳过 Git 的钩子检查,比如 --no-verify

接着重点提到了使用 --amend 选项的注意事项,git commit --amend 可以用来修改最近一次的提交信息,但必须同时满足如下所有条件才能使用,否则一律创建新的提交:

  • 前提 :要么是用户明确要求 amend,要么是提交成功后 Git 钩子(pre-commit hook)自动修改了文件,需要补录
  • 归属 :最近一次提交(HEAD)必须是 AI 在这次对话中刚刚创建的,这里会通过 git log -1 --format='%an %ae' 命令检查作者信息,这里 %an 表示作者的明泽(Author Name),
  • 状态 :这个提交还没有被推送到远程服务器,也就是 git status 显示当前分支领先于远程分支

接着是两个关键的场景,如下两个场景禁止使用 --amend

  • 失败处理 :如果提交失败,或者被钩子拒绝,此时不能再用 --amend,必须修复问题后,再创建一个全新的提交
  • 已推送处理 :如果代码已经推送到远程,除非用户明确要求(因为需要用 git push --force),否则也不能用 --amend

OK,本篇先到这里,如有疑问,欢迎评论区留言讨论,祝各位功力大涨,技术更上一层楼!!!更多内容见下篇 blog
【Agent】【OpenCode】bash 工具提示词(amend 风险)

相关推荐
Shockang2 小时前
AI 设计工作流全景拆解:Figma MCP / Claude Design / Codex / Google Stitch
人工智能
葫芦和十三2 小时前
图解 MongoDB 13|WiredTiger 存储引擎:B-tree、页和 checkpoint 三件套
后端·mongodb·agent
To_OC3 小时前
数据集划分不是随便切:手把手切分大众点评情感数据集
人工智能·llm·agent
冬奇Lab4 小时前
每日一个开源项目(第142篇):android/skills - Google 官方 Android 开发 AI Skill 库
人工智能·开源·资讯
冬奇Lab4 小时前
Skill 系列(06):Skill 工程化与治理——路由准确率 38%、压缩节省 76%
人工智能·开源·agent
IT_陈寒6 小时前
Vue这个坑我跳了两次,原来问题出在这
前端·人工智能·后端
新新技术迷6 小时前
Node给AI接口做SSE代理与鉴权
人工智能
redreamSo7 小时前
大模型是不是到顶了?瓶颈到底在哪
人工智能·openai
Oo9207 小时前
Tool Use 背后的技术逻辑
人工智能