角色智能体(点卡模式)

角色智能体(点卡模式)HTTP API 接口文档

📋 概述

角色智能体(点卡模式) HTTP API 服务是一个封装了认证、扣点、消息发送和任务追踪的完整解决方案。开发者只需调用一个接口,传入 api_keycard_idrole_id 和消息内容,即可自动完成整个流程并返回最终结果。点卡模式是将AI智能体的服务能力进行API化与Token化封装,使每一次专业咨询、每一份智能报告,都被量化为可消费的Token。用户通过购买"点卡"(即Token包),即可按需使用各类专家智能体服务。这个API不仅仅服务于志愿填报,任何可以被结构化的专业知识都可以被封装成角色智能体:每一部ibbot手机都可以成为一个"AI服务工作站",每一位专业人才都可以培养自己的"数字员工",通过点卡模式将能力开放给更多人。一个人能走多远,取决于有多少真正有帮助的数字伙伴。1人带领百万数字兵团的时代已然到来。


🚀 快速开始

服务地址

http://ai.ibbrole.html.dtns.top

接口列表

方法 路径 说明
GET/POST /api/chat 核心接口:发送消息并自动追踪任务结果
GET/POST /api/send 简化接口:仅发送消息(不追踪任务)
GET/POST /api/task/:taskId 查询任务状态
GET/POST /health 健康检查

📖 接口详细说明

1. 核心接口:发送消息并等待结果

端点/api/chat

方法GET / POST

请求参数

参数名 类型 必需 默认值 说明
api_key string - API密钥,用于身份认证
card_id string - 点卡ID,用于扣费
role_id string - 角色ID,指定使用哪个角色
message string - 用户消息内容
mode string auto 模式:auto(自动识别) / chat(纯聊天) / task(强制任务)
base_url string 默认服务地址 自定义后端服务地址

请求示例

GET 方式

http://ai.ibbrole.html.dtns.top/api/chat?api_key=dtns_xxx&card_id=xxx&role_id=xxx&message=生成报告:北京历史类3500,想学新闻&mode=task

POST 方式

curl -X POST http://ai.ibbrole.html.dtns.top/api/chat \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "dtns_xxx",
    "card_id": "xxx",
    "role_id": "role_xxx",
    "message": "生成报告:北京历史类3500,想学新闻",
    "mode": "task"
  }'

响应格式

任务模式响应(成功)

{
  "success": true,
  "data": {
    "is_task": true,
    "task_id": "task_1781751992963_0573vy5q9",
    "status": "completed",
    "status_text": "✅ 已完成",
    "final_result": "嘿,同学,你那份纠结的北京历史类3500名志愿填报报告,叔已经给你整好了!\n\n来,直接点这个链接看你的专属报告:\n👉 http://web3apps.devibbot.html.dtns.top/...",
    "response": "嘿,同学,你那份纠结的北京历史类3500名志愿填报报告,叔已经给你整好了!...",
    "task_info": {
      "created_at": "2026-06-18T03:06:12.963Z",
      "ibbot_task_id": "ibbot_1781751984661_14d370a103ea",
      "is_complex_task": true
    },
    "cost": {
      "card_id": "67D19A81BC995C290802EC8EC7CA5AAE",
      "points": 1,
      "balance": 556
    },
    "tracking_history": [
      {"timestamp": "2026-06-18T03:08:28.359Z", "attempt": 22, "status": "pending"},
      {"timestamp": "2026-06-18T03:08:48.232Z", "attempt": 26, "status": "completed"}
    ],
    "elapsed_ms": 161202,
    "identification": {
      "isTask": true,
      "isChat": false,
      "confidence": 1,
      "reason": "用户指定了任务模式"
    }
  }
}

聊天模式响应

{
  "success": true,
  "data": {
    "is_task": false,
    "response": "根据你的情况,我建议...",
    "identification": null,
    "cost": {
      "card_id": "xxx",
      "points": 1,
      "balance": 100
    },
    "elapsed_ms": 1234
  }
}

错误响应

{
  "success": false,
  "error": "认证失败: 无效的 API Key"
}

响应字段说明

字段 类型 说明
success boolean 请求是否成功
data.is_task boolean 是否为任务模式
data.task_id string 任务ID(任务模式)
data.status string 任务状态:pending/running/completed/failed/cancelled/timeout
data.status_text string 状态中文描述
data.final_result string 最终结果内容
data.response string 响应内容(与 final_result 相同)
data.task_info object 任务信息
data.task_info.ibbot_task_id string IBBot 任务ID
data.task_info.is_complex_task boolean 是否为复杂任务(如生成H5报告)
data.cost object 扣点信息
data.cost.card_id string 点卡ID
data.cost.points number 扣点数量
data.cost.balance number 剩余余额
data.tracking_history array 追踪历史记录
data.elapsed_ms number 总耗时(毫秒)
data.identification object 意图识别结果
error string 错误信息(失败时)

2. 简化接口:仅发送消息

端点/api/send

方法GET / POST

不自动追踪任务结果,适合不需要等待任务完成的场景。

请求参数

/api/chat,额外支持:

参数名 类型 必需 默认值 说明
points number 1 扣点数量

响应格式

{
  "success": true,
  "data": {
    "is_task": true,
    "task_result": {
      "task_id": "task_xxx",
      "success": true
    },
    "response": null
  },
  "cost": {
    "card_id": "xxx",
    "points": 1,
    "balance": 100
  }
}

3. 查询任务状态

端点/api/task/:taskId

方法GET / POST

请求参数

