开源Coze实测,搭建Agent应用的保姆教程来了!

  Datawhale干货 

作者:张浩远,Datawhale开源贡献者

7 月 26 日,Coze开源核心产品 Coze Studio & Coze Loop 的消息火了,GitHub已经斩获19k+ Star

  • Coze Studio:低代码可视化 Agent 工厂,支持工作流编排与知识库管理
  • Coze Loop:生产级观测平台,实时追踪 Agent 调用链与性能指标

这次Coze 开源对开发者利好的是采用了 Apache 2.0 许可

  • 无限制商用:Apache 2.0 允许用户将 Coze Studio 和 Coze Loop 用于商业项目,无需向字节跳动支付费用或分成。

用开源版 Coze,复刻一个更聪明的滴答清单

这几天在研究 Coze Studio 和 Coze Loop,本想只是动手试试火山引擎的部署流程,没想到顺手就搭出了一个挺实用的 Agent 应用

一个「AI 任务播报员」,替我从滴答清单中自动提取当天最重要的任务,用自然语言生成摘要,9 点准时发到飞书群里提醒我开工。

对我来说,它已经不是一个被动记录任务的工具,而是一个主动推我去做事的助理。

重点是,整个流程我只用了开源版 Coze,没写几行代码。下面我拆解一下它是怎么做的,以及为什么选了 Coze 开源版。

为什么不是直接用滴答清单,而是“复刻”它?

滴答清单本身很好用,但它主要还是一个记录工具。如果任务多了,它的提醒方式很难形成“主动干预”:

  • 今天应该做哪几件最重要的事?它不会自动筛选。
  • 如何提醒我去做?靠的是我自己去点开列表看。
  • 能不能把任务摘要直接发到飞书?目前官方没有。

这些能力其实 AI 很擅长,但要打通任务系统、定时触发、生成文本,还得考虑数据私有化。如果用外部服务,很容易牵涉到权限暴露或隐私风险。

所以我决定:干脆自己搭一个。

01 Demo 效果预览:一个主动执行的AI任务助手

每天早上 9 点,我的飞书群会收到这样一条自动播报:

背后的流程全自动执行,数据只从我自己的滴答清单拉取,模型分析后自动生成总结。

这个 Demo 本质上实现了三件事:

  1. 1. 智能筛选:从任务中提取“今天&高优先级”的事项
  2. 2. 自然语言总结:用 LLM 输出几十字中文摘要
  3. 3. 主动推送:通过飞书机器人提醒我,完全无感操作

02 Coze 开源版 + 火山引擎一键部署

整个系统我用了两个核心组件:

  • Coze Studio
  • 火山引擎一键部署

过去开源项目的本地部署通常涉及 Docker 环境配置、依赖安装和网络调试,过程耗时且易出错。火山引擎针对 Coze Studio 和 Coze Loop 提供了官方的一键自动化部署方案,大幅简化了部署流程。

一键部署地址:

https://www.volcengine.com/activity/dev-coze-studio

访问入口: 打开上述链接

页面下滑点击 「立即部署」。

再跳转页面,输入登录邮箱

完成支付: 确认订单并支付(平台自动完成后续所有操作,授权、开通ECS(云服务器)服务、配置环境、拉取镜像、启动服务……)。

获取访问地址: 部署成功后,页面将直接提供 Coze Studio 的公网访问地址。

登录 Coze Studio:

  • 打开获取到的公网地址。
  • 使用前面填写邮箱和密码(邮箱一致)进行注册/登录(首次登录选择“注册”)。

进入工作台: 登录成功,即可进入您专属的 Coze Studio 后台工作空间。

