MCPcopy Index your code
hub / github.com/coze-dev/coze-loop

github.com/coze-dev/coze-loop @v1.5.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.5.1 ↗ · + Follow
87,694 symbols 214,613 edges 3,845 files 6,512 documented · 7%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Image

Coze Loop功能清单快速开始开发指南

License Go Version Ask DeepWiki

English | 中文

什么是 Coze Loop

Coze Loop 是一个面向开发者,专注于 AI Agent 开发与运维的平台级解决方案。 它可以解决 AI Agent 开发过程中面临的各种挑战,提供从开发、调试、评估、到监控的全生命周期管理能力。 Coze Loop 在商业化版本的基础上,推出开源版免费对开发者开放核心基础功能模块,以开源模式共享核心技术框架,开发者可根据业务需求定制与扩展,便于社区共建、分享交流,助力开发者零门槛参与 AI Agent 的探索与实践。

Coze Loop 能做什么?

Coze Loop 通过提供全生命周期的管理能力,帮助开发者更高效地开发和运维 AI Agent。无论是提示词工程、AI Agent 评测,还是上线后的监控与调优,Coze Loop 都提供了强大的工具和智能化的支持,极大地简化了 AI Agent 的开发流程,提升了 AI Agent 的运行效果和稳定性。

  • Prompt 开发:Coze Loop 的 Prompt 开发模块为开发者提供了从编写、调试、优化到版本管理的全流程支持,通过可视化 Playground 实现 Prompt 的实时交互测试,让开发者能够直观比较不同大语言模型的输出效果。
  • 评测:Coze Loop 评测模块为开发者提供系统化的评测能力,能够对 Prompt 和扣子智能体的输出效果进行多维度自动化检测,例如准确性、简洁性和合规性等。
  • 观测:Coze Loop 为开发者提供了全链路执行过程的可视化观测能力,完整记录从用户输入到 AI 输出的每个处理环节,包括 Prompt 解析、模型调用和工具执行等关键节点,并自动捕获中间结果和异常状态。

功能清单

功能 功能点
Prompt 调试 *Playground 调试、对比
  • Prompt 版本管理 | | 评测 | *管理评测集

  • 管理评估器

  • 管理实验 | | 观测 | *SDK 上报 Trace

  • Trace 数据观测 | | 模型 | 支持接入 OpenAI、火山方舟等模型 |

快速开始

参考快速开始,详细了解如何安装部署 Coze Loop 最新版本。

部署方式1:Docker 部署 (Docker Compose)

请提前安装并启动 Docker Engine。

操作步骤:

  1. 获取源码。 执行以下命令,获取 Coze Loop 最新版本的源码。

```Bash # 克隆代码 git clone https://github.com/coze-dev/coze-loop.git

# 进入coze-loop目录下 cd coze-loop ```

  1. 配置模型。
  2. 进入 coze-loop 目录。
  3. 编辑文件 release/deployment/docker-compose/conf/model_config.yaml
  4. 修改 api_key 和 model 字段。以火山方舟为例:
  5. 启动服务。 执行以下命令,使用 Docker Compose 快速部署 Coze Loop 开源版。

Bash # 启动服务,默认为开发模式 # 在 coze-loop/目录下执行 make compose-up

  1. 通过浏览器访问 Coze Loop 开源版 http://localhost:8082

部署方式2:Kubernetes 部署(Helm Chart)

  • 已准备 Kubernetes 集群、启用 Nginx Ingress Addons,并安装 Kubectl 和 Helm 工具。
  • 如需在本地快速体验,可通过 Minikube 部署 Kubernetes 集群。详细步骤可参考快速开始

操作步骤:

  1. 执行以下命令获取 Helm Chart 包。

Bash helm pull oci://docker.io/cozedev/coze-loop --version 1.0.0-helm tar -zxvf coze-loop-1.0.0-helm.tgz && cd coze-loop && rm -f ../coze-loop-1.0.0-helm.tgz

  1. 配置模型。 进入 coze-loop 目录,编辑文件 release/deployment/helm-chart/umbrella/conf/model_config.yaml。配置以下字段,此处以火山方舟为例:
  2. api_key:火山方舟 API Key。中国境内用户参考火山方舟文档;非中国境内的用户可参考BytePlus ModelArk 文档
  3. model:火山方舟模型接入点的 Endpoint ID。中国境内用户参考参考火山方舟文档;非中国境内的用户可参考BytePlus ModelArk 文档
  4. 配置 Ingress 规则。 Ingress 用于暴露服务到外部,需根据集群实际情况配置项目目录下的templates/ingress.yaml 文件,自行修改 ingressClassName 等参数,配置 class、instance、host、ip 分配等要素。
  5. 部署并启动服务。 执行以下命令,使用 Helm 快速部署 Coze Loop 开源版。

Bash # 在 coze-loop/目录下执行 make helm-up # 等待服务部署完成后,查看集群pod状态 make helm-pod # 查看服务启动日志,如果 app 和 nginx 均正常运行,表示部署成功 make helm-logf-app make helm-logf-nginx

  1. 通过浏览器访问 Coze Loop 开源版。 访问域名及 URL 取决于你的集群分配的域名以及 URL。
  2. 开始定制你的 Coze Loop 项目。 参考 examples/ 目录示例,修改 values.yaml 即可覆盖默认设置,修改后重新执行 make helm-up 生效。

使用 Coze Loop 开源版

  • Prompt 开发与调试:Coze Loop 提供了完整的提示词开发流程。
  • 评测:Coze Loop 的评测功能提供标准评测数据管理、自动化评估引擎和综合的实验结果统计。
  • Trace 上报与查询:Coze Loop 支持对平台上创建的 Prompt 调试的 Trace 自动上报,实时追踪每一条 Trace 数据。
  • 开源版使用Coze Loop SDK:Coze Loop 三个语言的 SDK 均适用于商业版和开源版。对于开源版,开发者只需要初始化时修改部分参数配置。