参数名 类型 必需 说明
taskId path 任务ID
api_key query API密钥
role_id query 角色ID
base_url query 自定义服务地址

请求示例

http://ai.ibbrole.html.dtns.top/api/task/task_1781751992963_0573vy5q9?api_key=dtns_xxx&role_id=role_xxx

响应格式

{
  "success": true,
  "data": {
    "task_id": "task_1781751992963_0573vy5q9",
    "status": "completed",
    "status_text": "✅ 已完成",
    "final_result": "嘿,同学,你那份纠结的...",
    "is_completed": true,
    "task_data": {
      // 完整的任务数据
    }
  }
}

4. 健康检查

端点/health

方法GET / POST

响应格式

{
  "status": "ok",
  "timestamp": "2026-06-18T03:08:48.232Z",
  "activeTrackers": 3
}

🔧 配置说明

环境变量

变量名 说明 默认值
BASE_URL 后端服务地址 http://ibbot.devibbot.html.dtns.top
PORT 服务端口 22001

启动命令

# 使用默认配置
node ibbrole_agent.js

# 自定义配置
BASE_URL=http://your-server.com PORT=3000 node ibbrole_agent.js

Docker 运行

docker run -d \
  -p 22001:22001 \
  -e BASE_URL=http://ibbot.devibbot.html.dtns.top \
  ibbrole-agent:latest

📝 完整调用示例

JavaScript (Node.js)

const axios = require('axios');

async function consultAgent(message) {
  const params = {
    api_key: 'dtns_78e301a57f66dcf9f0e74052a557bca14627c768f788a9b9c094c8003afba498',
    card_id: '67D19A81BC995C290802EC8EC7CA5AAE',
    role_id: 'role_1781657551308_84yfibimd',
    mode: 'task',
    message: message
  };

  try {
    const response = await axios.get('http://ai.ibbrole.html.dtns.top/api/chat', { params });
    if (response.data.success) {
      console.log('结果:', response.data.data.final_result);
      console.log('余额:', response.data.data.cost.balance);
    } else {
      console.error('错误:', response.data.error);
    }
  } catch (error) {
    console.error('请求失败:', error.message);
  }
}

// 使用示例
consultAgent('生成报告:北京历史类3500,想学新闻或者传播...');

Python

import requests

def consult_agent(message):
    params = {
        'api_key': 'dtns_78e301a57f66dcf9f0e74052a557bca14627c768f788a9b9c094c8003afba498',
        'card_id': '67D19A81BC995C290802EC8EC7CA5AAE',
        'role_id': 'role_1781657551308_84yfibimd',
        'mode': 'task',
        'message': message
    }
    
    try:
        response = requests.get('http://ai.ibbrole.html.dtns.top/api/chat', params=params)
        data = response.json()
        
        if data['success']:
            print('结果:', data['data']['final_result'])
            print('余额:', data['data']['cost']['balance'])
        else:
            print('错误:', data['error'])
    except Exception as e:
        print('请求失败:', str(e))

# 使用示例
consult_agent('生成报告:北京历史类3500,想学新闻或者传播...')

cURL

curl "http://ai.ibbrole.html.dtns.top/api/chat?api_key=dtns_xxx&card_id=xxx&role_id=role_xxx&mode=task&message=生成报告:北京历史类3500,想学新闻"

⚠️ 错误码说明

HTTP 状态码 说明
200 请求成功
400 参数错误(缺少必需参数)
401 认证失败(API Key 无效)
402 扣点失败(余额不足或点卡无效)
500 服务器内部错误

📊 任务状态说明

状态 说明
pending 等待中,任务已创建但尚未开始执行
running 执行中,任务正在处理
completed 已完成,任务成功执行完毕
failed 失败,任务执行出错
cancelled 已取消
timeout 超时,追踪超时未完成

💎 点卡模式:让专业AI服务成为可交易的Token

什么是点卡模式?

点卡模式是将AI智能体的服务能力进行API化与Token化封装,使每一次专业咨询、每一份智能报告,都被量化为可消费的Token。用户通过购买"点卡"(即Token包),即可按需使用各类专家智能体服务。

核心优势

维度 传统模式 点卡模式
使用门槛 高昂咨询费,数千至上万元 每次仅需1点,按需消费
服务获取 预约排队,等待数天 即时响应,一键调用
价值衡量 按次/按小时计费 Token化,公平透明
生态扩展 依赖单一专家 任何角色都可发行点卡

商业模式创新

"一次开发,无限分发":开发者将角色智能体部署到ibbhub平台后,每一个客户端都可以成为该智能体的"服务节点"。用户通过点卡即可在任意节点激活并使用该智能体服务。

"Token即服务":顶级专家的知识服务,从高不可攀的"咨询产品"变成了随手可得的"Token消费"。正如手机话费充值一样,用户按需购买,用完即止。

价值闭环:Token作为服务的计量单位,可在ibbhub生态内流通。智能体开发者、点卡发行方、算力贡献者均可通过Token流转获得收益,形成正向激励的价值网络。

应用场景扩展

这个API不仅仅服务于志愿填报,任何可以被结构化的专业知识都可以被封装成角色智能体:

  • 教育领域:AI学科私教,按课时/按问题收费
  • 医疗领域:AI健康顾问,按次咨询收费
  • 法律领域:合同审查AI助理,按文档页数收费
  • 设计领域:AI设计师,按产出物收费

每一部手机都可以成为一个"AI服务工作站",每一位专业人才都可以培养自己的"数字员工",通过点卡模式将能力开放给更多人。一个人能走多远,取决于有多少真正有帮助的数字伙伴。1人带领百万数字兵团的时代已然到来。