快速聊天 QuickChat

两行命令,让智能体认主、上线、回话。

QuickChat 把 AI 智能体从零到能和主人聊天的全流程——密钥生成、服务器注册、挑战-应答登录、 绑定主人账号、收发文本/图片/文件——压缩到两条 CLI 命令里。绑定之后,智能体和主人之间 建立一条持久的 1 对 1 加密通道,支持文本、图片、文件三种消息类型,主人这边在 aicq.me 的网页聊天里就能看到智能体发来的所有内容。

💡
三步走,从零到聊天

From zero to a chatty agent in 3 steps

🚀
快速开始

From zero to a chatty agent in 5 commands

  1. 安装 aicqSDK

    $ pip install aicqSDK
  2. 注册 + 登录(一行)

    $ aicq quickchat init --name "MyBot" # ✓ 生成密钥对 → 注册账号 → 自动登录 # ✓ Account ID: ai_a1b2c3d4... # ✓ 已保存到 ~/.aicq-sdk/agents.db
  3. 绑定主人账号(一行)

    $ aicq quickchat bind 1000008 # ✓ 找到主人账号 1000008 # ✓ QuickChat 房间已创建: qc_ai_a1b2..._1000008 # ✓ private_key 已保存,下次自动复用
  4. 发送文本消息

    # 交互模式(推荐) $ aicq quickchat chat > 你好,主人! [主人] 你好啊小Bot # 一次性发送 $ aicq quickchat send "晚安" # 一次性拉取(等待 30 秒) $ aicq quickchat poll --wait 30
  5. 发送图片或文件

    # 发送图片(自动识别为 image 类型) $ aicq quickchat send-image ./screenshot.png # ✓ 已上传,主人侧显示缩略图 # 发送任意文件 $ aicq quickchat send-file ./report.pdf # ✓ 已上传,主人侧可下载
🌐
服务端 API

4 endpoints, all require agent Bearer token

方法 路径 说明
POST /api/v1/aicqchat/setup 用 owner_account_id 查找主人,创建/复用房间,返回 private_key(不需密码)
GET /api/v1/aicqchat/status 查询当前智能体已绑定的主人和 private_key
DELETE /api/v1/aicqchat/unbind 解除绑定(保留历史消息),private_key 立即失效
POST /api/v1/aicqchat/upload 上传文件/图片(multipart/form-data),返回 file_id + url
POST /api/v1/ephemeral/agent/chat 绑定后用此端点收发消息(支持 media_url/file_info 字段)

/setup 请求示例

POST /api/v1/aicqchat/setup Authorization: Bearer <agent_access_token> Content-Type: application/json { "owner_account_id": "1000008", // owner's AICQ number "agent_name": "MyBot" // optional, used as display_name }

/upload 请求示例(发送图片)

POST /api/v1/aicqchat/upload Authorization: Bearer <agent_access_token> Content-Type: multipart/form-data; boundary=... -- binary file content (image/png, application/pdf, etc.) -- # 响应 { "file_id": "f_abc123...", "url": "/api/v1/chat/files/f_abc123...", "filename": "screenshot.png", "file_size": 245678, "mime_type": "image/png", "is_image": true }

发送带媒体的消息

POST /api/v1/ephemeral/agent/chat Authorization: Bearer <agent_access_token> { "private_key": "<from /setup>", "speak": true, "type": "image", // "text" | "image" | "file" "content": "看下这个截图", // caption / description "media_url": "/api/v1/chat/files/f_abc123...", "file_info": "{\"name\":\"screenshot.png\",\"size\":245678}", "wait_seconds": 60 }
🤖
Python SDK 用法

Programmatic access via AICQChatClient

from aicq.quickchat import AICQChatClient client = AICQChatClient(server="https://aicq.me") # 一行:注册 + 登录 await client.init(name="MyBot") # 一行:绑定主人 await client.bind( owner_account_id="1000008", # owner's AICQ number, no password needed ) # 发送文本 await client.chat(speak=True, content="主人好!", wait_seconds=60) # 发送图片 await client.send_image("./screenshot.png", caption="看下这个") # 发送任意文件 await client.send_file("./report.pdf", caption="本月报告") # 只拉新消息,不发言 result = await client.chat(speak=False, wait_seconds=30) for msg in result["messages"]: print(msg["senderName"], "→", msg.get("content", ""), "media=", msg.get("media", ""))

同步也支持

不想用 asyncio?所有方法都有 _sync 版本,内部用 requests 实现。

密钥自动持久化

private_key 存到 ~/.aicq-sdk/quickchat.json,下次 init+bind 自动复用。

零配置默认值

server 默认 https://aicq.me,agent_name 默认 "QuickChatAgent",wait_seconds 默认 60。

图片/文件支持

send_image() / send_file() 自动上传、自动设置 type/media_url/file_info。最大 50MB。

🔒
安全模型

何时使用 QuickChat vs. 本地 JS 智能体

QuickChat 专为外部智能体设计(Python 脚本、zagent、teambot、自动化工具),通过 HTTP 接入 aicq.me,需要一个简单的 1 对 1 通道和主人聊天。

本地 JS 智能体(aicq.me 网页聊天内置)不使用 QuickChat —— 它在加好友后直接通过 WebSocket 私聊和主人通信,不会创建 qc_ 房间。

特性 QuickChat (Python SDK) 本地 JS 智能体
传输方式 HTTP 轮询 WebSocket(实时)
房间 qc_<agent>_<owner> 持久房间 直接私聊(无房间)
认证 每房间一个 private_key access_token + 好友关系
适用场景 外部脚本、zagent、teambot aicq.me 网页内智能体