BossAgents 数字员工 CMS 演示调用文档

BossAgents 数字员工 CMS 演示调用文档

版本:2026-08-12 | 依据:71 员工全量四维审计(静态)+ 执行可达性探针(动态)+ 最新代码配置

2026-08-12 更新:核对并修复小程序侧路由(goConsolepages/ai-chat/indexgoSearchpkg/workbench/search);getRuns 补齐 /api 前缀;后端修复 pending-confirms 被 oldPaths 误拦 404、新增 POST /api/staff/profile-update(见 4.3)。

适用场景:官网 CMS 演示页 + 微信小程序端,统一 API 契约,实时展示真实执行结果。

数据口径:本文所有数字、状态均来自脚本对代码的实测(见 scripts/audit-digital-staff.cjsscripts/probe-staff-exec.cjs),不掺水。


一、结论总览(诚实口径)

全部 71 个数字员工,经过四维实测:

| 维度 | 口径 | 结果 |

|---|---|---|

| ✅ 能用 | 启用 + 有可解析执行路径(worker 文件存在且导出 run / capability 在流水线映射内 / pipeline / loop / generic) | 71 / 71 |

| ✅ 可配置 | 有路由关键词 / 参数入口(keywords、item_types、params、router 表命中) | 71 / 71 |

| ✅ 可调度 | cron 定时 / run_on_startup / 事件触发 / loop 循环 / 编队触发 | 71 / 71(其中 42 个带 cron) |

| ✅ 可协同 | 归属某岗位 agents / 命中协作规则 / 可作为编队成员 | 71 / 71 |

| 🗣️ 自然语言直呼可达 | 自身至少一个专属关键词能路由回自己 | 62 / 71 |

| 🔒 仅按 staffId / 编排触发(设计如此) | 编排节点 + 同 worker 重名别名,不由自然语言直呼 | 9 / 71 |

执行模式分布:worker 脚本 51 | capability 1 | pipeline 流水线 13 | loop 定时循环 5 | generic 兜底 1

协同体系:岗位 15 个(均配人类负责人 human)| 协作规则 27 条 | 编队运行时 task-force(DAG + 共享黑板 + 人工卡点)| 事件总线 position-events(SSE 实时扇出)

行业消费:仅 4 个员工真正按行业维度消费数据(DS-KBPIPE-001、DS-DOC-001、DS-KNOWLEDGE-001、DS-PROC-DATA-001)—— 行业坐标系已建,但"按行业批跑"尚未在 worker 层全面落地(见第九节)。

数字口径:本文统计基于 local.yaml 权威配置共 71 个员工。运行时 CMS 控制台(GET /api/digital-staff/list)实际返回 73 个,多出的 2 个为系统内置 / DB 持久化员工 DS-DQ-001(数据质检)、DS-EVO-001(自进化),不在 yaml 内但同样可用;yaml 的 71 个已 100% 加载到运行时,无遗漏。

核心承诺:全系统无任何模拟 / 硬编码假数据。所有结果来自真实 SCSAI PLM、真实 SQLite 业务库;依赖不可用时诚实返回 success:false + 步骤名 + 原因 + 堆栈,绝不"假装成功"。


二、四维口径与验证方法

| 维度 | 验证脚本 | 通过条件 |

|---|---|---|

| 能用 | probe-staff-exec.cjs L1/L2 | L1 worker 模块可 require 且不抛错(53/53);L2 pipeline/loop/capability 能力可在 CapabilityRuntime 解析(19/19);可执行 71/71 |

| 可配置 | audit-digital-staff.cjs | 有 keywords 或被 staff-router 路由表命中,或含 item_types/params 入口 |

| 可调度 | audit-digital-staff.cjs | 含 cron / loop.trigger / run_on_startup / 出现在事件触发表 / 可由编队触发 |

| 可协同 | audit-digital-staff.cjs | 命中 collaboration-rules.yaml 或归属 positions[].agents 或可作编队成员 |

自然语言可达(L3)说明probe-staff-exec.cjs 用每个员工「自身的一个专属关键词」喂给 staff-router.matchStaff,若能路由回自己即算可达。

  • 🔒 的 9 个均为设计如此:7 个 loop/chain/GOAI 编排节点(由定时循环 / 流水线 / 编队触发,不应自然语言直呼)+ 2 个同 worker 重名别名(DS-DATA-001DS-BOSS-001DS-SYS-001DS-BOSS-002,按 staffId 或意图调用)。
  • 其余 62 个均可被自然语言直呼。

