pigo generating a quicksort implementation in Go

# 无头:把 diff 从 stdin 喂进去,结果流式输出后退出
git diff | pigo -p "总结这个 diff,指出潜在风险"

# 无头 + JSON,供 CI 解析
pigo -o json -p "列出仓库里所有 TODO" | jq -r '.text'

# 交互:不带提示进入 TUI
pigo
> 帮我把 auth 中间件的测试补齐
> /think        # 开启深度思考
> /compact      # 手动压缩上下文

# 按模型名自动路由到对应 provider
pigo -m claude-opus-4-7      # → Anthropic
pigo -m gpt-5                # → OpenAI
pigo -m deepseek-v4-pro      # → DeepSeek(也支持 deepseek-v4-flash)

# 指向任意 OpenAI 兼容端点(本地 Ollama)
pigo -u http://localhost:11434/v1 -m qwen3

# TUI 中实时切换,无需重启会话
> /models                    # 列出可用模型
> /model glm-4.6

read
write
edit
grep
find
bash
todo
webfetch

# 模型在一条消息里派发多个 task 子 Agent → 并行跑
task  "审计 internal/auth 的越权风险,返回清单"
task  "统计仓库里所有 TODO/FIXME 并按目录归类"
task  "给 parser 包补齐表驱动测试"

# 进程隔离由环境变量选择并发上限
PIGO_MAX_SUBAGENTS=8 pigo -p "并行重构这三个模块"

# TUI:Ctrl+V 粘贴截图 → 输入框出现 [Image #1]
> 这个报错截图是什么原因? [Image #1]

# 任意提示里直接引用本地图片(无头也可用)
pigo -p "照着 @image:./design.png 实现这个页面"
pigo -p "解释这张架构图 ![](docs/arch.png)"

# 提取最终回答文本
pigo -o json -p "列出仓库的 TODO" | jq -r 'select(.type=="final").text'

# 实时观察每一次工具调用
pigo -o json -p "跑测试并修复失败" \
  | jq -r 'select(.type=="tool_call") | .name + " " + (.args|tostring)'

# 越靠近当前目录的指令文件优先级越高
repo/PIGO.md              # 项目级:技术栈、约定
repo/backend/CLAUDE.md    # 后端子目录:额外覆盖规则
repo/backend/api/         # ← 在此运行 pigo,两份都会加载,api 最近者最优先

pigo -r                # 续跑最近会话
> /fork                # 从当前节点分叉:试方案 A
> /tree                # 查看会话树
● main
├─ fork-a  尝试重构为接口
└─ fork-b  尝试保留 switch ←

> /compact             # 手动压缩
… 上下文自动压缩:128k → 12k tokens,保留关键决策与文件状态

> /memory              # 查看/管理记忆
◆ 记住:本项目用 zsh + Go 1.27,偏好 squash 合并
◆ memory_search "上次我们怎么处理 auth 中间件的?"

> /memory                           # 查看记忆库状态:条目数、窗口、占用
◆ memory_search "auth 中间件上次怎么改的?"
  → projects/auth.md   (score 0.82)  近三次改动的决策与踩坑
  → feedback/testing.md (score 0.41) 集成测试必须打真实数据库

> /rebuild              # 手动在最近检查点处重建上下文
… Preparing conversation context…      # 等待进行中的检查点写入
● 边界前 96k tokens → 检查点摘要;近 8 轮逐字保留;召回 2 段相关记忆

# ~/.config/pigo/hooks/pre-tool-use.sh
# 退出码非 0 → 拦截该工具调用
case "$PIGO_TOOL_ARGS" in
  *"rm -rf"*) echo "拒绝:危险删除" >&2; exit 1 ;;
esac