covo-agent - 运行在终端里的全能 AI Agent

项目简介

covo-agent 是一个运行在终端中的通用型 AI Agent,提供 general(通用)与 code(编程)两种工作模式。它面向日常知识工作、软件开发、自动化、持久上下文管理和外部系统协作,通过交互式 TUI、丰富工具链、记忆系统、技能扩展、安全控制与可扩展集成,提供完整的终端 AI 工作流。


核心亮点

1. 交互式终端工作流

  • 流式回复,实时展示工具调用状态
  • 支持鼠标选择、会话历史、模型选择器
  • 内置多种主题、Shell 补全
  • 状态栏实时显示:模式、Git 分支、上下文使用率、后台任务数

2. 多种运行模式

模式 命令示例 适用场景
交互式 TUI covo-agent 迭代开发、工具调用、审批、会话管理
单次运行 covo-agent -z "prompt" 脚本、一次性终端回复
单次 JSON covo-agent -z "prompt" --json 结构化自动化输出
无头模式 covo-agent --headless -z "prompt" 非交互式 Agent 任务,配合显式策略

3. 完整的编程工具链

  • 文件操作:搜索、读取、编辑、补丁应用
  • 代码分析:静态分析、Review、测试生成
  • Git 集成:Worktree、检查点、PR 创建、变更追踪
  • Shell 执行:支持允许/拒绝策略的命令执行
  • LSP 支持:代码跳转、补全、诊断

4. 持久上下文管理

  • 会话系统:树状会话、分支、恢复、重命名、删除
  • 记忆系统:长期记忆、技能库、目标追踪、快照
  • 承诺事项:跨会话的任务承诺管理
  • Profile 隔离:多配置文件隔离数据目录

5. 灵活的模型接入

原生支持主流 Provider:

  • OpenAI (GPT-4o, GPT-5 等)
  • Anthropic (Claude 3.5 Sonnet, Opus 等)
  • Google Gemini
  • 小米大模型
  • OpenRouter
  • 自定义 OpenAI 兼容协议(本地模型、私有部署等)

6. 安全控制体系

  • 审批门:文件修改、命令执行、Git 操作需用户确认
  • 策略控制--allow / --deny 精细规则
  • 沙箱配置:workspace、read-only、strict、devbox、off
  • 敏感信息脱敏:自动清理 API Key、Token 等机密
  • 审计日志:完整的操作审计追踪
  • 死循环恢复:自动检测并中断异常循环

7. 扩展集成生态

  • MCP Server:标准化工具协议支持
  • ACP:Agent Communication Protocol
  • 插件系统:动态加载扩展
  • 通信网关:多 Agent 协作
  • 外部编辑器:Neovim、VS Code 等无缝衔接

快速上手

一键安装

# 通用安装脚本(自动识别系统架构)
curl -fsSL https://raw.githubusercontent.com/covoyage/covo-agent/main/install.sh | bash

# macOS / Linux (Homebrew)
brew install --cask covoyage/tap/covo-agent

# Windows (Scoop)
scoop bucket add covoyage https://github.com/covoyage/scoop-bucket
scoop install covoyage/covo-agent

# Go 开发者
go install github.com/covoyage/covo-agent/cmd/covo-agent@latest

初始配置

# 交互式配置向导(推荐新手)
covo-agent setup

# 或手动配置 Provider 和模型
covo-agent model

# 管理 API Key
covo-agent auth add OPENAI_API_KEY=sk-xxx
covo-agent auth list

基本使用

# 进入项目目录启动交互式 TUI
cd your-project
covo-agent

# 单次任务(不启动 TUI)
covo-agent --oneshot "总结当前仓库架构"
covo-agent -z "审查未提交的修改" --json

# 受约束的自动化任务
covo-agent --headless \
  -z "找出测试失败的原因并修复" \
  --tools read,grep,glob,bash \
  --max-turns 8 \
  --allow 'bash:go test *' \
  --deny 'bash:rm *'


特色功能深度体验

会话树与历史管理

Ctrl+O  - 会话列表(支持预览、搜索、重命名、删除)
Ctrl+Y  - 会话树视图(可视化分支历史)

每个会话自动保存上下文、工具调用历史、文件变更,随时恢复继续工作。

模型快速切换

Ctrl+P  - 打开模型选择器

支持在同一会话中无缝切换 Provider 和模型,保持上下文不丢失。

技能中心

Ctrl+K  - 打开技能中心

预置 OCR 文档提取、Whisper 语音转写、健康检查、GIF 搜索、xurl 链接处理等技能;支持自定义技能扩展 Agent 能力。

代码 Review 与 PR

covo-agent review          # 审查未提交变更
covo-agent pr create       # 基于变更自动生成 PR 描述
covo-agent analyze         # 代码库整体分析

Git Worktree 工作流

covo-agent worktree add feature-x  # 创建独立工作树并切换
covo-agent worktree list           # 列出所有 worktree

适合并行开发多个功能,互不干扰。

定时任务与心跳

covo-agent cron add "每天早 9 点总结昨天提交" --schedule "0 9 * * *"
covo-agent heartbeat              # 后台守护进程模式


配置示例

全局配置 ~/.covo-agent/config.yaml

provider: anthropic
model: claude-3-5-sonnet-20241022
mode: code

# 自定义 Provider(如本地 Ollama)
custom_providers:
  - name: Local
    protocol: openai/chat
    base_url: http://localhost:11434/v1
    api_key_env: OLLAMA_API_KEY

# 技能源
skills:
  urls:
    - https://github.com/covoyage/skills/main

# 显示设置
display:
  theme: dracula
  show_reasoning: true

# 沙箱策略
sandbox:
  profile: workspace

项目级配置 .covo-agent.yaml(优先级更高)

model: gpt-4o
mode: code
custom_providers:
  - name: CompanyLLM
    protocol: openai/chat
    base_url: ${COMPANY_LLM_URL}
    api_key_env: COMPANY_LLM_KEY

没看出有什么特别的地方……