三、协同体系(行业 × 岗位 × 数字员工 × 人)

三层正交坐标系:行业 = 知识坐标系(固定集合)| 岗位 = 权责主体(可调)| 数字员工 = 能力原子(通用)。解耦后成本 N+M+K 而非 N×M×K。

3.1 岗位(15 个,均配人类负责人)

岗位 ID名称人类负责人成员数
POS-OPERATOR操作工助手岗位操作工 / 班组长4
POS-QA质量管理员助手质量管理员 / 质量经理5
POS-PROCESS-ENG工艺工程师助手工艺工程师 / 技术主管6
POS-SCHEDULER生产调度助手生产调度员 / 车间主任4
POS-EQUIP设备管理员助手设备管理员 / 维修主管4
POS-STOCK库存管理员助手仓库管理员 / 物料计划员4
POS-FINANCE财务助理助手成本会计 / 财务负责人4
POS-PROCURE采购专员助手采购专员 / 采购经理5
POS-BOSS老板助手企业负责人 / 总经理9
POS-ITIT管理员助手IT管理员 / 系统负责人8
POS-GOAIGOAI多Agent协同演示车间主任(演示场景)3
POS-PROCURE-CHAIN采购闭环协同演示采购经理(演示场景)4
POS-INSPECT-LOOP巡检修复闭环演示质量主管(演示场景)3
POS-MARKETING市场营销助手市场专员 / 营销负责人5
POS-CHIP芯片设计工程师助手芯片设计工程师 / 设计主管7

3.2 协作规则(27 条)与编队

  • 协作规则定义在 server/boss-scheduler/collaboration-rules.yaml(27 条)+ 岗位内联 collaboration.next
  • 跨岗位编队由 server/boss-scheduler/task-force.js 运行时驱动:DAG 分层 + 共享黑板 + 人工卡点 + 硬碰撞/语义分歧双层冲突检测;挂起态落库,人在环签字后 POST /api/digital-staff/taskforce/resume 继续。
  • 事件总线 position-events.js:触发器热更新 + SSE 实时扇出(GET /api/digital-staff/event/stream)。

四、CMS 调用方式(HTTP API 契约)

服务地址http://<服务器>:3006(本机演示 https://ylxt.chat

4.1 触发员工执行(核心)

POST /api/digital-staff/run
Content-Type: application/json

{ "staffId": "DS-BOSS-002", "intent": "", "parameters": {}, "skip_mtclaw": true, "_lang": "zh-CN" }
  • staffId 必填(见第五节 / 第十节清单)。intent 空串 = 走员工默认完整流程;parameters 空对象 = 零参数默认兜底(自动取真实数据)。
  • 成功判定:响应 result.success === true。失败时含 step / error / stack —— 可直接展示体现透明度。
  • 重能力员工异步:返回 { async:true, taskId, estimatedTime },用 GET /api/digital-staff/tasks/ 轮询。
  • 浏览器可点:GET /api/digital-staff/run?staffId=DS-BOSS-002&intent=

4.2 查询 / 协同 / 编队 / 事件 端点

| 端点 | 方法 | 说明 |

|---|---|---|

| /api/digital-staff/list · /staffs | GET | 员工清单 |

| /api/digital-staff/detail?id= | GET | 员工详情(含keywords/params) |

| /api/digital-staff/position/list | GET | 岗位 + 人类层 |

| /api/digital-staff/collaboration/rules | GET | 协作规则 |

| /api/digital-staff/collaboration/chain?staffId= | GET | 某员工的协同链路 |

| /api/digital-staff/collaboration/trigger | POST | 手动触发协作 |

| /api/digital-staff/taskforce/adhoc | POST | 发起跨岗位编队 |

| /api/digital-staff/taskforce/pending | GET | 待人工签字编队 |

| /api/digital-staff/taskforce/resume | POST | 签字后继续编队 |

| /api/digital-staff/taskforce/runs | GET | 编队运行历史 |

| /api/digital-staff/event/triggers | GET/POST/DELETE | 事件触发器管理 |

| /api/digital-staff/event | POST | 投递事件 |

| /api/digital-staff/event/stream | GET | SSE 实时事件流 |

| /api/digital-staff/loops | GET/POST | 定时循环任务 |

| /api/digital-staff/logs | GET | 执行日志 |

4.3 小程序前端补充端点(主服务器 3006 同样支持)

小程序端在上述 4.1 / 4.2 之外额外调用的端点,均已在后端实现:

| 端点 | 方法 | 用途 |

