Hero AI API 文档

完整的 RESTful API 参考,助你快速集成 Hero AI Agent 能力到任何应用。

📋 概览

所有 API 请求的 Base URL:

https://api.herowith.com/v1

当前版本:v1 | 协议:HTTPS | 数据格式:JSON

速率限制

套餐请求上限并发数
Free50 次/小时2
Cloud500 次/小时10
Enterprise5,000 次/小时50
超过速率限制将返回 429 Too Many Requests,响应头包含 X-RateLimit-Reset 时间戳。

🔐 认证鉴权

所有 API 请求需在 Header 中携带 Bearer Token:

Authorization: Bearer <your_access_token>

获取 Token

POST/auth/login

curl -X POST https://api.herowith.com/v1/auth/login \
  -H "Content-Type: application/json" \
  -d '{
    "email": "user@example.com",
    "password": "your_password"
  }'

# 响应
{
  "access_token": "eyJhbGci...",
  "refresh_token": "dGhpcyBp...",
  "expires_in": 3600,
  "token_type": "Bearer"
}

刷新 Token

POST/auth/refresh — 使用 refresh_token 获取新的 access_token。Token 过期后请求将返回 401,客户端应自动刷新后重试。

👤 用户 API

注册用户

POST/users/register

// 请求
{ "email": "new@example.com", "password": "SecureP@ss1", "name": "张三" }

// 响应 201
{ "id": "usr_a1b2c3", "email": "new@example.com", "name": "张三", "plan": "free", "created_at": "2026-03-01T08:00:00Z" }

登录

POST/auth/login — 同上认证鉴权章节。

获取当前用户

GET/users/me

更新用户信息

PUT/users/me

// 请求
{ "name": "张三丰", "avatar_url": "https://..." }

// 响应 200
{ "id": "usr_a1b2c3", "name": "张三丰", "updated_at": "2026-03-10T12:00:00Z" }

🤖 Agent API

创建 Agent

POST/agents

// 请求
{
  "name": "客服小助手",
  "description": "处理售前咨询和订单查询",
  "model": "claude-sonnet-4",
  "system_prompt": "你是一个专业的客服助手...",
  "temperature": 0.7,
  "channels": ["feishu", "wecom", "qq"]
}

// 响应 201
{
  "id": "agt_x9y8z7",
  "name": "客服小助手",
  "status": "draft",
  "model": "claude-sonnet-4",
  "created_at": "2026-03-10T08:00:00Z"
}

列表 / 详情 / 更新 / 删除

