API 参考 · CLI 命令 · 超长上下文机制。端点逐条对照 server.js v0.3.0 实测收录,无占位符。
糯糯同时提供 OpenAI 兼容网关(/v1/chat/completions,需要 API Key)与 网页聊天 API(/api/chat,仅 IP 限流)。服务基地址为 http://<host>:3866(生产建议置于 Nginx / TLS 之后)。
1. 本地演示环境,免鉴权调用聊天 API:
curl http://localhost:3866/api/chat \
-H "Content-Type: application/json" \
-d '{"model":"NN-4","messages":[{"role":"user","content":"你好"}]}'2. 通过 OpenAI 兼容网关调用(需 API Key):
curl https://api.nuonuo.ai/v1/chat/completions \
-H "Authorization: Bearer $NUONUO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"NN-4","messages":[{"role":"user","content":"介绍一下超长上下文"}],"max_tokens":1024}'响应为 OpenAI 形态 + 糯糯扩展字段(route / evidence_level / engine / usage.context_usage)。鉴权与防滥用规则见 安全与门禁。
通用约定:请求体为 JSON(UTF-8,上限 512KB);解析失败返回 400 INVALID_JSON,超限返回 413 BODY_TOO_LARGE。响应统一 application/json; charset=utf-8 且 Cache-Control: no-store(/files/out/* 与静态文件除外)。错误统一格式 {"error":"<错误码>","message":"…"},部分错误附 retryAfter 或 words。
| 方法 | 端点 | 鉴权 | 说明 |
|---|---|---|---|
| GET | /api/health | 无 | 健康检查(engine / configured / version) |
| POST | /api/chat | 无(IP 限流) | 网页聊天入口;OpenAI 形态 + 糯糯扩展 |
| POST | /v1/chat/completions | Bearer <key> | OpenAI 兼容网关(仅非流式) |
| POST | /api/vision/analyze | 无 | 本地 qwen2.5vl 看图通道(image_base64 / image_path) |
| POST | /api/orders | 无(独立限流) | 下单,返回订单号 + 收款二维码 |
| GET | /api/orders/:orderNo | 无 | 查单(订单号格式校验防枚举) |
| POST | /api/orders/:orderNo/confirm | 无 | 确认已付款 → 待人工核对 VERIFYING |
| POST | /api/orders/:orderNo/cancel | 无 | 取消订单 |
| POST | /api/redeem | 无(三层限流) | 兑换码激活套餐(绑定下单邮箱) |
| POST | /api/auth/send-code | 无 | 发送短信验证码;未配置短信服务时为演示模式,验证码直接返回 |
| POST | /api/auth/login | 无 | 验证码登录,签发 30 天有效 token |
| GET | /api/auth/me | x-user-token | 当前用户信息(含记忆) |
| POST | /api/auth/realname | x-user-token | 实名认证(演示模式仅格式校验) |
| GET / POST | /api/user/memory | x-user-token | 个人记忆列表 / 增删清(上限 50 条) |
| GET / POST | /api/tree | 无 | 超上下文任务树读取 / 建改节点(upsert,乐观锁) |
| POST | /api/tree/delete · /api/tree/restore | 无 | 两阶段删除 / 恢复软删除 |
| POST | /api/task/run | 无 | 一句话任务,异步执行(后台并发上限 2) |
| GET | /api/task/:taskId(+/checkpoint) | 无 | 任务状态 / 检查点 |
| GET / POST | /api/sessions | 无 | 会话列表 / 创建更新 |
| GET | /admin/api/* | ?token= / X-Admin-Token | 管理 API(stats / billing / abuse / chat-logs / errors / export / orders / verify / revoke),全部要求 NUONUO_ADMIN_TOKEN |
| GET | /files/out/:filename | 无 | 生图 / 语音产物只读服务(basename 校验防路径穿越) |
Authorization: Bearer <key>;密钥来自 NUONUO_API_KEYS(逗号分隔,每段 ≥ 20 字符),恒定时间比对。503 V1_NOT_CONFIGURED;缺失 / 无效密钥 → 401 INVALID_API_KEY。stream:true → 400 STREAM_NOT_SUPPORTED。max_tokens:可选正整数,上限 131072;非法 → 400 INVALID_MAX_TOKENS,超限截断后 finish_reason:"length"。| 错误码 | HTTP | 说明 |
|---|---|---|
ABUSE_BAN | 403 | 评分 ≥ 90,行为异常已封禁 |
ABUSE_CHALLENGE | 429 | 评分 70–89,触发二次验证(Retry-After: 60) |
ABUSE_LIMIT | 429 | 评分 40–69,请求过于频繁(Retry-After: 5) |
常见错误码:RATE_LIMITED / DAILY_LIMIT / BUSY(429,IP 限流 / 日限 / 全局并发,附 Retry-After)、UNKNOWN_MODEL / EMPTY_MESSAGES(400)、SENSITIVE_CONTENT(400,附 words)、ENGINE_NOT_CONFIGURED(503)、UPSTREAM_TIMEOUT / UPSTREAM_ERROR / INTERNAL_ERROR(504 / 502 / 500)、INVALID_JSON(400)、BODY_TOO_LARGE(413)、NOT_FOUND(404)。完整错误码总表见 docs/API-REFERENCE.md 第 13 节。
安装 CLI:一条 curl 命令或本地执行 bash cli/install.sh(安装方式见 下载客户端页);安装完成后先运行 nuonuo doctor 自检环境。
| 命令 | 说明 |
|---|---|
nuonuo login | 登录获取 API Key |
nuonuo chat | 终端对话;--model NN-1..NN-5 / --api-key / --dry-run |
nuonuo context | 上下文面板:窗口占用 / 压缩 / 记忆 / 状态机状态 |
nuonuo status | 路由与配额状态;-e <endpoint> 指定服务端点 |
nuonuo task list | 查看任务树 |
nuonuo task run "标题" | 提交一句话任务(后台执行,轮询 GET /api/task/<id> 获取状态) |
nuonuo doctor | 环境自检(网络 / 凭据 / 版本) |
nuonuo config | 查看 / 修改配置(默认模型、输出风格) |
糯糯的"超长上下文"不是硬塞 1M token,而是 上下文治理——来自一套实战验证的确定性工程体系:
usage.context_usage.compressed)。对话响应携带上下文占用对象,可实时观测治理效果:
"usage": {
"prompt_tokens": 2, "completion_tokens": 15,
"context_usage": {
"used": 3200, "limit": 128000, "percent": 2.5,
"compressed": 0, "renewals": 0, "memory_count": 3, "state": "keep"
}
}对应算法源:17 状态状态机(任务生命周期)、work-router(路由收敛)、completion-gate(完成门禁)、verification(证据映射)——均为本地项目中经过测试验证的实现。
| 型号 | 档位 | 窗口 | 价格(输入/输出 ¥/M) | 路由建议 |
|---|---|---|---|---|
| NN-1 初芽 | 免费 | 32K | 0 / 0 | 问候、闲聊、引导 |
| NN-2 青禾 | 轻量 | 32K | 2.5 / 7 | 日常问答、翻译、摘要 |
| NN-3 澄谷 | 中端 | 64K | 6 / 24 | 写作、分析、结构化输出 |
| NN-4 玄禾 | 旗舰 | 128K | 10 / 32 | 长上下文、Agent、复杂任务 |
| NN-5 珀穗 | 超旗舰 | 256K | 26 / 130 | 深度推理、代码、长程规划 |
API 层模型白名单为 NN-1 ~ NN-5(大小写不敏感,默认 NN-4);非白名单 → 400 UNKNOWN_MODEL。路由策略(六维评分简化):命中"复杂 / 推理 / 长文 / 代码 / 分析 / 方案"等信号自动升档;智能路由对订阅用户默认开启。
鉴权方式一览:
门禁与防护机制:
masked:true糯糯基于开源基座二次优化,底座来源透明保留:
自有算法层(状态机 / 门禁 / 路由 / 证据 / 上下文治理)为糯糯原创实现。正式商用前需完成:公司主体、算法备案、AI 生成内容标识、平台协议核验。
| 阶段 | 内容 | 状态 |
|---|---|---|
| Phase 0 | 主体设立、商标检索、备案咨询 | 规划中 |
| Phase 1 | BYOK 平台 MVP(路由/门禁/审计/状态机) | 规划中 |
| Phase 2 | 验收认证服务 + 私有化运维 | 未开始 |
| Phase 3 | OEM 合作;SFT 微调(有客户数据回流后) | 未开始 |
本文档最后更新:2026-08-15 · 依据 docs/API-REFERENCE.md(server.js v0.3.0,端口默认 3866)