|---|---|---|

| /api/digital-staff/status | GET | 员工状态全量(详情页 getDetail 也从此拉取按 id 匹配) |

| /api/digital-staff/runs?staffId=&limit= | GET | 员工执行历史列表 |

| /api/digital-staff/run-detail?runId= | GET | 单次执行详情(events / summary) |

| /api/digital-staff/tasks/ | GET | 异步任务轮询(与 4.1 相同) |

| /api/digital-staff/pending-confirms | GET | 人在回路 · 待确认项列表 |

| /api/digital-staff/resume | POST | 恢复挂起执行({ staffId, resumeId, choice }) |

| /api/digital-staff/config | GET/POST | 员工配置读写 |

| /api/staff/profile-update | POST | 员工档案保存({ id, fields: { params, triggers } },落盘 + 同步 DB) |

| /api/staff/banners | GET | 首页横幅 |

| /api/staff/match | POST | 员工关键词路由匹配 |

说明:2026-08-12 修复——pending-confirms 此前被 server.js oldPaths 误拦导致 404(新路由有实现但被跳过),已移除该项;profile-update 此前后端无实现导致小程序 staff-detail 保存必 404,已新增端点接线 updateStaffConfig()(内存 + saveStaffConfig() 落盘 + syncMemoryToDb)。


五、数字员工全量清单(71 人,按岗位分组)

图例:可协同 ✅ | 自然语言可达 ✅ / 仅编排触发 🔒 / 无关键词 ➖ | 消费行业 🌐

执行模式:worker 脚本 / capability / pipeline 流水线 / loop 定时循环 / generic 兜底

老板助手 (POS-BOSS)| 人类负责人:企业负责人 / 总经理 | 6 人

员工 ID名称执行模式调度方式可协同自然语言可达归属岗位
DS-BOSS-LOOP-001小臂-目标追踪员generic 兜底手动 / 事件 / 编队触发POS-BOSS
DS-WORKFLOW-001小臂-工作流助手pipeline 流水线cron: 0 8 *POS-BOSS
DS-WRITER-001小臂-写作助手pipeline 流水线cron: 0 9 1POS-BOSS, POS-MARKETING
DS-NEWS-001小臂-资讯助手worker 脚本cron: 0 7 *POS-BOSS, POS-MARKETING
DS-SYS-001小臂-系统运维师worker 脚本cron: 0 /2🔒POS-BOSS, POS-IT
DS-PM-001小臂-项目经理worker 脚本cron: 0 8 1POS-BOSS

芯片设计工程师助手 (POS-CHIP)| 人类负责人:芯片设计工程师 / 设计主管 | 7 人

员工 ID名称执行模式调度方式可协同自然语言可达归属岗位
DS-CHIP-001芯智识别师worker 脚本手动 / 事件 / 编队触发POS-CHIP
DS-CHIP-002芯智创建师worker 脚本手动 / 事件 / 编队触发POS-CHIP
DS-CHIP-003芯智修复师worker 脚本手动 / 事件 / 编队触发POS-CHIP
DS-CHIP-004芯智比对师worker 脚本手动 / 事件 / 编队触发POS-CHIP
DS-CHIP-005芯智优化师worker 脚本手动 / 事件 / 编队触发POS-CHIP
DS-CHIP-006芯智生成师worker 脚本手动 / 事件 / 编队触发POS-CHIP
DS-CHIP-007芯智端侧师worker 脚本手动 / 事件 / 编队触发POS-CHIP

设备管理员助手 (POS-EQUIP)| 人类负责人:设备管理员 / 维修主管 | 2 人

员工 ID名称执行模式调度方式可协同自然语言可达归属岗位
DS-REPAIR-001小臂-数据修复员pipeline 流水线手动 / 事件 / 编队触发POS-EQUIP
DS-COLLECT-001小臂-数据采集员pipeline 流水线cron: 0 /4POS-EQUIP

财务助理助手 (POS-FINANCE)| 人类负责人:成本会计 / 财务负责人 | 2 人

员工 ID名称执行模式调度方式可协同自然语言可达归属岗位
DS-COST-001小臂-成本优化师worker 脚本手动 / 事件 / 编队触发POS-FINANCE
DS-ANALYTICS-001小臂-数据分析助手pipeline 流水线cron: 0 7 *POS-FINANCE

GOAI多Agent协同演示 (POS-GOAI)| 人类负责人:车间主任(演示场景) | 3 人

