通过python API来调用扣子coze的工作流

通过 Python 调用**扣子(Coze)**的工作流(Workflow),目前最推荐的方式是使用官方提供的 cozepy SDK(Python SDK)。这是字节跳动官方维护的包,支持完整的 Coze Open API,包括直接执行工作流(非流式/流式)、带文件上传、恢复中断等功能。

1. 准备工作(必须先完成)

  1. 登录扣子平台https://www.coze.cn 或 https://www.coze.com(国际版)
  2. 创建并发布工作流
    • 在工作流画布中搭建好逻辑(支持输入参数、LLM、代码节点、插件等)
    • 发布后,复制工作流 ID(通常在 URL 最后一段数字)
  3. 创建个人访问令牌(Personal Access Token)
    • 进入「个人空间」→「设置」→「API 密钥」→「创建新密钥」
    • 记录下生成的 pat_xxx…(这就是 Token)
    • 注意:Token 有有效期,过期需重新生成

安装 SDK

pip install cozepy 

2. 基本调用方式(非流式 / 同步)

import os from cozepy import Coze, TokenAuth, Message # 初始化客户端(推荐从环境变量读取 Token,安全) coze = Coze(auth=TokenAuth(os.getenv("COZE_API_TOKEN")))# 或直接写 TokenAuth("pat_xxxxxxxx")# 工作流 ID(从 Coze 平台复制) workflow_id ="你的工作流ID,例如 7423xxxxxx"# 输入参数(根据你工作流定义的输入变量) parameters ={"topic":"2025年AI发展趋势","length":"800字","style":"专业分析"# ... 其他你定义的输入键值对}# 执行工作流(同步,非流式) result = coze.workflows.runs.create( workflow_id=workflow_id, parameters=parameters,# 可选:user_id(自定义用户标识,用于追踪)# user_id="user_123")# 打印最终输出print("工作流执行结果:")print(result.output)# 通常是 dict,根据工作流输出节点决定print("最终消息:", result.output.get("content","无输出"))# 如果工作流有多个输出节点,可遍历ifhasattr(result,'outputs'):for key, value in result.outputs.items():print(f"{key}: {value}")

3. 流式调用(推荐用于长任务,实时获取进度)

from cozepy import Stream, WorkflowEvent, WorkflowEventType defhandle_stream(stream: Stream[WorkflowEvent]):for event in stream:if event.event == WorkflowEventType.MESSAGE:# 收到消息增量(类似聊天流式输出)print(event.message.content, end="", flush=True)elif event.event == WorkflowEventType.ERROR:print("\n错误:", event.error)elif event.event == WorkflowEventType.INTERRUPT:# 中断(需要用户补充信息)print("\n中断,需要补充:", event.interrupt)# 可调用 resume 接口继续# coze.workflows.runs.resume(workflow_id=workflow_id, event_id=..., resume_data="补充内容")elif event.event == WorkflowEventType.DONE:print("\n执行完成")# 流式执行 stream = coze.workflows.runs.create_stream( workflow_id=workflow_id, parameters=parameters ) handle_stream(stream)

4. 支持文件上传(常见场景:OCR、文档分析等)

from pathlib import Path # 先上传文件 file_obj = coze.files.upload(file=Path("/path/to/your/document.pdf"))# 然后把 file_id 传给工作流 parameters ={"file_id": file_obj.id,"question":"总结这份文档的主要观点"} result = coze.workflows.runs.create( workflow_id=workflow_id, parameters=parameters )print(result.output)

5. 完整推荐实践写法(带错误处理 + 环境变量)

import os import sys from cozepy import Coze, TokenAuth, WorkflowEventType defmain(): token = os.getenv("COZE_API_TOKEN")ifnot token:print("请设置环境变量:export COZE_API_TOKEN=pat_xxx") sys.exit(1) coze = Coze(auth=TokenAuth(token)) workflow_id ="7423xxxxxxxxxxxx"# 替换成你的 params ={"input_text":"帮我写一篇关于Python异步编程的文章","max_length":1200}try: result = coze.workflows.runs.create( workflow_id=workflow_id, parameters=params )print("执行成功!")print(result.output)except Exception as e:print("调用失败:", e)if __name__ =="__main__": main()

6. 常见问题 & 注意事项

地域:国内用 https://api.coze.cn,国际用 https://api.coze.com(SDK 可通过 base_url 指定)

coze = Coze(auth=TokenAuth(token), base_url="https://api.coze.com")

