Skip to content

通信架构

IDE Plugin (Java)
    │ ws://127.0.0.1:{port}/ws/idea

Agent (Node.js)
    │ HTTPS (node-fetch)

Cloud Server
    ├─ https://saas.api.example.com      (SaaS)
    ├─ https://pro.api.example.com       (Pro)
    └─ http://10.0.x.x:port                 (内网开发)

基础 HTTP 请求格式

请求构建 (ServiceBase._getInitOpt)

http
POST /api/starspark/v1/agent/chat/async/ask HTTP/1.1
Content-Type: application/json
token: <用户token>
traceparent: <W3C Trace Context>

&#123;
  "requestId": "uuid-xxx",
  "sessionId": "session-uuid",
  ...
&#125;

通用 Headers

Header说明
Content-Typeapplication/json所有请求均为 JSON
token用户认证 token绝大多数 API 需要此 header
traceparentW3C Trace ContextOpenTelemetry 注入的追踪标识

特殊 Headers

Header使用场景
access-token批量单测相关 APIclient.user (用户名)
clientId登录状态检查WebSocket 客户端 ID

请求方法

所有 API 只使用 GETPOST 两种方法。绝大多数为 POST

超时配置

场景超时
默认600,000 ms (10 分钟)
快速接口10,000 ms (10 秒)
代码生成/单测120,000 ms (2 分钟)

通用错误码

HTTP 状态码业务码含义
401未授权,需重新登录
200"0" / 200成功
200"UNAUTHORIZED" / "5020" / "5001"认证失效
200"ENOTFOUND" / "ECONNRESET"网络错误

响应体统一格式:

json
&#123;
  "code": "0",        // 或 "resCode": "0"
  "msg": "success",   // 或 "message"
  "obj": &#123; ... &#125;,     // 成功时数据在 obj 或 data 字段
  "data": &#123; ... &#125;
&#125;

Agent 提取逻辑:成功时取 obj || data,否则抛出 iFlyCodeError(msg, code)

本项目仅供学习研究,逆向分析内容归原厂商所有。