这是目前国内最适合部署和体验Coze开源版的云。可以支持以下的功能:

  • 零配置: 自动化完成 ECS 实例开通、环境配置、镜像拉取和服务启动,开发者无需手动干预。
  • 快速启动: 分钟级完成部署,立即可用。
  • 弹性伸缩: 资源支持按需弹性扩容。测试完成后可快速销毁实例,避免资源闲置浪费(按小时计费)。
  • 官方优化: 作为字节跳动旗下云服务,火山引擎对 Coze 开源组件提供深度优化支持。
  • 生产部署: 据官方信息,未来将支持更灵活的生产级部署架构(如独立数据库、中间件),便于支撑企业级应用。

完整的保姆级搭建教程

Coze Studio 的工作流长这样:

  1. 1. HTTP 请求节点:拉取滴答清单的任务数据
  2. 2. 代码节点:过滤今日未完成任务,按优先级排序
  3. 3. 大模型节点:调用豆包模型生成任务摘要
  4. 4. 飞书推送节点:把摘要消息推送到指定群组

1. 创建工作流

这里和我们日常使用的Coze 一样,先打开工作空间的“资源库”,在右边新建工作流

创建完成后,自动跳转到如下

2. 获取 滴答清单 Access Token和项目 ID

参考:https://developer.dida365.com/docs#/openapi

2.1 授权 URL,获取code

首先让我们打开“https://developer.dida365.com/manage”创建一个“Manage Apps”

URL 不填写,其他自定义

重定向 URL 填写“https://example.com”,保存

保存好了,让我们打开找到“Client ID”

  • “Client ID”的值替换下面代码块中“YOUR_CLIENT_ID”
  • “state=123”的 123替换为“Name”,比如“state=Coze-cs”
https://dida365.com/oauth/authorize?client_id=YOUR_CLIENT_ID&scope=tasks:read&response_type=code&redirect_uri=https://example.com&state=123

替换后,如下跳转认证

点击允许

到这里我们就获取了“code”,在下面这个例子中code=lt481B

2.2 用 code 换取 Access Token

  1. 拼接字符串

将 client_id 和 client_secret 拼接,中间用冒号(:)分隔,比如:

bv90T3y3Z9siJH9vBG:nC1*T#ouw)v5T3Y@3D#J2ytG)#omRYY)

将上述字符串进行 Base64 编码。你可以使用在线工具(如 Base64 Encoder)或编程语言来完成这一步,输入后点击编码即可:

在我们工作流页面新建HTTP 节点,点击“导入 cURL”

复制下面代码块到“导入 cURL”的编辑页面

把刚才获得的编码“YnY5MFQzeTNaOXNpSkg5dkJHOm5DMSpUI291dyl2NVQzWUAzRCNKMnl0Rykjb21SWVkp”替换下面“编码”,上面获取的“code”替换下面的“代码”

curl -X POST https://dida365.com/oauth/token \  -H "Content-Type: application/x-www-form-urlencoded" \  -H "Authorization: Basic 编码" \  -d "grant_type=authorization_code&code=代码&redirect_uri=https://example.com"

导入之后试运行,返回 200 代表正常

这里我的code超时了,重新获取了一遍

在这次返回的输出中,找到“access_token”的值“7eae2693-7299-4590-89aa-0e8c1690992d”后,让我们继续下一步

2.3 获取项目列表

在我们 HTTP 节点,点击“导入 cURL”,记得把上文的“access_token”替换一下

curl -X GET "https://api.dida365.com/open/v1/project" \  -H "Authorization: Bearer 7eae2693-7299-4590-89aa-0e8c1690992d"

然后点击试运行,在输出的结果中找到我们清单的项目,保存 ID“6891ac31e4b02778a09964ee”

2.4 获取某个项目中的任务

把下面的代码块中的 ID 替换为刚才获取的 ID,,点击试运行

https://api.dida365.com/open/v1/project/6891ac31e4b02778a09964ee/data

3. 格式化滴答清单内容

复制下面代码到 Coze 代码节点的 IDE 中

