SATCOM 卫星协议 / 入站事件 API
SATCOM(卫星通信协议)让外部「卫星」程序把 MCP 工具注册进 Lyncore,并通过 Lyncore 驱动对话;入站事件端点供外部系统(Hub 云端等)以 HMAC 验签方式推事件。
版本说明:SATCOM 组(
/api/v1/satcom/*)与入站事件(/api/v1/inbound/events/:eventName)两者都提供。鉴权采用X-Satcom-API-Key服务密钥或 JWT Bearer 二选一:带匹配的服务密钥即按服务间调用放行(跳过会员网关),否则走 JWT 链路。SATCOM_API_KEY未配置时服务密钥通道直接 401(fail-closed)。
POST /api/v1/satcom/chat
SSE 流式对话调度(卫星侧对话入口)。叠加会员冻结网关——会员冻结账户直连本端点会被拦截(40201)。
请求:
json
{ "message": "帮我查一下今天的待办", "session_id": "sat_sess_1" }SSE 帧格式与事件 type 取值见 API 概览 · 流式响应。
MCP 工具注册(satcom)
| 方法 | 路径 | 说明 |
|---|---|---|
POST | /api/v1/satcom/mcp/register | 卫星注册 MCP 工具到 lite server |
DELETE | /api/v1/satcom/mcp/:name | 注销已注册工具 |
配套脚手架 lyncore-connect init <name> 可生成卫星骨架(satcom_register.py 等),启动时调用 /api/v1/satcom/mcp/register 完成注册。
POST /api/v1/satcom/webhook/register
注册卫星侧 webhook 回调。
POST /api/v1/inbound/events/:eventName
入站事件端点(裸组,无 JWT 中间件):鉴权由 handler 内 HMAC 验签承担。供 Hub 云端等外部系统向本地实例推送事件。
⚠️ 该端点不接受 JWT,验签失败即拒绝。签名头与算法见
internal/satcom入站处理器实现,接入前请与运维确认共享密钥。
BTW 侧问队列(/api/v1/chat/:workflowID/btw)
长流程对话中,用户可对运行中的工作流「顺便提问」(By-The-Way),队列由模型路由批量自动作答。
| 方法 | 路径 | 说明 |
|---|---|---|
POST | /api/v1/chat/:workflowID/btw | 入队一个侧问 |
GET | /api/v1/chat/:workflowID/btw | 侧问列表 |
GET | /api/v1/chat/:workflowID/btw/pending | 待回答列表 |
访客客服(个人版独有,公网通道)
个人版另提供免登录访客对话入口(对话式成交客服,独立服务 Lyncore-CS 部署):
| 方法 | 路径 | 说明 |
|---|---|---|
POST | /api/v1/chat/guest | 访客对话(无鉴权) |
POST | /api/v1/chat/guest/turns/:requestID/stop | 停止访客轮次 |
POST | /cs/api/v1/chat/guest | 公网别名(lyncore.top/cs/...) |
POST | /cs/api/v1/chat/guest/turns/:requestID/stop | 公网别名停止 |
安全说明:访客通道不进函数调用循环(零工具暴露,知识库走预检索注入 prompt);带 prompt 注入防御(硬命中返回
42200);限流为单 IP 10 次/分(固定窗口),公网别名与主路径共享限流桶。
错误码
| 场景 | code | message |
|---|---|---|
| 服务密钥缺失/不匹配 | 40100 | 未认证 |
| 会员冻结拦截 | 40201 | 账户已冻结 |
| HMAC 验签失败 | 40100 | 验签失败 |
| 注入特征命中(访客) | 42200 | 输入包含潜在的 prompt 注入特征 |
| 访客限流 | 42900 | 请求过于频繁 |