7. 官方文档参考(强烈建议看)

  • 工作流运行接口:https://www.coze.cn/open/docs/developer_guides/workflow_run
  • Python SDK 完整文档:https://github.com/coze-dev/coze-py
  • API 总览:https://www.coze.cn/open/docs

如果你的工作流涉及文件上传、复杂参数、流式中断恢复等特殊场景,告诉我具体需求,我可以帮你写更针对性的代码示例!

Read more

OpenClaw dashboard命令后,无法登录web控制面板(在systemd服务无法启动的一些虚拟机里会碰到)

OpenClaw dashboard命令后,无法登录web控制面板(在systemd服务无法启动的一些虚拟机里会碰到)

先上结论 执行OpenClaw dashboard命令后,无法登录web控制面板,是因为OpenClaw的gateway服务没有起来。原来小龙虾OpenClaw 的命令没有学明白,先弄清楚命令: openclaw onboard 是配置 openclaw dashboard是显示web控制面板登录信息 openclaw gateway --verbose 是启动网关 openclaw gateway start是启动网关服务 问题就是因为这台系统的systemd没有起作用,导致openclaw的gateway服务没有起来,所以控制面板无法登录。 OpenClaw status Overview ┌─────────────────┬───────────────────────────────────────────────────────────────────────────────────────────────────┐ │ Item │ Value │ ├─────────────────┼────────────────────────────────────

By Ne0inhk

【前端高级特效】使用 CSS 实现毛玻璃模糊背景效果

使用 CSS 实现毛玻璃(Frosted Glass / 毛玻璃 / 磨砂玻璃)模糊背景效果 这是 2024–2026 年非常流行的前端高级视觉效果之一,常用于: * 模态框 / 抽屉 / 侧边栏的背景 * 卡片悬浮在模糊背景上 * 导航栏 / 工具栏的半透明磨砂感 * 音乐播放器、天气小组件、桌面壁纸风格 UI 当前最主流的实现方式对比(2025–2026) 方案核心属性浏览器支持(2025)性能真实感推荐指数备注1backdrop-filter: blur()极好(几乎全覆盖)中~高★★★★★★★★★★首选2filter: blur() + 伪元素完美支持中★★★☆☆★★☆☆☆老项目兼容用3SVG 滤镜 + feGaussianBlur完美支持较低★★★★☆★☆☆☆☆极致兼容用4canvas / WebGL 实时模糊完美支持较低~中★★★★★★★☆☆☆动态内容才考虑 结论:99% 的现代项目直接使用 backdrop-filter: blur(

By Ne0inhk
【优选算法篇】编织算法的流动诗篇:滑动窗口的轻盈之美

【优选算法篇】编织算法的流动诗篇:滑动窗口的轻盈之美

文章目录 * C++ 滑动窗口详解:基础题解与思维分析 * 前言 * 第一章:热身练习 * 1.1 长度最小的子数组 * 解法一(暴力求解) * 解法二(滑动窗口) * 滑动窗口的核心思想 * 图解分析 * 滑动窗口的有效性 * 时间复杂度分析 * 易错点提示 * 1.2 无重复字符的最长子串 * 解法一(暴力求解) * 解法二(滑动窗口) * 图解分析 * 详细说明: * 1.3 最大连续 1 的个数 III * 解法(滑动窗口) * 滑动窗口的核心思想 * 图解分析 * 详细说明: * 关键点: * 1.4 将 x 减到 0 的最小操作数 * 解法(滑动窗口): * 算法流程:

By Ne0inhk
【数据结构】哈希扩展学习

【数据结构】哈希扩展学习

目录 1. 位图 1.1 位图相关面试题 给40亿个不重复的无符号整数,没排过序。给一个无符号整数,如何快速判断一个数是否在这40亿个数中。(本题为腾讯/百度等公司出过的一个面试题) 1.2 位图的设计及实现 1.3 C++库中的位图 bitset 1.4 位图的优缺点 1.5 位图相关考察题目 • 给定100亿个整数,设计算法找到只出现一次的整数? • 给两个文件,分别有100亿个整数,我们只有1G内存,如何找到两个文件交集? • 一个文件有100亿个整数,1G内存,设计算法找到出现次数不超过2次的所有整数 2. 布隆过滤器 2.1 什么是布隆过滤器 2.2 布隆过滤器器误判率推导 2.3 布隆过滤器代码实现 2.4 布隆过滤器删除问题 2.

By Ne0inhk