员工 ID名称执行模式调度方式可协同自然语言可达归属岗位
DS-GOAI-SCHEDGOAI-车间主任助手worker 脚本手动 / 事件 / 编队触发POS-GOAI
DS-GOAI-PROCGOAI-采购助手worker 脚本手动 / 事件 / 编队触发🔒POS-GOAI
DS-GOAI-EQUIPGOAI-设备管理员助手worker 脚本手动 / 事件 / 编队触发POS-GOAI

巡检修复闭环演示 (POS-INSPECT-LOOP)| 人类负责人:质量主管(演示场景) | 3 人

员工 ID名称执行模式调度方式可协同自然语言可达归属岗位
DS-INSPECT-CHAIN-001巡检闭环-数据巡检员worker 脚本手动 / 事件 / 编队触发🔒POS-INSPECT-LOOP
DS-REPAIR-CHAIN-001巡检闭环-数据修复员worker 脚本手动 / 事件 / 编队触发🔒POS-INSPECT-LOOP
DS-REINSPECT-CHAIN-001巡检闭环-复检员worker 脚本手动 / 事件 / 编队触发POS-INSPECT-LOOP

IT管理员助手 (POS-IT)| 人类负责人:IT管理员 / 系统负责人 | 6 人

员工 ID名称执行模式调度方式可协同自然语言可达归属岗位
DS-IMPORT-001小臂-数据导入员capability手动 / 事件 / 编队触发POS-IT
DS-SCSAI-001小臂-万能对象创建工程师worker 脚本手动 / 事件 / 编队触发POS-IT
DS-OPS-001小臂-数据管家worker 脚本cron: 0 2 *POS-IT
DS-KBPIPE-001小臂-行业知识库管道员worker 脚本手动 / 事件 / 编队触发✅🌐POS-IT
DS-VISION-001小臂-视觉分析助手pipeline 流水线cron: 0 /6POS-IT
DS-PLM-BRAIN-001小臂-PLM大脑pipeline 流水线手动 / 事件 / 编队触发POS-IT

市场营销助手 (POS-MARKETING)| 人类负责人:市场专员 / 营销负责人 | 3 人

员工 ID名称执行模式调度方式可协同自然语言可达归属岗位
DS-CONTENT-001小臂-内容生成师worker 脚本手动 / 事件 / 编队触发POS-MARKETING
DS-LOOP-001小臂-闭环引擎loop 定时循环cron: 0 /4POS-MARKETING
DS-MKT-001小臂-营销助手worker 脚本cron: 0 18 1-5POS-MARKETING

操作工助手 (POS-OPERATOR)| 人类负责人:岗位操作工 / 班组长 | 4 人

员工 ID名称执行模式调度方式可协同自然语言可达归属岗位
DS-PROCESS-OPT-001小臂-工艺优化数字员工worker 脚本cron: 0 9 1-5POS-OPERATOR, POS-PROCESS-ENG
DS-IDENTIFY-001小臂-资产识别员pipeline 流水线手动 / 事件 / 编队触发POS-OPERATOR, POS-EQUIP
DS-EQUIP-001小臂-设备运维员worker 脚本cron: 0 6 *POS-OPERATOR, POS-EQUIP
DS-SPC-001小臂-SPC监控管家worker 脚本cron: 0POS-OPERATOR, POS-QA

POS-OTHER (POS-OTHER)| 人类负责人:— | 12 人

员工 ID名称执行模式调度方式可协同自然语言可达归属岗位
DS-BOSS-002小臂-系统运维师worker 脚本cron: 0 /3
DS-INSPECT-001小臂-数据巡检员pipeline 流水线cron: 0 8 1
DS-ECO-001小臂-变更分析师pipeline 流水线手动 / 事件 / 编队触发
DS-VALUATION-001小臂-数据估值师pipeline 流水线手动 / 事件 / 编队触发
DS-DATA-001小臂-数据书记员worker 脚本cron: 0🔒
DS-AUTO-LOOP-001小臂-自动闭环会话员loop 定时循环cron: 0 /2
DS-QCC-001小臂-质控卡管家worker 脚本cron: 0 /4
DS-FMEA-001小臂-FMEA分析管家worker 脚本cron: 0 10 1
DS-STAT-001小臂-质量统计管家worker 脚本cron: 0 7 *
DS-SCCAPP-DESIGN-001小臂-工艺设计管家worker 脚本cron: 0 9 1-5
DS-SCCAPP-OPT-001小臂-工艺优化管家worker 脚本cron: 0 10 1
DS-SCCAPP-QBRIDGE-001小臂-质量工艺互通管家worker 脚本cron: 0 8 *

工艺工程师助手 (POS-PROCESS-ENG)| 人类负责人:工艺工程师 / 技术主管 | 5 人

员工 ID名称执行模式调度方式可协同自然语言可达归属岗位
DS-ECR-001小臂-ECR审核员worker 脚本cron: 0 /4POS-PROCESS-ENG, POS-BOSS
DS-DOC-001小臂-文档数字员工worker 脚本cron: 0 /4✅🌐POS-PROCESS-ENG
DS-KNOWLEDGE-001小臂-知识库助手worker 脚本cron: 0 3 *✅🌐POS-PROCESS-ENG
DS-PROC-DATA-001小臂-工艺数据修复员worker 脚本cron: 0 3 *✅🌐POS-PROCESS-ENG
DS-SCCAPP-SYNC-001小臂-工艺同步管家worker 脚本cron: 0 /4POS-PROCESS-ENG

采购专员助手 (POS-PROCURE)| 人类负责人:采购专员 / 采购经理 | 4 人

员工 ID名称执行模式调度方式可协同自然语言可达归属岗位
DS-PROC-001小臂-采购助手worker 脚本手动 / 事件 / 编队触发POS-PROCURE
DS-VEN-001小臂-供应商管家worker 脚本cron: 0 /2POS-PROCURE
DS-PROC-LOOP-001小臂-价格监控员loop 定时循环cron: 0 9 *POS-PROCURE
DS-VEN-LOOP-001小臂-数据修复员loop 定时循环cron: 0 2 *POS-PROCURE

采购闭环协同演示 (POS-PROCURE-CHAIN)| 人类负责人:采购经理(演示场景) | 4 人

员工 ID名称执行模式调度方式可协同自然语言可达归属岗位
DS-PROC-CHAIN-001采购闭环-询价助手worker 脚本手动 / 事件 / 编队触发🔒POS-PROCURE-CHAIN
DS-COST-CHAIN-001采购闭环-成本分析worker 脚本手动 / 事件 / 编队触发🔒POS-PROCURE-CHAIN
DS-VEN-CHAIN-001采购闭环-供应商评估worker 脚本手动 / 事件 / 编队触发🔒POS-PROCURE-CHAIN
DS-ECR-CHAIN-001采购闭环-ECR审核worker 脚本手动 / 事件 / 编队触发POS-PROCURE-CHAIN

质量管理员助手 (POS-QA)| 人类负责人:质量管理员 / 质量经理 | 4 人

员工 ID名称执行模式调度方式可协同自然语言可达归属岗位
DS-REVIEW-001小臂-文档校验员pipeline 流水线cron: 0 /6POS-QA
DS-CAPA-001小臂-CAPA闭环管家worker 脚本cron: 0 8 *POS-QA
DS-NCR-001小臂-NCR调查管家worker 脚本cron: 0 9 *POS-QA
DS-AUDIT-001小臂-质量审核管家worker 脚本cron: 0 8 1POS-QA, POS-IT

生产调度助手 (POS-SCHEDULER)| 人类负责人:生产调度员 / 车间主任 | 4 人

员工 ID名称执行模式调度方式可协同自然语言可达归属岗位
DS-BOSS-001小臂-数据书记员worker 脚本cron: 0 /2POS-SCHEDULER
DS-REPORT-001小臂-报告分析师worker 脚本cron: 0 8 1POS-SCHEDULER, POS-STOCK, POS-FINANCE, POS-BOSS
DS-BIZ-001小臂-经营大脑worker 脚本cron: 0 8 *POS-SCHEDULER, POS-FINANCE, POS-BOSS
DS-STOCK-001小臂-库存管家worker 脚本cron: 0 /2POS-SCHEDULER, POS-STOCK

库存管理员助手 (POS-STOCK)| 人类负责人:仓库管理员 / 物料计划员 | 2 人

员工 ID名称执行模式调度方式可协同自然语言可达归属岗位
DS-SUPPLY-001小臂-供应链管家pipeline 流水线cron: 0 /4POS-STOCK, POS-PROCURE
DS-STOCK-LOOP-001小臂-库存预警员loop 定时循环cron: 0🔒POS-STOCK

六、自然语言触发词速查

  • 芯片家族(芯智系列)专属直达词(已规避"生成/创建/修复"等通用动词被抢占):
  • 芯智识别、芯智RTL设计、芯智代码排错、芯智代码差异、芯智PPA分析、芯智验证、芯智端侧
  • 工艺优化 → 芯智工艺优化;质量工艺互通 → 芯智质量工艺互通
  • 通用直达:直接说"生成报告"→DS-BOSS-001、"巡检"→DS-BOSS-002、"采购"→DS-PROC-001、"成本"→DS-COST-001、"知识库"→DS-KNOWLEDGE-001 等(详见 server/boss-scheduler/staff-router.jsSTAFF_KEYWORDS)。
  • 🔒 编排节点(请勿自然语言直呼,由定时/流水线/编队触发):DS-STOCK-LOOP-001DS-GOAI-PROCDS-PROC-CHAIN-001DS-COST-CHAIN-001DS-VEN-CHAIN-001DS-INSPECT-CHAIN-001DS-REPAIR-CHAIN-001
  • 🔒 同 worker 别名(按 staffId / 意图 SCSAI_sync 调用):DS-DATA-001(≡DS-BOSS-001)、DS-SYS-001(≡DS-BOSS-002)。

七、演示编排示例(跨岗位编队)

POST /api/digital-staff/taskforce/adhoc
{
  "title": "采购-成本-质量闭环演示",
  "members": ["DS-PROC-001", "DS-COST-001", "DS-VEN-001"],
  "sharedBlackboard": { "partNo": "P-1001", "qty": 50 },
  "requireHumanApproval": true
}

返回 runId,可在 /taskforce-ui.html 实时查看分层 DAG、共享黑板与分歧仲裁;人工签字后 POST /api/digital-staff/taskforce/resume 继续。


八、本轮审计修复记录(2026-08-11)

修复项影响说明
协同缺口清零全部员工新增 POS-MARKETING / POS-CHIP 岗位,给 4 个岗位补齐成员,给 2 个演示岗位补 human 层 → 孤立员工 19→0,可协同 71/71
芯片 / 工艺员工自然语言可达DS-CHIP-001~007、DS-SCCAPP-OPT-001、DS-SCCAPP-QBRIDGE-001新增 芯智* 专属直达词(规避通用动词被抢占),探针 L3 由 58→62 通过
路由关键词单一真相源staff-router关键词统一收口到 local.yaml 员工 keywords,STAFF_KEYWORDS 仅作补充
孤儿 worker 标注4 文件asset-valuator / inspect-worker / repair-worker / report-i18n 无员工使用,标注待清理

