Skip to content

cago-frame/agents

Repository files navigation

Cago Agents

Go 写的 AI Agent 框架:既能跑自带循环的 Agent(OpenAI / Anthropic),也能把本地 Agent CLI(Claude Code 等)包装成同形状的 Runner,共享同一套 Tool / Hook / Session。

基于 Cago。仍在迭代,API 可能变动。

模块

  • agent/ — 核心 Runtime。自带多轮循环、流式事件、工具并发执行、七段 Hook、Session + Store
  • provider/ — 模型 Provider 抽象。实现:openai;占位:anthropics;测试替身:providertest
  • agent.Tool — 用 Go 结构体 + jsonschema tag 自动生成 JSON Schema 的工具接口。
  • mcp/ — Loopback MCP Bridge,把 Go 工具用 streamable-HTTP 暴露成 MCP server。
  • clisdk/ — 把本地 Agent CLI 当作 Runner;内置 claudecode 后端(含原生 hook 协议)。
  • tool/subagent/ — 把多个 *agent.Agent 打包成一个分派工具,子事件通过 SubAgentEvent 冒泡到父流。
  • rag/embedding/ — Embedding Provider 抽象 + OpenAI 实现。

安装

go get github.com/cago-frame/agents

Go 1.26+。用 clisdk/claudecode 还需要本机装好并登录 claude CLI。

示例

完整可跑代码见 example/

目录 说明
example/simple agent.Agent + OpenAI + 两个工具 + BeforeModel hook 注入中途消息
example/subagent 纯 Go sub-agent 组合
example/clisdk-claude clisdk.Agent 驱动真实 Claude Code CLI,含 Go 工具 / sub-agent / PostToolUse hook
example/clisdk-substream Claude Code 流式 / partial-message 处理

开发

make test       # go test -v ./...
make lint       # golangci-lint run
make lint-fix   # golangci-lint run --fix
make cover      # coverage.out + func summary

About

一个AI Agent开发工具集

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages