ClouisleClouisle

API 快速开始

创建最小权限 API Key 并发送第一个 Agent 请求

本页用最短路径跑通一次真实调用:创建一个只绑定目标 Agent 的 API Key,然后通过 SSE 收到模型回复。

前置条件

  • 一个已部署的 Clouisle 地址,API 基础路径为 https://<你的域名>/api/v1
  • 一个团队,以及团队内一个已创建好的 Agent(Agent 必须属于某个团队)
  • 该 Agent 的 Agent ID(UUID),可从 Agent 详情页 URL /app/apps/<agent_id> 获取
  • 一种凭据:API Key(推荐用于服务端集成)或 JWT(代表某个用户会话)

API Key 与 JWT 都能调用同一个聊天端点,区别在权限来源:API Key 继承创建者用户的身份并受 agent_ids / workflow_ids 绑定约束;JWT 直接使用当前用户的团队可见性。二者都用 Authorization: Bearer <凭据>。

创建 API Key

  1. 以要代表其身份的用户登录,前往API 密钥 > 创建密钥。
  2. 填写名称,并视需要设置过期时间(留空表示永不过期)。
  3. 在 Agent 绑定处选中目标 Agent;空绑定表示不限制,即该 Key 可访问创建者能访问的全部 Agent。
  4. 创建后立即复制完整 Key,写入本地环境变量——完整密钥形如 clou_ + 64 位十六进制(共 69 个字符),只在创建响应中出现一次。
export CLOUISLE_API_KEY='clou_replace_me'
export CLOUISLE_API_BASE='https://your-clouisle.example.com/api/v1'
export AGENT_ID='0b1c2d3e-4f5a-6b7c-8d9e-0f1a2b3c4d5e'

创建 Key 时的 scopes 与 rate_limit 会被保存,但当前版本不做强制校验:真正生效的是「Key 是否激活、是否过期、所属用户是否启用、Agent/Workflow 绑定是否匹配」。最小权限请靠资源绑定实现,见 API Keys API。

没有 JWT?用密码登录换取会话令牌,详见 认证与用户登录 API:

curl -X POST "$CLOUISLE_API_BASE/login/access-token" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "username=you@example.com&password=YourPassword"

发送第一个请求

流式对话端点(推荐,能逐字渲染):

curl -N "$CLOUISLE_API_BASE/agents/$AGENT_ID/chat/stream" \
  -H "Authorization: Bearer $CLOUISLE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"message":"你好,请介绍你的职责","conversation_id":null,"variables":{}}'

非流式版本把路径改为 /agents/$AGENT_ID/chat,响应为普通 JSON(data.conversation_id + data.message.content)。

请求体字段(message 上限 32000 字符,与 file_urls / images 至少提供一个):

字段类型必填说明
messagestring是(无附件时)用户消息;仅发附件时可为空字符串
conversation_idstring (UUID) | null否传入既有会话 ID 以延续上下文
variablesobject否Agent 变量值
file_urlsarray否上传接口返回的文件元数据,见 文件上传 API
imagesarray否视觉输入图片

读取流式响应

响应为 text/event-stream,逐条事件推送:

  1. message_start:包含 conversation_id 与 message_id,记下会话 ID。
  2. content_delta:正文增量(推理模型还会有 reasoning_delta、工具调用会有 tool_call/tool_result)。
  3. message_end:本轮结束,含 Token 用量与耗时。

把 conversation_id 回传到下一次请求即可保持上下文。完整事件清单见 流式事件。

验收

  • 收到 message_start、若干 content_delta,以及带用量统计的 message_end。
  • 第二次请求带上第一次返回的 conversation_id,Agent 能引用之前的对话内容。

常见失败

HTTPcode原因与处理
4012001Key 无效、已删除或已停用;核对是否复制完整(69 字符)
4012002Key 已过期,重新创建
4012004Key 所属用户被停用或待审批
4033000该 Key 绑定了 Agent 列表但不包含目标 Agent;把目标 Agent 加入绑定或改用不限制绑定的 Key
4046200Agent ID 不存在或不属于可见范围
4036201已认证但无权访问该 Agent
4006104团队未获得该 Agent 所用模型的授权,需要在团队模型授权中新增
4296103团队模型配额超限,退避或等待配额重置

完整的错误码清单与重试建议见 API 错误与重试。

下一步

这篇文章对你有帮助吗?

本页目录