Cherry Studio Agent 后台命令执行,让 AI 直接跑 shell 命令
终端执行是什么
文件读写是 Agent 操作本地文件,终端执行是 Agent 调用命令行工具。两者配合才能让 Agent 完成完整的开发流程——比如改完代码后跑测试、跑完测试后提交 Git、提交后部署到服务器。
支持的平台终端:
- Windows:PowerShell(默认)或 CMD
- macOS:Zsh(默认)或 Bash
- Linux:Bash(默认)
终端执行和权限模式的关系
终端执行是 Agent 最强大也最危险的能力。Cherry Studio 的 五种权限模式 对终端执行的影响:
| 模式 | 终端命令行为 | |
|---|---|---|
| 逐次确认 | 每次命令都弹窗问你 | |
| 自动接受编辑 | 写文件放行,命令仍需确认 | |
| 智能批准 | 安全命令(ls、cat、git status)放行;危险命令(rm、chmod 777、`curl \ | bash`)需确认 |
| 仅规划 | 不执行任何命令 | |
| 完全访问 | 所有命令直接跑 |
建议首次让 Agent 跑命令时用逐次确认模式,观察它会执行哪些命令、传什么参数。确认没问题后再切更放手的模式。
Agent 常见的终端用法
| 场景 | Agent 会执行的命令 |
|---|---|
| 代码重构后跑测试 | npm test、pytest、mvn test |
| Python 项目管理 | pip install -r requirements.txt、python setup.py |
| Git 操作 | git status、git diff、git add .、git commit -m "..." |
| 批量文件操作 | find / grep / sed / awk 等处理大量文件 |
| 网络请求 | curl / wget 拉取远端资源 |
| 启动服务 | npm run dev、docker-compose up、uvicorn |
Agent 执行完命令后会把命令输出(stdout + stderr)读回来,根据结果决定下一步——测试通过了继续、测试失败了看报错信息、依赖装不上换版本、端口被占用换端口。
终端环境和系统终端是同一个
Cherry Studio 的终端执行使用的是你系统本身的终端环境——你在系统终端里能跑的命令,Agent 也能跑;你系统里装了哪些工具(Python、Node、Docker 等),Agent 都能调用。路径、环境变量、全局安装的工具链全部继承。
这意味着:
- Agent 可以调用你本地安装的 Python / Node / Go / Rust 等编译器
- Agent 可以访问你系统里配置的 git 凭证、SSH key 等
- Agent 能跑你 PATH 里的所有 CLI 工具(包括通过 编码搭档 安装的)
安全注意事项
- 不要在完全访问模式下让 Agent 操作你的主项目目录——一次误操作可能毁掉整个仓库
- 给 Agent 一个专门的虚拟环境:让它在独立的 Python venv 或 Docker 容器里跑,避免和你系统环境互相污染
- 敏感操作手动确认:Git push、部署到生产服务器、数据库操作这些,即使权限模式是完全访问,也建议在人格提示词里要求先输出计划让你确认
- 定期回顾终端历史:Agent 执行过的所有命令在右侧面板消息流里都能看到,养成定期检查的习惯
和编码搭档的配合
编码搭档 让 Cherry Studio 能管理 Claude Code、Codex、Gemini CLI 等编程 CLI。Agent 的终端执行可以调用这些 CLI 工具——比如让 Agent 跑 claude-code 来处理一个具体的编程任务,把结果整合回主工作流。