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 风险)

相关推荐
hf2000121 小时前
Agent 应用范式下,企业数据基础设施正在重写:为什么云器 Lakehouse 会成为 AI 时代的数据底座
人工智能·agent
是店小二呀1 小时前
利用JiuwenSwarm创建活动规划团队,一句话落地利用JiuwenSwarm创建活动规划团队,一句话落地活动实战
人工智能·prometheus
Finger#0000FF1 小时前
从零上手VibeCoding(ClaudeCode+DeepSeek V4.Pro)
java·人工智能·ai编程·vibe coding·claudecode
Giorno3721 小时前
用 LLM 做数据提取踩了 6 个坑,我加了 6 层防御——15000 张发票的实战总结
人工智能
沉浸式学习ing1 小时前
播客和视频怎么变成知识库里的笔记?音视频转结构化笔记完整方案
人工智能·笔记·gpt·学习·ai·音视频·notion
zavoryn1 小时前
从操作系统理解 AI Agent:进程、系统调用与上下文窗口
agent
Soari1 小时前
终结 Vibe Coding(Harness Engineering)!深度拆解 ralph:以交付所有 PRD 为生命周期的自主 AI Agent 闭环
自动化测试·人工智能·软件工程·aiagent·ralph·harnesseng·prd驱动
yezannnnnn1 小时前
ToAgent:下一个被颠覆的不是某个行业,是"App"这个概念本身
人工智能
Marvel__Dead1 小时前
微调 Gemma 4 识别腾讯天御全系列验证码【解决方案-一个模型识别 滑块|文字点选|图标点选|空间点选】
人工智能·爬虫·python·验证码识别·ai 大模型