GET/agents — 获取所有 Agent 列表(支持 ?page=1&limit=20

GET/agents/:id — 获取单个 Agent 详情

PUT/agents/:id — 更新 Agent 配置

DELETE/agents/:id — 删除 Agent(不可恢复)

部署 Agent

POST/agents/:id/deploy

// 响应 200
{ "id": "agt_x9y8z7", "status": "deploying", "deploy_url": "https://herowith.com/a/x9y8z7" }

查询部署状态

GET/agents/:id/status

{ "status": "running", "uptime": 86400, "requests_today": 142, "avg_latency_ms": 320 }

💬 消息 API

发送消息

POST/agents/:id/messages

// 请求
{ "content": "我想查询订单状态", "user_id": "u_12345", "session_id": "sess_abc" }

// 响应 200
{
  "message_id": "msg_001",
  "reply": "好的,请提供您的订单号,我帮您查询。",
  "tokens_used": 156,
  "latency_ms": 280
}

获取消息历史

GET/agents/:id/messages?limit=20&session_id=sess_abc

Webhook 回调格式

// Hero 主动推送到你的回调地址
{
  "event": "message.received",
  "agent_id": "agt_x9y8z7",
  "message": { "id": "msg_002", "content": "用户的新消息", "user_id": "u_12345" },
  "timestamp": "2026-03-10T12:30:00Z"
}

📡 渠道 API

绑定渠道

POST/channels/bind

// 飞书配置
{
  "agent_id": "agt_x9y8z7",
  "type": "feishu",
  "config": { "app_id": "cli_xxx", "app_secret": "xxx", "verification_token": "xxx" }
}

// Telegram 配置
{
  "agent_id": "agt_x9y8z7",
  "type": "telegram",
  "config": { "bot_token": "123456:ABC-DEF" }
}

// 微信配置
{
  "agent_id": "agt_x9y8z7",
  "type": "wechat",
  "config": { "app_id": "wx_xxx", "app_secret": "xxx", "token": "xxx", "aes_key": "xxx" }
}

// 企业微信配置(Bot WebSocket 模式,无需域名)
{
  "agent_id": "agt_x9y8z7",
  "type": "wecom",
  "config": { "bot_id": "BOT_ID", "bot_secret": "BOT_SECRET" }
}

// 企业微信配置(Bot + Agent 双模式)
{
  "agent_id": "agt_x9y8z7",
  "type": "wecom",
  "config": {
    "bot_id": "BOT_ID", "bot_secret": "BOT_SECRET",
    "corp_id": "CORP_ID", "agent_id": 1000001, "agent_secret": "AGENT_SECRET"
  }
}

// QQ 官方机器人配置
{
  "agent_id": "agt_x9y8z7",
  "type": "qq",
  "config": { "app_id": "QQ_APP_ID", "client_secret": "QQ_CLIENT_SECRET" }
}

解绑 / 列表

DELETE/channels/:id — 解绑渠道

GET/channels?agent_id=agt_x9y8z7 — 查看已绑定渠道列表

💳 支付 API

创建支付订单

POST/payments/create

// 请求
{ "plan": "cloud", "period": "monthly", "coupon": "HERO20" }

// 响应 201
{ "payment_id": "pay_001", "amount": 79.00, "currency": "CNY", "pay_url": "https://pay.herowith.com/pay_001", "expires_at": "2026-03-10T13:00:00Z" }

查询订单

GET/payments/:id

支付回调

POST/payments/callback

回调请求头包含 X-Hero-Signature,使用 HMAC-SHA256 签名验证:HMAC_SHA256(webhook_secret, request_body)

🔔 Webhook

事件类型

事件名称说明触发时机
agent.createdAgent 创建调用 POST /agents
agent.deployedAgent 部署完成部署流程结束
agent.stoppedAgent 停止运行手动停止或异常
message.received收到用户消息用户发送消息
message.repliedAgent 回复完成生成回复后
payment.completed支付成功支付确认
payment.failed支付失败支付超时或拒绝
channel.bound渠道绑定成功渠道配置完成

签名验证

每个 Webhook 请求头包含 X-Hero-Signature,算法:

signature = HMAC-SHA256(your_webhook_secret, raw_request_body)

# Python 验证示例
import hmac, hashlib
expected = hmac.new(secret.encode(), body, hashlib.sha256).hexdigest()
assert expected == request.headers["X-Hero-Signature"]

重试策略

Webhook 推送失败时最多重试 3 次,采用指数退避:

重试次数延迟
第 1 次10 秒
第 2 次60 秒
第 3 次300 秒

❌ 错误码

状态码含义常见原因与建议
400请求无效参数格式错误、缺少必填字段。检查请求体 JSON 格式。
401未认证Token 缺失或已过期。请刷新 Token 后重试。
403无权限当前用户无权操作此资源。检查套餐权限或角色。
404未找到资源不存在。检查 ID 是否正确。
409冲突资源状态冲突(如重复创建)。检查是否已存在。
422不可处理参数类型正确但值不合法。检查业务规则约束。
429请求过多超过速率限制。等待 X-RateLimit-Reset 后重试。
500服务器错误内部异常。请稍后重试或联系 support@herowith.com。
// 统一错误响应格式
{
  "error": {
    "code": 422,
    "type": "validation_error",
    "message": "Field 'name' is required",
    "request_id": "req_abc123"
  }
}

📦 SDK 示例

Python

# pip install hero-sdk
from hero import HeroClient

client = HeroClient(api_key="your_api_key")

# 创建 Agent
agent = client.agents.create(
    name="客服助手",
    model="claude-sonnet-4",
    system_prompt="你是专业客服..."
)

# 发送消息
reply = client.messages.send(
    agent_id=agent.id,
    content="你好,我想退货",
    user_id="u_123"
)
print(reply.text)  # Agent 的回复

Node.js

// npm i @hero/sdk
const { HeroClient } = require("@hero/sdk");
const hero = new HeroClient({ apiKey: "your_api_key" });

// 创建 Agent
const agent = await hero.agents.create({
  name: "客服助手",
  model: "claude-sonnet-4",
  systemPrompt: "你是专业客服..."
});

// 发送消息
const reply = await hero.messages.send({
  agentId: agent.id,
  content: "你好,我想查物流",
  userId: "u_456"
});
console.log(reply.text);

Go

// go get github.com/herowith/hero-sdk-go
package main

import (
    "fmt"
    hero "github.com/herowith/hero-sdk-go"
)

func main() {
    client := hero.NewClient("your_api_key")

    // 创建 Agent
    agent, _ := client.Agents.Create(&hero.AgentParams{
        Name:         "客服助手",
        Model:        "claude-sonnet-4",
        SystemPrompt: "你是专业客服...",
    })

    // 发送消息
    reply, _ := client.Messages.Send(agent.ID, &hero.MessageParams{
        Content: "你好,我想改地址",
        UserID:  "u_789",
    })
    fmt.Println(reply.Text)
}
完整 SDK 文档请访问各语言 GitHub 仓库,或加入 开发者社区 获取技术支持。

🎓 智慧课堂使用指南

什么是 Hero AI 智慧课堂?

Hero AI 智慧课堂是一款基于 AI 的互动课程生成解决方案。上传一份 PDF 或文档,AI 将自动生成完整的互动课程,包括幻灯片、测验、模拟互动和 PBL 项目——让备课变得轻而易举。

如何启用

进入 Console → 解决方案 → 智慧课堂,点击「启用」即可激活。免费用户也可立即启用体验。

启用路径:Console → 解决方案 → 智慧课堂 → 启用
访问地址:http://learn.herowith.com

如何使用

三步生成互动课程:

1. 上传文档:支持 PDF、Word、PPT、TXT 等格式
2. 选择模型:根据需求选择 AI 模型(DeepSeek / GPT / Claude / Gemini / 通义等)
3. 生成课程:AI 自动分析文档内容,生成完整的互动课程

功能介绍

功能说明
🖥️ AI 幻灯片自动从文档内容生成结构化幻灯片,支持自定义主题
📝 智能测验自动生成选择题、填空题、简答题,附带答案解析
💬 模拟互动AI 扮演教师/学生角色,进行互动问答,加深理解
🎯 PBL 项目生成项目式学习任务,培养实践能力
📤 课程导出支持导出为 PDF、PPT 或分享链接

支持的模型

模型提供商特点
DeepSeek深度求索中文能力强,性价比高
GPT-4oOpenAI综合能力强,推理出色
ClaudeAnthropic长文本处理优秀,分析精准
GeminiGoogle多模态支持,图片理解
通义千问阿里云国产替代,稳定可靠

定价

套餐课程限额功能
Free3 节/月全部基础功能,社区模型
Cloud无限制全部功能,全部模型,优先生成,批量导出

常见问题

Q:支持哪些文档格式?
A:PDF、Word(.docx)、PowerPoint(.pptx)、纯文本(.txt)。单文件最大 50MB。
Q:生成的课程可以编辑吗?
A:可以,所有生成内容(幻灯片、测验、互动)均支持生成后自由编辑调整。
Q:支持英文和其他语言吗?
A:支持,智慧课堂支持多语言输入和输出,包括中文、英文、日文、韩文等。