这个项目能做什么
core-agent 是一个生产级的 Go 基础框架,用于构建多轮 LLM 智能体,基于 Google 的 Agent Development Kit(ADK)构建。它提供了基础性的接线——提供商、MCP、技能、权限、持久会话、远程附加、进程内 Bubble Tea TUI,以及无头 CLI——以便下游项目可以专注于自己的工具和产品逻辑。
**运行时**:通过 ADK 的 runner 进行多轮对话,支持并行工具调用分发。包含进程内 Bubble Tea TUI 作为默认 TTY 界面,一个 --no-tui 行式 REPL 回退方案,以及一个可移除 TUI 树的 slim 构建标签。自主模式支持无人值守 worker,具备轮次/token/成本/挂钟时间预算、模型驱动的终止,以及通过持久检查点实现的崩溃恢复。长会话存活能力包括在约 85% 利用率时自动进行轮后上下文压缩、带有智能体工具包装器的子任务(可将大量工具输出排除在父上下文之外),以及任务边界检查点。
**提供商**:Gemini API 和 Vertex AI(支持服务端 GoogleSearch 和 URLContext),通过 api.anthropic.com 以及通过 Vertex AI 作为原生模型适配器接入的 Anthropic Claude。Mock 提供商(echo、脚本化 JSONL 回放、会话录制)支持无需凭据的测试。针对服务端内置工具(web_search、url_context、code_execution)的提供商中立三态门控系统,使互联网可达性姿态在切换提供商后仍能保持。
**指令、工具、MCP、技能**:AGENTS.md 主指令,带有一个覆盖目录、用于多文件组合的 @include 指令,以及三个作用域(user、user-home、project),并支持 CLAUDE.md/GEMINI.md 回退。内置工具目录涵盖文件操作(read、write、edit、delete、outline)、搜索(glob、grep)、数据/网络(json_query、fetch_url)、shell(bash)、规划(todo、record_plan)、验证(wait_and_verify),以及交互式提示(ask_user)。MCP 服务器在 mcp.json 中声明,支持 stdio 和 Streamable HTTP 传输、命名空间化工具,以及受权限门控的路由。Claude 兼容技能从 SKILL.md 文件自动发现,并带有需求声明(例如 shell、kubectl、gcloud),若未满足则在启动时不予提供。
**权限**:ask/allow/yolo 模式,支持基于模式的允许/拒绝列表、文件工具上的路径范围强制、fetch_url 的 URL 范围允许列表,以及不可覆盖的 bash 拒绝列表。计划优先强制可要求在变更性工具调用之前先记录计划(required 模式),或记录计划但不阻塞(advisory 模式,用于无人值守运行)。可插拔的 Prompter 接口可跨 TTY、无头、TUI 或自定义 Web 前端工作。
**持久化与可观测性**:通过 SQLite(纯 Go、无 CGO)、Postgres 或 MySQL 实现持久会话和审计日志,具备单调 seq、回放、实时尾部监视,以及用于崩溃安全多进程恢复的会话锁定。可选的 OpenTelemetry 导出(console/OTLP,默认关闭)。按模型的 token 和成本跟踪,支持分层定价(每日 LiteLLM 刷新、按配置覆盖)。
**远程附加与运维界面**:HTTP + SSE 实时尾部,带 inject/wake 端点,基于 mTLS + bearer 认证。运维人员 hold/interrupt/pause 控制,用于进行中轮次取消和循环停驻。远程 TUI 客户端(单独版本化的二进制文件),具备完整的斜杠命令对等性、每轮成本页脚、实时工具审批模态框,以及会话切换。多会话守护进程,具备按调用者身份、ACL(Owner/Viewers/Contributors)、权限授予、指令覆盖,以及审计归属;会话在守护进程重启后仍可存活。通过 /.well-known/agent-card.json 以 A2A AgentCard 形式进行智能体卡片发现。对等注册用于中心辐射式集群发现。
**子智能体**:通过 agent.WithSubagents 进行进程内同步委托,通过 spawn_agent/stop_agent 进行后台子智能体,结果作为 Background 报告推送回来。通过消费者提供的 RemoteAgentSpawner 进行远程生成,用于 gRPC、K8s Jobs 或 Cloud Run。子智能体事件在 Branch 标签下流入父级的审计日志。
**Kubernetes 分诊 Sidecar**:lookout-watch 监视 Kubernetes Events,进行过滤和去重,并将匹配的事件注入到按事件划分的会话中,通过 GKE MCP 进行诊断-修复-验证循环,受计划优先强制门控。
**安装**:Go install(需要 Go 1.26+)、预构建的 Sigstore 签名二进制文件(linux/darwin × amd64/arm64),以及多架构 distroless 容器镜像(完整守护进程+TUI、slim 无头、仅 TUI 客户端)。采用 Apache-2.0 许可。
评论
0 人表达喜爱 · 满10人后显示 Deer Point
登录后参与讨论。