九、已知边界与优化项(诚实列出,非缺陷)

  1. 行业消费尚未全面落地:仅 4 个员工真正按行业维度消费数据(DS-KBPIPE-001、DS-DOC-001、DS-KNOWLEDGE-001、DS-PROC-DATA-001)。行业坐标系(5 行业)已建,但 worker 层"按行业批跑"仍在推进(任务 #5/#11)。
  2. 🔒 9 个编排/别名节点不自然语言直呼:设计如此,由定时/流水线/编队触发。
  3. 4 个孤儿 worker 文件:无员工使用,无害,建议清理或标注(见第八节)。
  4. DS-SCSAI-001 走废弃创建路径SCSAI-creator 已 DEPRECATED,统一创建应走 CapabilityRuntime.create;当前仍可用,后续迁移。
  5. 磁盘空间是头号伪装故障:C 盘接近满时 SQLite 会静默 disk I/O error 且进程无报错退出,极像"跑完了"。演示前务必 df -h 确认空间。
  6. 运行时显示 73 ≠ 配置 71:CMS 控制台列表(GET /api/digital-staff/list)返回 73,因含 2 个系统内置 / DB 持久化员工 DS-DQ-001(数据质检)、DS-EVO-001(自进化)。yaml 的 71 个已 100% 加载到运行时(无遗漏),详见第一节数字口径说明。

十、故障排查

现象可能原因排查
返回 success:false + disk I/O errorC 盘满df -h / 确认空间,清理后重跑
页面数字全 0 / 模块未启用代码含冲突标记或 require 失败启动前 grep ^(>>>>>> );查 safeRequire 返 null
自然语言触发错员工通用动词被抢占用本文第六节的 芯智* 专属词,或直接传 staffId
编队挂起无反应等待人工签字GET /api/digital-staff/taskforce/pending 查看并 resume
重能力超时真实大数据量走异步 taskId 轮询,或预热后展示结果页

十一、外部系统集成与可调用性(实测结论)

本轮对全部数字员工接口做了真实 HTTP 抓包验证:接口本身功能正确(list/run/loops/goals/配置 CRUD 均返回正确数据);但"外部能否直调"取决于客户端类型走哪套路由。已修复 CORS 不统一问题,现状如下。

11.1 网络暴露

  • 服务 server.listen(config.port) 未指定 host → 绑定 0.0.0.0 / [::] 全网卡(非 localhost-only),LAN 内可达;公网暴露需防火墙 / 端口转发 / 反代。

11.2 CORS(浏览器跨域)

  • 已统一:所有 /api/digital-staff/ 接口(含新 CRUD 模块 list / loops / goals / :id/enable / :id/rules-prompts,及旧 inline 接口)响应均带 Access-Control-Allow-Origin: ,OPTIONS 预检返回 204 + CORS。
  • 修复前:新 CRUD 模块响应缺 CORS 头 → 浏览器跨域调 list/loops 等会被拦截。已在 server/routes/digital-staff-routes.js_json 写出处补齐。
  • 结论:浏览器版 Web CMS 现在可跨域直调全部数字员工接口。

11.3 鉴权现状(开放平台 KEY + 双轨制,MVP 已决策)

  • 开放平台 KEY 机制已落地server/routes/open-platform.js),覆盖两类对外路由:/api/goai-demo/(协同闭环)、/api/agents/(Agent Card 接入)。机制包含:
  • POST /api/open/keys 申请 Key(返回 ba_xxx_xxx_xxx 格式)、GET /api/open/spec 返回 OpenAPI 3.0 规范、GET /api/open/usage 查调用统计。
  • 认证支持 X-API-Key: Authorization: Bearer ;按 Key 做限流(free=30、pro=120、enterprise=600 次/分钟)与调用审计(写 api_usage 表)。
  • 启动注入 2 个种子 Key(demo / goai-review,默认 free / pro 档)。
  • 无效 / 过期 Key → 401 拒绝(实测 X-API-Key: ba_invalid → 401),有效 Key → 放行并审计
  • 🟢 双轨制(设计如此,非缺陷;2026-08-12 已决策)server.js:4126 的逻辑是「ba_ 前缀 Key → 走开放平台鉴权 + 限流 + 审计;不带 Key → 维持原有内部逻辑不变」。两条明确轨道:
  • 外部 API 调用(带 ba_ Key) → 鉴权 + 限流 + 计费(审计入库)。
  • 内部前端调用(无 Key) → 原有逻辑不变,前端无需任何改造
  • 当前 MVP 即采用此双轨;若将来要统一管控,只需在 src/utils/api.js 加一行 headers['X-API-Key'] = localStorage.getItem('bossagents_api_key') 即可,无需前端重构。
  • **71 个原始数字员工接口 /api/digital-staff/* 未接开放平台网关:这是有意为之的内部分量,面向内网 / 127.0.0.1;公网暴露须走 nginx 反代收敛(见 11.5 / 12.2)。
  • 两套 Key 不互通:开放平台 Key(DB 表 api_keys)与 server/middleware/auth.js 的 JWT 是两套独立体系,后者未挂载到任何路由。

11.4 各客户端直调能力矩阵(双轨制)

调用方开放平台路由(goai-demo/agents)原始数字员工路由(digital-staff)
外部 API 调用(带 ba_ Key)✅ 鉴权 + 限流 + 审计(生产不暴露,走反代收敛,见 12.2)
内部前端 / Web CMS(无 Key)✅ 双轨放行,原逻辑不变,前端零改造✅ 内网 / 127.0.0.1 直调(设计如此)

11.5 推荐集成姿势

  1. 外部企业接入走开放平台主链路**:申请 Key → 带 X-API-Key/api/goai-demo/* 协同闭环(内部自动编排 71 数字员工)。这是对外唯一应暴露的入口。
  2. 首选后端中继:CMS 后端持有 Key 调用 bossagents(避开浏览器 CORS / 鉴权复杂度),前端只跟自己后端通信。
  3. 小程序 / 公网:nginx 终止 TLS(443)→ 反代 https://ylxt.chat,MP 后台加白域名;走开放平台 Key,勿暴露原始 digital-staff 端口。

11.6 开放平台接入指南(实测可用)

1) 申请 Key

curl -X POST http://<host>:3006/api/open/keys -H "Content-Type: application/json" -d '{"customer_id":"your_corp","name":"贵司名称","plan":"pro"}'
# => {"success":true,"api_key":"ba_xxxx_xxxx_xxxx","plan":"pro","rate_limit":120}

2) 带 Key 调用协同闭环(编排数字员工)

curl -X POST http://<host>:3006/api/goai-demo/collaboration/goai -H "X-API-Key: ba_xxxx_xxxx_xxxx" -H "Content-Type: application/json" -d '{"instruction":"把本月采购申请汇总成待办"}'
# 或:Authorization: Bearer ba_xxxx_xxxx_xxxx

3) 查询调用统计(需 Key)

curl "http://<host>:3006/api/open/usage?days=7" -H "X-API-Key: ba_xxxx_xxxx_xxxx"

4) 查看完整规范

curl http://<host>:3006/api/open/spec

限流:free 30 / pro 120 / enterprise 600 次/分钟(按 60s 滑动窗口 api_usage 计数,超限返回 429 + retry_after:60)。无效 / 过期 Key 返回 401

11.7 真实编排验证(本机实测)

  • POST /api/goai-demo/collaboration/goai 带有效 demo Key → HTTP 200,耗时 22.9s,返回 trace_id 并真实编排数字员工(如 DS-GOAI-SCHED 任务拆解、采购 / 保养提醒等),证明开放平台 Key → goai-demo 协同 → 71 数字员工链路贯通。
  • GET /api/goai-demo/positions 带有效 / 无效 Key → 200 / 401(区分正确)。返回 3 个协同演示岗位goai(POS-GOAI,agents=3)、procure(POS-PROCURE-CHAIN,agents=4)、inspect(POS-INSPECT-LOOP,agents=3)。
  • POST /api/open/keys → 201 真实写入 api_keys 表;GET /api/open/usage 需 Key(无 Key → 401)。

11.8 端到端测试(E2E,2026-08-12,7/7 全部通过)

| # | 测试项 | 期望 | 实测 | 说明 |

|---|---|---|---|---|

| 1 | OpenAPI 规范 | 3.0 / v1.0.0 | ✅ | GET /api/open/spec 返回 OpenAPI 3.0.3 |

| 2 | 申请 API Key | 返回 ba_* | ✅ | POST /api/open/keysba_xxxx_xxxx_xxxx |

| 3 | 有效 Key 访问 | 200 + 3 岗位 | ✅ | GET /api/goai-demo/positions 带 Key → 3 个演示岗位 |

| 4 | 无效 Key 拒绝 | 401 | ✅ | X-API-Key: ba_invalid → 401 |

| 5 | 无 Key 内部访问 | 200(前端不受影响) | ✅ | 双轨制:无 Key 维持原逻辑 |

| 6 | 调用统计 | 有记录 | ✅ | GET /api/open/usage 返回各端点 calls 记录 |

| 7 | 文档页 | 200 | ✅ | GET /api/open/docs → 200,约 13 KB(api-docs.html) |

以上 7 项经独立复验全部通过;第 5 项证实双轨制下内部前端无需改造已落地。


十二、开放平台安全边界(已决策 + 部署建议)

12.1 goai-demo/agents 双轨制 → 是否强制 Key?

  • 决策(2026-08-12):MVP 采用双轨制,不强制 Key。理由:内部前端无 Key 直调维持原逻辑、零改造;外部带 Key 自动鉴权 + 限流 + 审计。
  • 现状server.js:4126 — 仅当请求携带 ba_ 前缀 Key 时才走 openPlatform.middleware 校验;无 Key 直接放行(200)。这正是双轨制的实现点,非缺陷。
  • 未来可选强化:若要做统一管控,删除 else 放行分支使未带有效 Key 一律 401,并在 src/utils/api.js 注入 X-API-Key 即可,改动量极小。

12.2 原始数字员工接口 /api/digital-staff/* 是否纳入网关?

  • 现状:71 个底层接口(list/run/config/loops…)完全无 Key 鉴权,实测无 Key 直调 run 也能真实执行数字员工。这是有意为之的内部分量(内网 / 127.0.0.1)。
  • 部署建议(推荐,零代码改动):production 仅暴露开放平台入口(nginx 反向代理 /api/goai-demo/api/agents/api/open),不转发 /api/digital-staff;原始接口只允许 127.0.0.1 / 内网。
  • 强管控补充(可选):若需代码层管控,在 server.js 数字员工 dispatch 入口加 openPlatform.middleware(或 softAuth)要求 Key,并给内部 CMS 配 Key 或加内网 IP 白名单。

12.3 两套鉴权体系说明

  • 开放平台 Key(api_keys 表,前缀 ba_)与 server/middleware/auth.js 的 JWT 相互独立。当前 JWT 中间件未挂载到任何路由。
← 返回案例列表
分享:
🤖 Try Now →
🤖
🎁