77、【Agent】【OpenCode】bash 工具提示词(持久化)(一)

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

背景

上篇 blog
【Agent】【OpenCode】用户对话提示词(addtionalProperties 属性)

继续补充分析了 addtionalProperties 关键词,提到了 OpenCode 设置成 false,是为了确保 OpenCode 前端界面只接收它能理解的参数,防止 AI 传一些前端不支持的参数导致程序崩溃,强迫 AI 传给工具的数据是纯净完全符合预期的,此外,addtionalProperties 关键字也是 JSON Schema 标准中的内容,专门用于控制对象中未在 properties 里明确定义的属性是否合法,其值除了可以是布尔值,还可以是一个子 Schema,用来定义额外属性必须符合的格式,然后继续分析了作为单个问题的完整数据结构,接着继续分析了下一个工具 bash,OpenCode 定义的 bash 工具和在终端里直接输入 bash 命令本质上是一回事,但这里的 bash 工具在安全性和便利性上做了很多包装,可以理解为一个带着安全校验和导航功能的 Bash,并对比了 bash 工具和终端 Bash 的区别,下面继续分析

OpenCode

下面来继续分析 bash 工具

这里规定了 AI 在后台执行终端命令时,必须遵守的规则

  • 基础能力 :OpenCode 可以执行 Bash 命令,并且是在一个持久会话中运行,就像打开一个终端窗口一直没关,上一个命令设置了某个环境变量,下一个命令依然能生效,状态是连贯的
  • 工作目录 :所有命令默认在 ${directory}(也就是当前项目的根目录)下运行,如果需要在别的文件夹运行命令,就必须使用工具的 workdir 选项填好路径来指定,此外,这里的提示词明确强调,禁止使用 cd ... && command 这种写法
  • 职责边界 :专门用来执行终端操作,比如 git(代码管理),npm(安装依赖),docker(容器操作),禁止用 Bash 命令来读写,编辑,或查找文件内容,文件的增删查改有专门的文件工具去处理,这里的 Bash 工具只负责发号施令跑程序

对于普通终端来说,一旦关掉窗口,或者断开 SSH 连接,当前会话和里面的环境变量,运行状态就没了,而上面提到了 OpenCode 执行 Bash 命令是在一个持久会话中运行,能做到关掉终端不丢失状态,这会涉及到一些进程管理和会话保持的技术,下面来分析下做这种持久化会话的一些大体方向

  • 在后台维护一个常驻的 Shell 进程 :Agent 程序在启动时,可以通过代码(比如 subprocess 模块)创建一个真实的,长期存活的 Shell 进程(比如 /bin/bash),这个 Shell 进程会一直在后台默默运行,不退出

可以看到,OpenCode 并没有每次执行命令都临时开一个一次性的 Shell,而是统一维护一个或数个常驻的后台 Shell 进程,当远端 AI 模型需要执行命令时,OpenCode 就可以把命令源源不断地投喂给这个已经存在的 Shell 进程的标准输入 stdin,然后读取它的标准输出 stdout,而因为是同一个 Bash 进程在干活,所以比如 AI 上一次设置的环境变量,下一次命令在执行时依然能读取到

  • 守护进程与超时控制:为了防止这个常驻的 Shell 变成僵尸进程,或者无限期占用服务器资源,可以将其作为守护进程(Daemon)来管理,并加上超时(Timeout)机制

从安全角度,OpenCode 主程序会监控这个 Shell 进程,如果长时间没有接收到远端 AI 模型新的命令,主程序就可以把它安全关闭,而如果 OpenCode 意外退出了,也可以设置自动清零掉这些后台 Shell


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

相关推荐
余俊晖3 小时前
多模态大模型细粒度视觉理解:Vision-OPD在线策略自蒸馏技术方案概述
人工智能·深度学习·算法·多模态·opd
付玉祥3 小时前
以业务语义网为中心:企业本体端到端智能构建与 Agent 执行实践
人工智能
dozenyaoyida3 小时前
AI与大模型新闻日报 | 2026-08-01
人工智能·ai·大模型·新闻
大伟先生3 小时前
OpenClaw 数据采集实战入门
人工智能·深度学习
智塑未来3 小时前
金融 AIOps 选型指南:银行证券智能运维平台怎么选
运维·人工智能·金融
余俊晖4 小时前
再看多模态OCR视觉token裁剪思路-LayoutLite基于token的隐式布局分析
人工智能·ocr·多模态
二狗PPT4 小时前
AI做PPT提示词怎么写,换个写法效果差很多
人工智能·powerpoint
段一凡-华北理工大学4 小时前
AI推动工业智能化转型~系列文章07:分类与诊断算法体系:故障识别的完整工具箱
数据库·人工智能·算法·机器学习·分类·数据挖掘·高炉炼铁智能化
cxr8284 小时前
第 7 章 . 设计哲学回顾与最终说明
人工智能
skywalk81634 小时前
经过多次尝试,在kaggle 双T4训练Qwen2.5-0.5B的正确打开方式是:
人工智能·深度学习·机器学习·qwen2.5·段言