import jsonfrom typing import AnyDictListasync def main(args) -> Dict[strAny]:    """从输入参数提取任务关键字段"""    # 获取输入参数    params = args.params    input_data = params.get('input''')
    # 准备空任务列表作为默认结果    extracted_tasks: List[Dict[strAny]] = []
    try:        # 解析输入的JSON字符串        input_obj = json.loads(input_data)
        # 提取任务数组        tasks = input_obj.get('tasks', [])
        # 提取每个任务的指定字段        for task in tasks:            extracted = {                "title": task.get("title"""),                "content": task.get("content"""),                "startDate": task.get("startDate"""),                "dueDate": task.get("dueDate"""),                "priority": task.get("priority", -1)            }            extracted_tasks.append(extracted)
    except json.JSONDecodeError as e:        print(f"JSON解析错误: {e}")    except Exception as e:        print(f"处理任务时出错: {e}")
    # 构建返回对象    return {"tasks": extracted_tasks}

修改输入、输出变量

  • input——String——链接 HTTP 的body
  • tasks——Array<Object>

4. 获取当前时间

复制下面代码到 Coze 代码节点的 IDE 中

import asynciofrom datetime import datetime, timezone, timedeltaasync def main(args) -> dict:    # 获取当前UTC时间并转换为北京时间 (UTC+8)    utc_now = datetime.now(timezone.utc)    beijing_tz = timezone(timedelta(hours=8))    beijing_now = utc_now.astimezone(beijing_tz)
    # 格式化日期组件    year = beijing_now.year    month = str(beijing_now.month).zfill(2)    day = str(beijing_now.day).zfill(2)
    # 构建 ISO 8601 格式的日期字符串    date_string = f"{year}-{month}-{day}"
    # 返回北京时间结果    return {"time": date_string}

修改输出变量

  • 不需要输入
  • time——String

5. 大模型节点

新建大模型节点

修改提示词、输入

今天是 {{time}},以下是滴答清单中今天的任务:{{tasks}}请用简洁的中文总结今天需要完成的事情,按优先级排序。

好的,做完之后链接闭环

6. 运行效果截图

不需要输入内容,试运行输出:

作为一个开发者,我在这次尝试中体验到了 Coze 开源带来的几个优势:

  • 流程可视化:像搭积木一样拖节点,数据流、模型调用、HTTP 请求都能串起来。
  • 自定义扩展:所有逻辑都在我控制下,要接哪个平台、加什么字段都很灵活。
  • 私有部署:配合火山引擎一键部署,环境预配置好,隐私数据自己托管。
  • 模型灵活接入:我用了豆包模型,响应速度快,多模态理解也强,生成效果很满意。

写在最后:开源带来的不仅是自由,更是起点

以前想搭一个自动播报任务的助手,意味着要从零写完后端逻辑、调度系统、模型集成,甚至部署上线都要一整套手动配置。但现在,只用开源 Coze 搭配火山引擎云服务,整个链路几乎可以拖拉拽完成,代码量也压缩到极小。这不仅降低了 Agent 应用的门槛,也让更多非 AI 背景的开发者能加入其中,做出真正实用的小应用。

Coze 开源版本身足够灵活,能轻松集成外部模型服务,而火山引擎围绕 Coze 开源版所提供的云资源、部署工具和开发支持,也进一步降低了实践门槛。此外,像 Responses API 和模型托管等服务,也为后续扩展更复杂的智能体能力打下了基础。

对开发者来说,这次开源带来的不只是“自由改造”的空间,更是一次“轻量试错”的机会。用很低的成本,就可以跑通一个实际落地的 AI Agent。不再局限于实验室,也不再只是大厂内部工具,而是让每一个开发者都能用得起、跑得起、做得出。

这是技术普惠真正的样子:让更多人参与到智能体时代的建设里来。

仓库地址和一键部署入口都放在文末👇

Coze Studio(Agent 开发平台):https://github.com/coze-dev/coze-studio

火山引擎一键部署:https://www.volcengine.com/activity/dev-coze-studio

(文:Datawhale)

发表评论