开发指南

  • 系统架构:了解Coze Loop 开源版的技术架构与核心组件。
  • 启动模式:安装部署Coze Loop 开源版时,默认使用稳定模式,直接通过镜像启动,无需额外编译构建步骤。
  • 模型配置:Coze Loop 开源版通过 Eino 框架支持多种 LLM 模型,参考此文档查看支持的模型列表,了解如何配置模型。
  • 代码开发与测试:了解如何基于Coze Loop 开源版进行二次开发与测试。
  • 故障排查:了解如何查看容器状态、系统日志。

License

本项目采用 Apache 2.0 许可证。详情请参阅 LICENSE 文件。

社区贡献

我们欢迎社区贡献,贡献指南参见 CONTRIBUTINGCode of conduct,期待您的贡献!

安全与隐私

如果你在该项目中发现潜在的安全问题,或你认为可能发现了安全问题,请通过我们的安全中心漏洞报告邮箱通知字节跳动安全团队。 请不要创建公开的 GitHub Issue。

加入社区

我们致力于构建一个开放、友好的开发者社区,欢迎所有对 AI Agent 开发感兴趣的开发者加入我们!

问题反馈与功能建议

为了更高效地跟踪和解决问题,保证信息透明和便于协同,我们推荐通过以下方式参与:

技术交流与讨论

加入我们的技术交流群,与其他开发者分享经验、获取项目最新动态:

  • 飞书群聊:飞书移动端扫描以下二维码,加入Coze Loop 技术交流群。

Image

致谢

感谢所有为 Coze Loop 项目做出贡献的开发者和社区成员。特别感谢:

  • Eino 框架团队提供的 LLM 集成支持
  • CloudWeGo 团队开发的高性能框架
  • 所有参与测试和反馈的用户

Extension points exported contracts — how you extend this code

IConfigManage (Interface)
go:generate mockgen -destination=mocks/manage.go -package=mocks . IConfigManage [12 implementers]
backend/modules/llm/domain/component/conf/manage.go
EvaluationOpenAPIService (Interface)
=============================== 服务定义 =============================== [9 implementers]
backend/kitex_gen/coze/loop/evaluation/openapi/coze.loop.evaluation.openapi.go
IIDGenerator (Interface)
go:generate mockgen -destination=mocks/idgen.go -package=mocks . IIDGenerator [5 implementers]
backend/infra/idgen/idgen.go
IConfigLoader (Interface)
go:generate mockgen -destination=mocks/conf.go -package=mocks . IConfigLoader [5 implementers]
backend/pkg/conf/conf.go
Filter (Interface)
(no doc) [7 implementers]
frontend/packages/cozeloop/evaluate/src/types/experiment/experiment-detail-table.ts
IPlugin (Interface)
(no doc) [18 implementers]
frontend/infra/idl/idl2ts-plugin/src/program.ts
ExecutionRequest (Interface)
* 专用JavaScript FaaS服务器 * 专注于JavaScript/TypeScript代码执行,提供统一的/run_code接口
release/deployment/docker-compose/bootstrap/js-faas/js_faas_server.ts
MenuConfig (Interface)
(no doc)
frontend/apps/cozeloop/src/components/navbar/menu-config.tsx

Core symbols most depended-on inside this repo

Errorf
called by 4102
backend/infra/db/in_mem_db.go
t
called by 2302
frontend/packages/cozeloop/intl/src/intl-client.ts
Call
called by 2289
backend/modules/evaluation/domain/component/rpc/llm.go
Error
called by 1537
backend/pkg/logs/logger.go
Run
called by 1509
backend/modules/evaluation/domain/service/expt_manage.go
Finish
called by 1126
backend/modules/evaluation/domain/service/expt_manage.go
EXPECT
called by 809
backend/modules/evaluation/domain/service/mocks/expt_run.go
Flush
called by 748
backend/pkg/logs/logger.go

Shape

Method 67,854
Function 12,722
Struct 4,220
Interface 2,230
TypeAlias 216
Enum 215
Class 196
FuncType 41

Languages

Go94%
TypeScript6%
Python1%

Modules by API surface

backend/kitex_gen/coze/loop/evaluation/expt/coze.loop.evaluation.expt.go3,067 symbols
backend/kitex_gen/coze/loop/evaluation/evaluator/coze.loop.evaluation.evaluator.go2,590 symbols
backend/kitex_gen/coze/loop/data/dataset/coze.loop.data.dataset.go2,378 symbols
backend/kitex_gen/coze/loop/observability/trace/coze.loop.observability.trace.go2,221 symbols
backend/kitex_gen/coze/loop/evaluation/openapi/coze.loop.evaluation.openapi.go2,141 symbols
backend/kitex_gen/coze/loop/evaluation/eval_set/coze.loop.evaluation.eval_set.go1,831 symbols
backend/kitex_gen/coze/loop/evaluation/expt/k-coze.loop.evaluation.expt.go1,758 symbols
backend/kitex_gen/coze/loop/evaluation/domain/expt/expt.go1,589 symbols
backend/kitex_gen/coze/loop/evaluation/evaluator/k-coze.loop.evaluation.evaluator.go1,499 symbols
backend/kitex_gen/coze/loop/prompt/manage/coze.loop.prompt.manage.go1,462 symbols
backend/kitex_gen/coze/loop/evaluation/eval_target/coze.loop.evaluation.eval_target.go1,419 symbols
backend/kitex_gen/coze/loop/data/dataset/k-coze.loop.data.dataset.go1,361 symbols

Datastores touched

(mysql)Database · 1 repos

For agents

$ claude mcp add coze-loop \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact