Go terminal AI agent CLI with Bubble Tea TUI, ReAct tools, MCP, Runtime API, memory, snapshots, and web search
PaiCLI Go
PaiCLI Go 是一个运行在终端里的 AI Agent CLI,面向真实项目开发场景:读写文件、搜索代码、执行命令、联网检索、调用 MCP 工具、加载 Skill、保存记忆、生成快照、恢复现场,并通过 Runtime API 对外提供 threads、turns 和 events 能力。
这个仓库是 PaiCLI 的 Go 版本。它参考 Java 版 PaiCLI 的完整 Agent CLI 能力,也参考 Python 版 PaiCLI 的产品化定位:不是一个只会聊天的空壳 Demo,而是按真实终端优先的开发助手来做,核心路径有测试覆盖,并经过本地 CLI smoke 验证。
功能特性
- ReAct Agent 循环与 OpenAI-compatible tool calling
- OpenAI-compatible 流式 LLM 客户端,默认面向 DeepSeek 配置
- 全屏终端 TUI,基于 Bubble Tea、Bubbles textarea、Lip Gloss 和 Glamour 渲染
- 单次 prompt 模式,适合脚本、管道和自动化调用
- 内置文件、目录、glob、grep、shell、项目创建、联网搜索、网页抓取等工具
- 本地 RAG 代码索引、检索和简单关系图
- Skill 三层扫描、frontmatter 解析、启用状态管理和
load_skill延迟注入 - MCP stdio/HTTP 基础握手、
tools/list、动态工具注册和调用 - Plan-and-Execute、Multi-Agent 编排入口
- Runtime API:threads、turns、events
- 微信 iLink 通道命令、账号状态、文本格式化与安全策略骨架
- PathGuard、CommandGuard、危险操作审计日志、快照/恢复基础能力
环境要求
- Go 1.26 或更新版本
- 可选:
rg,用于更快的本地搜索 - 可选:MCP server 所需的本地运行时,例如 Node.js、Python 或远端 HTTP MCP 服务
快速开始
git clone https://github.com/itwanger/paicli-go.git
cd paicli-go
go run ./cmd/paicli doctor
go run ./cmd/paicli --once "你好,介绍一下当前项目"
go run ./cmd/paicli --mode plan --once "分析这个需求并实现"
go run ./cmd/paicli
常用命令:
go run ./cmd/paicli --plain
go run ./cmd/paicli index .
go run ./cmd/paicli search "Agent"
go run ./cmd/paicli serve --port 8080
go run ./cmd/paicli wechat status
可用环境变量:
export PAICLI_PROVIDER=deepseek
export PAICLI_MODEL=deepseek-v4-pro
export PAICLI_API_KEY=...
export DEEPSEEK_API_KEY=...
export STEP_API_KEY=...
export KIMI_API_KEY=...
export GLM_API_KEY=...
export OPENAI_API_KEY=...
export SERPAPI_API_KEY=...
export SEARXNG_BASE_URL=http://localhost:8080
交互命令
进入 go run ./cmd/paicli 后,可以使用:
/help
/exit
/plan <task>
/team <task>
--once 和 --plain 也支持 /plan <task>、/team <task> 前缀;脚本化调用时也可以通过 --mode plan 或 --mode team 显式选择执行模式。
更多命令会随着 Java/Python 版本能力对齐逐步补齐。
内置工具
PaiCLI Go 当前内置的 Agent 工具包括:
read_filewrite_filelist_dirglob_filesgrep_codeexecute_commandcreate_projectweb_searchweb_fetchsave_memoryload_skillsearch_coderestore_snapshot
写文件、执行命令、恢复快照等危险动作会经过路径和命令安全策略处理,并写入审计日志。
MCP 与 Runtime API
PaiCLI Go 可以读取用户级和项目级 MCP 配置,并把远端工具注册为:
mcp__<server-name>__<tool-name>
Runtime API 可以通过以下命令启动:
go run ./cmd/paicli serve --port 8080
它提供线程、turn 和事件能力,便于把 PaiCLI Go 接入外部编排系统或后台任务。
创建 turn 时可以传入 mode 字段选择 react、plan 或 team,不传则会按输入前缀自动识别 /plan 和 /team。
更多 Java parity 记录见 docs/parity.md。