BossAgents Digital Employee CMS Demo Invocation Documentation
Version: 2026-08-27 | Principle: The database is the single source of truth. YAML defines the desired state. Synchronization ensures the database and YAML are completely consistent (70 employees).
2026-08-27 Update: 70/70 employees executed successfully without parameters (4 default parameter fixes + 25 worker alias mapping fixes). Maturity assessment: L2=27/L3=41/L4=2. Intent matching: 5/5 all correct. Real output validation passed (DS-STOCK-001→1330 Parts, DS-BOM-001→500 BOMs, DS-KNOWLEDGE-001→68 documents, DS-PROC-DATA-001→26163 process files).
2026-08-25 Update: Digital employees streamlined and consolidated from 87 to 70 (5 groups merged, zero functionality loss). Added PLM demo mode (8 scenarios: Change Impact Analysis/Data Quality Inspection/ECR Approval Loop/Part Release/Governance Record Query/Production Order Tracking/Incoming Inspection Query/Customer Complaint 8D Report). Demo mode uses preset data, does not call LLM, and responds
2026-08-16 Update: DS-SCSAI-001 universal object creation visibility restored; soft-hiding mechanism implemented; capability profile / performance endpoint integrated.
Applicable Scenarios: Official website CMS demo page + WeChat Mini Program end + PLM demo mode, unified API contract, displaying real execution results in real time.
Data Caliber: All figures and statuses in this article are derived from script-based actual measurements of the code (see scripts/audit-digital-staff.cjs and scripts/probe-staff-exec.cjs), with no padding.
I. Overview of Conclusions (Honest Caliber)
All 70 digital employees (the single source of truth in the database, fully consistent with YAML) were validated through four-dimensional actual measurement + runtime verification:
| Dimension | Caliber | Result |
|---|---|---|
| ✅ Usable | Enabled + has a parsable execution path (worker file exists and exports run / capability mapped within pipeline / loop / generic) | 70 / 70 |
| ✅ Parameterless Execution | Each employee executed with runStaffOnce(sid, '', {}) with zero parameters, returning real business results | 70 / 70 |
| ✅ Real Output | Operates on real data in SCSAI PLM / SQLite, not simulated/hard-coded | 70 / 70 |
| ? Active Display (User/List Visible) | In STAFF_DEFAULTS and not in HIDDEN_STAFF_IDS: can be invoked via natural language, has a unified default intent + visualized parameter default values (via the single source of truth /api/staff/banners) | ~53 / 70 |
| ? Hidden after being taken offline (visible and can be reactivated on admin side) | HIDDEN_STAFF_IDS consolidation: capability mismatch (name doesn't match reality) / placeholder only with no execution body / worker is deprecated, cannot dispatch real tasks, invisible to users, skipped in routing and lists (see 5.1 for details) | ~17 / 70 |
| ✅ Configurable | Has routing keywords / parameter entry (keywords, item_types, params, router table match) | 70 / 70 |
| ✅ Schedulable | cron scheduled / run_on_startup / event-triggered / loop / formation-triggered | 70 / 70 (42 of which have cron) |
| ✅ Collaborative | Belongs to certain role agents / matches collaboration rules / can be a formation member | 70 / 70 |
| ✅ Capabilities coverage | Each employee has at least one standard capability verb (identify/create/repair/optimize/compare/generate/inspect) | 70 / 70 |
| ✅ Tier coverage | Three-tier classification: base (basic verbs) / domain (domain) / sub (>sub-capabilities) | 70 / 70 (base=21, domain=54, sub=2) |
| ✅ Item Types Covered | Types of PLM objects each employee can annotate and operate | 70 / 70 |
| ?️ Directly Addressable via Natural Language | Has at least one dedicated keyword that can route back to itself | ~53 / 70 |
| ? Triggered Only by staffId / Orchestration (by design) | Orchestration nodes + aliases with the same name as the worker, not directly addressable via natural language | ~17 / 70 |
Execution Mode Distribution: worker scripts 52 | capability 1 | pipeline 13 | loop scheduled cycles 5 | generic fallback 1
Collaboration System: 16 positions (each assigned a human responsible person) | 27 collaboration rules | task-force at runtime (DAG + shared blackboard + manual checkpoints) | event bus position-events (SSE real-time fan-out)
Industry Consumption: Only 4 employees actually consume data by industry dimension (DS-KBPIPE-001, DS-DOC-001, DS-KNOWLEDGE-001, DS-PROC-DATA-001) — the industry coordinate system is established, but "batch execution by industry" has not yet been fully implemented at the worker layer (see Section 9).
Maturity Distribution (2026-08-27 Actual Measurement): L2 Rule-Driven 27 (39%) | L3 LLM-Enhanced 41 (59%) | L4 Autonomous Closed-Loop 2 (3%)
Real Output Verification (2026-08-27 Actual Measurement, GET /api/digital-staff/run?staffId=XXX zero-parameter call):
| Staff | Real Output |
|---|---|
| DS-STOCK-001 (Inventory Steward) | Queried 1330 real Parts (including ID/Classification/Cost/Status) from SCSAI |
| DS-BOM-001 (BOM Manager) | Returned 500 real BOM records (including Type/Quantity/Associated Part) |
| DS-KNOWLEDGE-001 (Knowledge Base Assistant) | Indexed 68 documents (Document 49 / CAD 19), 49 updated in the last 30 days |
| DS-SYS-001 (System Operations Engineer) | Real target check "≥77 employees online" not met (actual 70), failureCount=2 |
| DS-QUALITY-001 (Quality Agent) | Returned QCC/CAPA/NCR/FMEA capability menu + keywords |
| DS-COST-001 (Cost Optimizer) | Analyzed 500 parts / 35 assemblies / 8 BOM structures, 202 have cost data |
| DS-CHIP-001 (Chip Design Engineer) | Default RISC-V RV32I specification recognition: 5-stage pipeline / 32 registers / 32-bit data width |
| DS-CS-001 (Customer Service Digital Employee) | Default welcome inquiry → Returns product introduction + solution recommendation + free module description |
| DS-PROC-DATA-001 (Process Data Repair Agent) | Inspects 26,163 process files / 163,441 process steps, generates HTML report |
| DS-PROCESS-OPT-001 (Process Intelligence Agent) | Returns "Process Intelligence Agent is ready" + capability menu |
Digital Caliber: The database is the sole authoritative source, with a total of 70 employees (exactly matches YAML). API returns 70. All employees have capabilities/tier/item_types (70/70). 70/70 ran successfully without parameters, producing real business data.
Soft Hidden Caliber (2026-08-25): /list now appends a hidden boolean field to each employee. Among the 70 returned items, approximately 17 have hidden:true (from employees captured by HIDDEN_STAFF_IDS in the yaml) — user-facing lists (web summon area, mini-program homepage / Digital Employees / AI Chat) filter by !hidden; the web admin console and mini-program admin page display all and mark as "Decommissioned," allowing re-activation. Active visible employees ≈ 53 (STAFF_DEFAULTS).
Core Commitment: The entire system contains no simulation/hardcoded dummy data. All results originate from real SCSAI PLM and real SQLite business databases; if dependencies are unavailable, it honestly returns success:false + step name + reason + stack trace, never "pretending to succeed".
II. Four-Dimensional Metrics and Verification Methods
| Dimension | Verification Script | Pass Criteria |
|---|---|---|
| Usable | probe-staff-exec.cjs L1/L2 | L1 worker module can be required without throwing errors (52/52); L2 pipeline/loop/capability can be parsed in CapabilityRuntime (19/19); executable 90/90 |
| Parameterless Execution | GET /api/digital-staff/run?staffId=XXX | Zero-parameter call returns success:true + real business data (70/70) |
| Configurable | audit-digital-staff.cjs | Contains keywords or is matched by staff-router routing table, or has item_types/params entry points |
| Schedulable | audit-digital-staff.cjs | Contains cron / loop.trigger / run_on_startup / appears in event trigger list / can be triggered by formation |
| Collaborative | audit-digital-staff.cjs | Matches collaboration-rules.yaml or belongs to positions[].agents or can serve as a formation member |
Natural Language Accessibility (L3) Description: probe-staff-exec.cjs feeds each employee's "own unique keyword" to staff-router.matchStaff; if it routes back to itself, it is considered accessible.
- All 9 of the ? are designed as such: 7 loop/chain/GOAI orchestration nodes (triggered by scheduled loops / pipelines / formations, should not be called directly via natural language) + 2 aliases with the same name as their workers (DS-DATA-001≡DS-DATA-001, DS-SYS-001≡DS-SYS-001, invoked by staffId or intent).
- The remaining 63 can all be called directly via natural language.
Intent matching verification (2026-08-27, POST /api/staff/match actual test):
| Input Text | Matched Staff | Match Score |
|---|---|---|
| Incoming Quality Check | DS-IQC-001 (Incoming QC Inspector) | 60 |
| Purchase 50 servo motors | DS-PROC-001 (Procurement Assistant) | 20 |
| Check BOM data quality | DS-BOM-001 (BOM Manager) | 60 |
| Inventory Query | DS-STOCK-001 (Inventory Steward) | 65 |
| Production Reporting | DS-WORKREPORT-001 (Production Reporter) | 65 |
III. Collaboration System (Industry × Role × Digital Employee × Person)
Three-layer orthogonal coordinate system: Industry = Knowledge Coordinate System (fixed set) | Role = Responsibility Subject (adjustable) | Digital Employee = Capability Atom (universal). After decoupling, the cost is N+M+K instead of N×M×K.
3.1 Positions (16 total, each assigned a human responsible person)
| Position ID | Name | Human Responsible Person | Number of Members |
|---|---|---|---|
| POS-OPERATOR | Operator Assistant | Operator / Team Leader | 6 |
| POS-QA | Quality Administrator Assistant | Quality Administrator / Quality Manager | 8 |
| POS-PROCESS-ENG | Process Engineer Assistant | Process Engineer / Technical Supervisor | 6 |
| POS-SCHEDULER | Production Scheduler Assistant | Production Scheduler / Workshop Manager | 6 |
| POS-EQUIP | Equipment Administrator Assistant | Equipment Administrator / Maintenance Supervisor | 4 |
| POS-STOCK | Inventory Administrator Assistant | Warehouse Administrator / Material Planner | 4 |
| POS-FINANCE | Finance Assistant Assistant | Cost Accountant / Finance Head | 5 |
| POS-PROCURE | Procurement Specialist Assistant | Procurement Specialist / Procurement Manager | 6 |
| POS-BOSS | Boss Assistant | Business Owner / General Manager | 6 |
| POS-IT | IT Administrator Assistant | IT Administrator / System Owner | 6 |
| POS-GOAI | GOAI Multi-Agent Collaboration Demo | Workshop Manager (Demo Scenario) | 3 |
| POS-PROCURE-CHAIN | Procurement Closed-Loop Collaboration Demo | Procurement Manager (Demo Scenario) | 4 |
| POS-INSPECT-LOOP | Inspection & Repair Closed-Loop Demo | Quality Supervisor (Demo Scenario) | 3 |
| POS-MARKETING | Marketing Assistant | Marketing Specialist / Marketing Head | 5 |
| POS-CHIP | Chip Design Engineer Assistant | Chip Design Engineer / Design Lead | 7 |
| POS-PLM | PLM Demo Assistant | Demo Operator | 1 |
3.2 Collaboration Rules (27 Items) and Formation
- Collaboration rules are defined in server/boss-scheduler/collaboration-rules.yaml (27 items) + inline collaboration.next within positions.
- Cross-position formations are driven at runtime by server/boss-scheduler/task-force.js: DAG layering + shared blackboard + manual checkpoints + dual-layer conflict detection for hard collisions/semantic divergence; suspended states are persisted to storage, resuming via POST /api/digital-staff/taskforce/resume after human-in-the-loop sign-off.
- Event bus position-events.js: Trigger hot reload + SSE real-time fan-out (GET /api/digital-staff/event/stream).
IV. CMS Invocation Method (HTTP API Contract)
Service Address: http://:3006 (Local demo https://ylxt.chat)
4.1 Trigger Staff Execution (Core)
POST /api/digital-staff/run
Content-Type: application/json
{ "staffId": "DS-SYS-001", "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-SYS-001&intent=
4.2 PLM 演示模式(新增)
POST /api/plm-demo/config
Content-Type: application/json
{ "enabled": true, "mode": "plm_demo", "language": "zh-CN" }
场景选择:
GET /api/plm-demo/scenarios
可用场景:
| Scenario ID | Name | Script | Expected Result |
|---|---|---|---|
| impact-analysis | Change Impact Analysis | Query the impact scope of P-1001 | 3 parent assemblies, 4 related parts, severity Medium |
| data-inspection | Data Quality Inspection | Check Part data quality | Scanned 1193 Parts, found ~5500 issues |
| ecr-approval | ECR Approval Loop | Approve ECR-2026-0005 | Approved ECR, automatically created ECO-2026-0008 |
| part-release | Part Release | Release P-1001 | Invoke SCSAI PE_ManualRelease, status changes to Released |
| gov-history | Governance History Query | View recent governance records | Display the latest 20 operation histories |
| production-tracking | Production Order Tracking | Query production status of WO-2026-001 | Planned 100 pieces, completed 75 pieces, progress 75% |
| incoming-inspection | Incoming Inspection Query | Query inspection result for IQC-2026-001 | Inspection passed, defect rate 0.5% |
| customer-complaint | Customer Complaint 8D Report | Generate 8D report for CR-2026-001 | Generate report template for eight steps D1-D8 |
? Demo mode uses preset data, does not call real LLM, response speed
4.3 Query / Collaboration / Formation / Event Endpoints
| Endpoint | Method | Description |
|---|---|---|
| /api/digital-staff/list · /staffs | GET | Staff List |
| /api/digital-staff/detail?id= | GET | Employee Details (including keywords/params) |
| /api/digital-staff/position/list | GET | Positions + Human Layer |
| /api/digital-staff/collaboration/rules | GET | Collaboration Rules |
| /api/digital-staff/collaboration/chain?staffId= | GET | Collaboration Chain for a Specific Employee |
| /api/digital-staff/collaboration/trigger | POST | Manually Trigger Collaboration |
| /api/digital-staff/taskforce/adhoc | POST | Initiate Cross-Position Task Force |
| /api/digital-staff/taskforce/pending | GET | Task Forces Pending Manual Sign-off |
| /api/digital-staff/taskforce/resume | POST | Resume Task Force After Sign-off |
| /api/digital-staff/taskforce/runs | GET | Task Force Run History |
| /api/digital-staff/event/triggers | GET/POST/DELETE | Event Trigger Management |
| /api/digital-staff/event | POST | Post Event |
| /api/digital-staff/event/stream | GET | SSE Real-time Event Stream |
| /api/digital-staff/loops | GET/POST | Scheduled Loop Tasks |
| /api/digital-staff/logs | GET | Execution Logs |
4.4 Mini-Program Frontend Supplementary Endpoints (Also Supported by Main Server 3006)
| Endpoint | Method | Purpose |
|---|---|---|
| /api/digital-staff/status | GET | Full Staff Status |
| /api/digital-staff/runs?staffId=&limit= | GET | Staff Execution History List |
| /api/digital-staff/run-detail?runId= | GET | Single Execution Details |
| /api/digital-staff/tasks/ | GET | Asynchronous task polling |
| /api/digital-staff/pending-confirms | GET | Human-in-the-loop · Pending confirmation list |
| /api/digital-staff/resume | POST | Resume suspended execution |
| /api/digital-staff/config | GET/POST | Staff configuration read/write |
| /api/staff/profile-update | POST | Staff profile save |
| /api/staff/banners | GET | Homepage banners |
| /api/staff/match | POST | Staff keyword routing match |
| /api/doc-agent/staff-capability/portrait/:id | GET | Capability portrait |
| /api/digital-staff/:id/performance | GET | Performance aggregation |
V. Complete List of Digital Employees (70 individuals, grouped by role)
Legend: Collaborative ✅ | Natural Language Accessible ✅ / Orchestration-Only Trigger ? / No Keywords ➖ | Consumer Industry ?
Execution Mode: worker script / capability / pipeline / loop scheduled cycle / generic fallback
Legend: Collaborative ✅ | Natural Language Accessible ✅ / Orchestration-Only Trigger ? / No Keywords ➖ | Consumer Industry ? | Discontinued ?
Execution Mode: worker script / capability / pipeline / loop scheduled cycle / generic fallback
⚠️ Discontinued Hidden List (17 individuals, 2026-08-25): The following employees have been hidden via HIDDEN_STAFF_IDS due to 'capability mismatch (misleading name) / placeholder with no execution body / worker deprecated' and removed from user-visible lists (web summon area, mini-program homepage / Digital Employees / AI chat filtered by !hidden). However, they are still displayed and marked as 'Discontinued' in the web admin console and mini-program admin page, and can be re-enabled at any time. Corresponding list entries are marked with ?.
? DS-SCSAI-001 Universal Object Creation Engineer was restored from hidden to visible on 2026-08-16—testing confirmed its /api/digital-staff/run returns a real 'identify object type → confirm creation' process (type:confirm). Its name matches its capability, representing a genuine, non-placeholder function.
| Employee ID | Name | Original Assigned Position | Decommission Reason |
|---|---|---|---|
| DS-SCSAI-001 | Forearm - Data Import Operator | POS-IT | Capability creation path migrated, worker cannot be dispatched |
| DS-DOC-001 | Forearm - Document Verification Operator | POS-QA | Pipeline deprecated |
| DS-PROC-001 | Forearm - Supply Chain Steward | POS-STOCK | Pipeline deprecated |
| DS-LOOP-001 | Forearm - Price Monitor Operator | POS-PROCURE | Loop worker deprecated |
| DS-LOOP-001 | Forearm - Target Tracking Operator | POS-BOSS | Generic fallback with no actual execution |
| DS-LOOP-001 | Forearm - Data Repair Operator | POS-PROCURE | Loop worker deprecated |
| DS-LOOP-001 | Forearm - Inventory Alert Operator | POS-STOCK | Loop worker deprecated |
| DS-STAT-001 | Forearm - Data Inspection Operator | POS-OTHER | Pipeline deprecated |
| DS-PROC-DATA-001 | Forearm-Data Repairer | POS-EQUIP | pipeline deprecated |
| DS-ECR-001 | Forearm-Change Analyst | POS-OTHER | pipeline deprecated |
| DS-COST-001 | Forearm-Data Valuator | POS-OTHER | pipeline deprecated |
| DS-DATA-001 | Forearm-Data Collector | POS-EQUIP | pipeline deprecated |
| DS-SCSAI-001 | Forearm-Asset Identifier | POS-OPERATOR | pipeline deprecated |
| DS-LOOP-001 | Forearm-Workflow Assistant | POS-BOSS | pipeline deprecated |
| DS-BIZ-001 | Forearm-Data Analysis Assistant | POS-FINANCE | pipeline deprecated |
| DS-SCSAI-001 | Forearm-Visual Analysis Assistant | POS-IT | pipeline deprecated |
| DS-CONTENT-001 | Forearm-Writing Assistant | POS-BOSS | pipeline deprecated |
| DS-LOOP-001 | Forearm-Automatic Closed-Loop Conversational Agent | POS-OTHER | loop deprecated |
| DS-NEWS-001 | Forearm-Info Assistant | POS-MARKETING | No connected info source, honest empty shell (taken offline) |
Note: Active visible employees = 73 (STAFF_DEFAULTS, includes unified default intents + parameter default values). Taking offline is a soft hide, not deletion—once conditions are met (worker fixed / path migration completed), it can be re-launched without code changes.
5.1 Root Cause Analysis for Takedown (Revised 2026-08-25)
Why it was originally added
- Bulk registration during the planning/demo phase to showcase the breadth of "full-scenario coverage": envisioned a large number of segmented scenario employees ("Forearm-X" series + various "Assistants"), covering IT, data, supply chain, quality, finance, executives, IT administrators, etc.
- Misjudgment of "one universal shell fits all business": The design approach was to use two generic workers (kb-pipeline knowledge base pipeline, news-worker info retrieval) + generic capability verbs (identify/generate/inspect/repair/compare/valuate) to fit different business names, assuming one universal shell could cover all scenarios, failing to realize each vertical scenario requires dedicated data sources + dedicated actions + dedicated models.
- Demo scenario reuse: The same DS-ID is assigned to different demo roles (GOAI collaborative demo, Boss Assistant, IT Admin Assistant, etc.) in different profile sections of the yaml file. This is for setting up demo scenarios and is not production-ready; some are directly set as worker: NONE in the yaml and were never implemented.
- Integrated systems are deprecated (historical context only): DS-SCSAI-001 once pointed to SCSAI-creator, while SCSAI/SCSAI has been uniformly renamed to SCSAI. However, as of 2026-08-16, testing shows it returns a real 'identify object type → confirm creation' workflow (type:confirm) via the unified creation capability, matching its nominal purpose, and has been restored to visible status (no longer part of the hidden set).
Why real tasks cannot be dispatched (primary issue, three categories)
- Capability mismatch (name does not reflect reality): An employee's nominal role ≠ the actual tasks its worker can perform, and the capability has no corresponding implementation within the worker (this is the common root cause for all 19 hidden employees).
- Employees such as "Price Monitor / Inventory Alert Specialist / Data Valuator / Data Inspector / Change Analyst" (with capability=identify/compare/valuate/inspect) point to kb-pipeline, but that worker only recognizes four stages: collect/enrich/convert/all. Its essence is 'triggering industry knowledge base collection' (kb-pipeline-worker.js:101, :77 calls /api/kb/:industry/trigger). It does not perform price tracking, alerting, valuation, or analysis.
- The "Visual Analysis / Writing / Data Analysis Assistant" points to news-worker, but it only performs "retrieve news by topic + generate summaries," and the actual news provider returns null (news-worker.js:25, no real news API), making it incapable of visual recognition, professional writing, or in-depth data analysis.
- "Data Importer" points to system-health (system health check), and "Automatic Closed-loop Session Assistant" points to plm-brain—their roles and capabilities are completely mismatched.
- Pure placeholders with no execution body: A group of "assistants" in the YAML have worker: NONE, with no execution scripts; when selected by the routing engine, there is nowhere to dispatch them.
- Capability disconnected from worker stage: The identify/generate/inspect/repair/compare/valuate capabilities claimed by the employees have no implementation path in the corresponding workers; even if selected by routing, they cannot produce deterministic business outcomes, only falling back to generic fallback or idle operation.
⚠️ Post-mortem Correction (2026-08-16): The earlier blanket reason for hiding as "no registered worker / worker deprecated" was inaccurate. Most of these 19 workers can execute (HTTP 200), but they produce misaligned / idle / failed results (e.g., DS-SCSAI-001 test shows success:false, DS-LOOP-001 returns "target not achieved" idling, most rule_engine generic recognition runs idle). HTTP 200 ≠ correct results. What should truly be taken down are the placeholder results that are "misleading or misrepresented," not those that "cannot run." DS-SCSAI-001 is not in this category as it returns a proper object creation confirmation process and has been restored.
Conclusion: These 19 (DS-SCSAI-001 was restored on 2026-08-16) are not bugs, but products of planning/demo placeholders and capability misalignment. To relaunch them, dedicated data sources + actions must be added for specific scenarios (e.g., "Price Monitor" actually fetching/comparing/alerting prices, "Visual Analysis" connecting to vision models), not relying on generic shells. Currently soft-hidden and retained; they can be relaunched individually once the execution bodies are supplemented.
Boss Assistant (POS-BOSS) | Human Owner: Enterprise Head / General Manager | 6 people
| Employee ID | Name | Execution Mode | Scheduling Method | Collaborative | Natural Language Accessible | Assigned Positions |
|---|---|---|---|---|---|---|
| DS-LOOP-001 | Forearm - Target Tracker (Discontinued?) | generic fallback | Manual / Event / Formation Trigger | ✅ | ✅ | POS-BOSS |
| DS-LOOP-001 | Forearm - Workflow Assistant (Discontinued?) | pipeline | cron: 0 8 * * * | ✅ | ✅ | POS-BOSS |
| DS-CONTENT-001 | Forearm - Writing Assistant (Discontinued?) | pipeline | cron: 0 9 * * 1 | ✅ | ✅ | POS-BOSS, POS-MARKETING |
| DS-NEWS-001 | Forearm - News Assistant | worker script | cron: 0 7 * * * | ✅ | ✅ | POS-BOSS, POS-MARKETING |
| DS-SYS-001 | Forearm - System Operations Engineer | worker script | cron: 0 */2 * * * | ✅ | ? | POS-BOSS, POS-IT |
| DS-PM-001 | Forearm - Project Manager | worker script | cron: 0 8 * * 1 | ✅ | ✅ | POS-BOSS |
Chip Design Engineer Assistant (POS-CHIP) | Human Responsible: Chip Design Engineer / Design Lead | 7 persons
| Employee ID | Name | Execution Mode | Scheduling Method | Can Collaborate | Natural Language Accessible | Assigned Position |
|---|---|---|---|---|---|---|
| DS-CHIP-001 | Chip Intelligence Identifier | worker script | Manual / Event / Formation Trigger | ✅ | ✅ | POS-CHIP |
| DS-CHIP-002 | Chip Intelligence Creator | worker script | Manual / Event / Formation Trigger | ✅ | ✅ | POS-CHIP |
| DS-CHIP-003 | Chip Intelligence Repairer | worker script | Manual / Event / Formation Trigger | ✅ | ✅ | POS-CHIP |
| DS-CHIP-004 | Chip Intelligence Comparator | worker script | Manual / Event / Formation Trigger | ✅ | ✅ | POS-CHIP |
| DS-CHIP-005 | Chip Optimization Engineer | worker script | Manual / Event / Formation Trigger | ✅ | ✅ | POS-CHIP |
| DS-CHIP-006 | Chip Generation Engineer | worker script | Manual / Event / Formation Trigger | ✅ | ✅ | POS-CHIP |
| DS-CHIP-007 | Edge-side Chip Engineer | worker script | Manual / Event / Formation Trigger | ✅ | ✅ | POS-CHIP |
Equipment Administrator Assistant (POS-EQUIP) | Human Responsible: Equipment Administrator / Maintenance Supervisor | 4 persons
| Employee ID | Name | Execution Mode | Scheduling Method | Can Collaborate | Natural Language Accessible | Assigned Position |
|---|---|---|---|---|---|---|
| DS-PROC-DATA-001 | Forearm-Data Repairer (Discontinued?) | pipeline | Manual / Event / Formation Trigger | ✅ | ✅ | POS-EQUIP |
| DS-DATA-001 | Forearm-Data Collector (Discontinued?) | pipeline | cron: 0 */4 * * * | ✅ | ✅ | POS-EQUIP |
| DS-EQUIP-001 | Forearm-Equipment Maintenance Operator | worker script | cron: 0 6 * * * | ✅ | ✅ | POS-EQUIP, POS-OPERATOR |
| DS-SCCAPP-DESIGN-001 | Forearm-Process Design Steward | worker script | cron: 0 9 * * 1-5 | ✅ | ✅ | POS-EQUIP, POS-PROCESS-ENG |
Financial Assistant (POS-FINANCE) | Human Responsible: Cost Accountant / Finance Lead | 5 persons
| Employee ID | Name | Execution Mode | Scheduling Method | Can Collaborate | Natural Language Accessible | Assigned Position |
|---|---|---|---|---|---|---|
| DS-COST-001 | Forearm-Cost Optimizer | worker script | Manual / Event / Formation Trigger | ✅ | ✅ | POS-FINANCE |
| DS-BIZ-001 | Little Arm - Data Analysis Assistant (Discontinued?) | pipeline | cron: 0 7 * | ✅ | ✅ | POS-FINANCE |
| DS-REPORT-001 | Little Arm - Report Analyst | worker script | cron: 0 8 1 | ✅ | ✅ | POS-FINANCE, POS-SCHEDULER |
| DS-BIZ-001 | Little Arm - Business Brain | worker script | cron: 0 8 * | ✅ | ✅ | POS-FINANCE, POS-SCHEDULER |
| DS-SCCAPP-QBRIDGE-001 | Little Arm - Quality & Process Interconnection Manager | worker script | cron: 0 8 * | ✅ | ✅ | POS-FINANCE, POS-QA |
GOAI Multi-Agent Collaboration Demo (POS-GOAI) | Human Lead: Workshop Supervisor (Demo Scenario) | 3 people
| Employee ID | Name | Execution Mode | Scheduling Method | Can Collaborate | Natural Language Accessible | Assigned Position |
|---|---|---|---|---|---|---|
| DS-GOAI-SCHED | GOAI - Workshop Supervisor Assistant | worker script | Manual / Event / Formation Trigger | ✅ | ✅ | POS-GOAI |
| DS-GOAI-PROC | GOAI - Procurement Assistant | worker script | Manual / Event / Formation Trigger | ✅ | ? | POS-GOAI |
| DS-GOAI-EQUIP | GOAI - Equipment Administrator Assistant | worker script | Manual / Event / Formation Trigger | ✅ | ✅ | POS-GOAI |
Inspection-Repair Closed-Loop Demo (POS-INSPECT-LOOP) | Human Responsible: Quality Supervisor (Demo Scenario) | 3 people
| Employee ID | Name | Execution Mode | Scheduling Method | Can Collaborate | Natural Language Reachable | Assigned Position |
|---|---|---|---|---|---|---|
| DS-INSPECT-CHAIN-001 | Inspection Loop - Data Inspector | worker script | Manual / Event / Formation Trigger | ✅ | ? | POS-INSPECT-LOOP |
| DS-REPAIR-CHAIN-001 | Inspection Loop - Data Repairer | worker script | Manual / Event / Formation Trigger | ✅ | ? | POS-INSPECT-LOOP |
| DS-REINSPECT-CHAIN-001 | Re-inspection Loop - Re-inspector | worker script | Manual / Event / Formation Trigger | ✅ | ✅ | POS-INSPECT-LOOP |
IT Administrator Assistant (POS-IT) | Human Responsible: IT Administrator / System Owner | 6 people
| Employee ID | Name | Execution Mode | Scheduling Method | Can Collaborate | Natural Language Accessible | Assigned Position |
|---|---|---|---|---|---|---|
| DS-SCSAI-001 | Forearm - Data Import Operator (Retired?) | capability | Manual / Event / Formation Trigger | ✅ | ✅ | POS-IT |
| DS-SCSAI-001 | Forearm - Universal Object Creation Engineer | worker script | Manual / Event / Formation Trigger | ✅ | ✅ | POS-IT |
| DS-OPS-001 | Forearm - Data Steward | worker script | cron: 0 2 * * * | ✅ | ✅ | POS-IT |
| DS-KBPIPE-001 | Forearm - Industry Knowledge Base Pipe Operator | worker script | Manual / Event / Formation Trigger | ✅ | ✅? | POS-IT |
| DS-SCSAI-001 | Forearm - Visual Analysis Assistant (Discontinued?) | pipeline | cron: 0 /6 | ✅ | ✅ | POS-IT |
| DS-PLM-BRAIN-001 | Forearm - PLM Brain | pipeline | Manual / Event / Formation Trigger | ✅ | ✅ | POS-IT |
Marketing Assistant (POS-MARKETING) | Human Owner: Marketing Specialist / Marketing Lead | 5 people
| Employee ID | Name | Execution Mode | Scheduling Method | Collaborative | Natural Language Accessible | Assigned Position |
|---|---|---|---|---|---|---|
| DS-CONTENT-001 | Forearm - Content Generator | worker script | Manual / Event / Formation Trigger | ✅ | ✅ | POS-MARKETING |
| DS-NEWS-001 | XiaoBi - News Assistant (Discontinued?) | worker script | cron: 0 7 * * * | ✅ | ✅ | POS-MARKETING |
| DS-MKT-001 | XiaoBi - Marketing Assistant | worker script | cron: 0 18 * * 1-5 | ✅ | ✅ | POS-MARKETING |
| DS-CS-001 | XiaoBi - Customer Service Digital Employee | worker script | Manual / Event / Team Trigger | ✅ | ✅ | POS-MARKETING |
| DS-LOOP-001 | XiaoBi - Closed-Loop Engine | loop timer | cron: 0 */4 * * * | ✅ | ✅ | POS-MARKETING |
Operator Assistant (POS-OPERATOR) | Human Responsible: Operator / Team Leader | 6 persons
| Employee ID | Name | Execution Mode | Scheduling Method | Can Collaborate | Natural Language Accessible | Assigned Position |
|---|---|---|---|---|---|---|
| DS-PROCESS-OPT-001 | Forearm - Process Optimization Digital Worker | worker script | cron: 0 9 1-5 | ✅ | ✅ | POS-OPERATOR, POS-PROCESS-ENG |
| DS-SCSAI-001 | Forearm - Asset Identifier (Decommissioned?) | pipeline | Manual / Event / Fleet Trigger | ✅ | ✅ | POS-OPERATOR, POS-EQUIP |
| DS-EQUIP-001 | Forearm - Equipment Maintenance Operator | worker script | cron: 0 6 * | ✅ | ✅ | POS-OPERATOR, POS-EQUIP |
| DS-SPC-001 | Forearm - SPC Monitoring Steward | worker script | cron: 0 * | ✅ | ✅ | POS-OPERATOR, POS-QA |
| DS-SCCAPP-OPT-001 | Forearm - Process Optimization Steward | worker script | cron: 0 10 1 | ✅ | ✅ | POS-OPERATOR, POS-PROCESS-ENG |
| DS-SCCAPP-SYNC-001 | Forearm - Process Synchronization Steward | worker script | cron: 0 /4 * | ✅ | ✅ | POS-OPERATOR, POS-PROCESS-ENG |
POS-OTHER (POS-OTHER) | Human Responsible: — | 12 people
| Employee ID | Name | Execution Mode | Scheduling Method | Can Collaborate | Natural Language Accessible | Assigned Position |
|---|---|---|---|---|---|---|
| DS-SYS-001 | Little Arm - System Operations Engineer | worker script | cron: 0 */3 * * * | ✅ | ✅ | |
| DS-STAT-001 | Little Arm - Data Inspector (Decommissioned?) | pipeline | cron: 0 8 * * 1 | ✅ | ✅ | |
| DS-ECR-001 | Little Arm - Change Analyst (Decommissioned?) | pipeline | Manual / Event / Formation Trigger | ✅ | ✅ | |
| DS-COST-001 | Little Arm - Data Valuator (Decommissioned?) | pipeline | Manual / Event / Formation Trigger | ✅ | ✅ | |
| DS-DATA-001 | Little Arm - Data Clerk | worker script | cron: 0 * * * * | ✅ | ? | |
| DS-LOOP-001 | Forearm - Auto-closed-loop Session Agent (Discontinued?) | loop timer cycle | cron: 0 /2 | ✅ | ✅ | |
| DS-QCC-001 | Forearm - Quality Control Card Manager | worker script | cron: 0 /4 | ✅ | ✅ | |
| DS-FMEA-001 | Forearm - FMEA Analysis Manager | worker script | cron: 0 10 1 | ✅ | ✅ | |
| DS-STAT-001 | Forearm - Quality Statistics Manager | worker script | cron: 0 7 * | ✅ | ✅ | |
| DS-SCCAPP-DESIGN-001 | Forearm - Process Design Manager | worker script | cron: 0 9 1-5 | ✅ | ✅ | |
| DS-SCCAPP-OPT-001 | Forearm - Process Optimization Manager | worker script | cron: 0 10 1 | ✅ | ✅ | |
| DS-SCCAPP-QBRIDGE-001 | Forearm - Quality-Process Interconnection Manager | worker script | cron: 0 8 * | ✅ | ✅ |
Process Engineer Assistant (POS-PROCESS-ENG) | Human Owner: Process Engineer / Technical Supervisor | 6 persons
| Employee ID | Name | Execution Mode | Scheduling Method | Can Collaborate | Natural Language Accessible | Assigned Positions |
|---|---|---|---|---|---|---|
| DS-ECR-001 | Xiao Bi - ECR Reviewer | worker script | cron: 0 */4 * * * | ✅ | ✅ | POS-PROCESS-ENG, POS-BOSS |
| DS-DOC-001 | Xiao Bi - Document Digital Employee | worker script | cron: 0 */4 * * * | ✅ | ✅? | POS-PROCESS-ENG |
| DS-KNOWLEDGE-001 | Xiao Bi - Knowledge Base Assistant | worker script | cron: 0 3 * * * | ✅ | ✅? | POS-PROCESS-ENG |
| DS-PROC-DATA-001 | Xiao Bi - Process Data Repairer | worker script | cron: 0 3 * * * | ✅ | ✅? | POS-PROCESS-ENG |
| DS-SCCAPP-SYNC-001 | Forearm - Process Synchronization Steward | worker script | cron: 0 */4 * * * | ✅ | ✅ | POS-PROCESS-ENG |
| DS-SCCAPP-OPT-001 | Forearm - Process Optimization Steward | worker script | cron: 0 10 * * 1 | ✅ | ✅ | POS-PROCESS-ENG |
Procurement Specialist Assistant (POS-PROCURE) | Human Owner: Procurement Specialist / Procurement Manager | 6 people
| Employee ID | Name | Execution Mode | Scheduling Method | Can Collaborate | Natural Language Accessible | Assigned Position |
|---|---|---|---|---|---|---|
| DS-PROC-001 | Forearm - Procurement Assistant | worker script | Manual / Event / Formation Trigger | ✅ | ✅ | POS-PROCURE |
| DS-VEN-001 | Forearm - Supplier Steward | worker script | cron: 0 */2 * * * | ✅ | ✅ | POS-PROCURE |
| DS-LOOP-001 | Forearm - Price Monitor (Discontinued?) | loop timer | cron: 0 9 * * * | ✅ | ✅ | POS-PROCURE |
| DS-LOOP-001 | Forearm-Data Repair Agent (Discontinued?) | loop timer | cron: 0 2 * * * | ✅ | ✅ | POS-PROCURE |
| DS-PROC-CHAIN-001 | Procurement Closed Loop - Inquiry Assistant | worker script | Manual / Event / Formation Trigger | ✅ | ? | POS-PROCURE |
| DS-COST-CHAIN-001 | Procurement Closed Loop - Cost Analysis | worker script | Manual / Event / Formation Trigger | ✅ | ? | POS-PROCURE |
Procurement Closed Loop Collaborative Demo (POS-PROCURE-CHAIN) | Human Owner: Procurement Manager (Demo Scenario) | 4 people
| Agent ID | Name | Execution Mode | Scheduling Method | Can Collaborate | Natural Language Accessible | Assigned Position |
|---|---|---|---|---|---|---|
| DS-PROC-CHAIN-001 | Procurement Closed Loop - Inquiry Assistant | worker script | Manual / Event / Formation Trigger | ✅ | ? | POS-PROCURE-CHAIN |
| DS-COST-CHAIN-001 | Procurement Closed Loop - Cost Analysis | worker script | Manual / Event / Formation Trigger | ✅ | ? | POS-PROCURE-CHAIN |
| DS-VEN-CHAIN-001 | Procurement Closed Loop - Supplier Evaluation | worker script | Manual / Event / Formation Trigger | ✅ | ? | POS-PROCURE-CHAIN |
| DS-ECR-CHAIN-001 | Procurement Closed Loop - ECR Review | worker script | Manual / Event / Formation Trigger | ✅ | ✅ | POS-PROCURE-CHAIN |
Quality Administrator Assistant (POS-QA) | Human Responsible: Quality Administrator / Quality Manager | 8 people
| Employee ID | Name | Execution Mode | Scheduling Method | Can Collaborate | Natural Language Accessible | Assigned Position |
|---|---|---|---|---|---|---|
| DS-DOC-001 | Forearm-Document Validator (Decommissioned?) | pipeline | cron: 0 /6 | ✅ | ✅ | POS-QA |
| DS-CAPA-001 | Little Arm - CAPA Closed-Loop Manager | worker script | cron: 0 8 * * * | ✅ | ✅ | POS-QA |
| DS-NCR-001 | Little Arm - NCR Investigation Manager | worker script | cron: 0 9 * * * | ✅ | ✅ | POS-QA |
| DS-AUDIT-001 | Little Arm - Quality Audit Manager | worker script | cron: 0 8 1 * * | ✅ | ✅ | POS-QA, POS-IT |
| DS-SPC-001 | Little Arm - SPC Monitoring Manager | worker script | cron: 0 * * * * | ✅ | ✅ | POS-QA, POS-OPERATOR |
| DS-QCC-001 | Little Arm - Quality Control Card Manager | worker script | cron: 0 */4 * * * | ✅ | ✅ | POS-QA |
| DS-FMEA-001 | Little Arm - FMEA Analysis Manager | worker script | cron: 0 10 1 * * | ✅ | ✅ | POS-QA |
| DS-SCCAPP-QBRIDGE-001 | Forearm-Quality Process Interconnection Manager | worker script | cron: 0 8 * | ✅ | ✅ | POS-QA |
Production Scheduling Assistant (POS-SCHEDULER) | Human Owner: Production Scheduler / Workshop Supervisor | 6 people
| Employee ID | Name | Execution Mode | Scheduling Method | Can Collaborate | Natural Language Accessible | Assigned Position |
|---|---|---|---|---|---|---|
| DS-DATA-001 | Forearm-Data Clerk | worker script | cron: 0 /2 | ✅ | ✅ | POS-SCHEDULER |
| DS-REPORT-001 | Forearm-Report Analyst | worker script | cron: 0 8 1 | ✅ | ✅ | POS-SCHEDULER, POS-STOCK |
| DS-BIZ-001 | Forearm-Business Brain | worker script | cron: 0 8 * | ✅ | ✅ | POS-SCHEDULER, POS-FINANCE |
| DS-STOCK-001 | Forearm-Inventory Manager | worker script | cron: 0 /2 | ✅ | ✅ | POS-SCHEDULER, POS-STOCK |
| DS-PM-001 | Little Arm - Project Manager | worker script | cron: 0 8 * * 1 | ✅ | ✅ | POS-SCHEDULER, POS-BOSS |
| DS-GOAI-SCHED | GOAI - Workshop Director Assistant | worker script | Manual / Event / Formation Trigger | ✅ | ✅ | POS-SCHEDULER, POS-GOAI |
Inventory Manager Assistant (POS-STOCK) | Human Responsible: Warehouse Manager / Material Planner | 4 people
| Employee ID | Name | Execution Mode | Scheduling Method | Can Collaborate | Natural Language Accessible | Assigned Position |
|---|---|---|---|---|---|---|
| DS-PROC-001 | Little Arm - Supply Chain Steward (Discontinued?) | pipeline | cron: 0 */4 * * * | ✅ | ✅ | POS-STOCK, POS-PROCURE |
| DS-LOOP-001 | Little Arm - Inventory Alert Agent (Discontinued?) | loop timer | cron: 0 * * * * | ✅ | ? | POS-STOCK |
| DS-STOCK-001 | Little Arm - Inventory Steward | worker script | cron: 0 /2 | ✅ | ✅ | POS-STOCK |
| DS-VEN-001 | Little Arm - Supplier Steward | worker script | cron: 0 /2 | ✅ | ✅ | POS-STOCK, POS-PROCURE |
PLM Demo Assistant (POS-PLM) | Human Owner: Demo Operator | 1 person
| Employee ID | Name | Execution Mode | Scheduling Method | Can Collaborate | Natural Language Accessible | Assigned Position |
|---|---|---|---|---|---|---|
| DS-PLM-DEMO-001 | Little Arm - PLM Demo Assistant | worker script | Manual / Event / Formation Trigger | ✅ | ✅ | POS-PLM |
VI. Natural Language Trigger Quick Reference
- Chip Family (ChipIntelligence Series) Exclusive Direct Terms (avoiding generic verbs like "generate/create/fix" being hijacked):
- ChipIntelligence Identification, ChipIntelligence RTL Design, ChipIntelligence Code Debugging, ChipIntelligence Code Diff, ChipIntelligence PPA Analysis, ChipIntelligence Verification, ChipIntelligence Edge-Side
- Process Optimization → ChipIntelligence Process Optimization; Quality-Process Interconnection → ChipIntelligence Quality-Process Interconnection
- General Direct Terms: Directly say "Generate Report" → DS-DATA-001, "Inspection" → DS-SYS-001, "Procurement" → DS-PROC-001, "Cost" → DS-COST-001, "Knowledge Base" → DS-KNOWLEDGE-001, etc. (Refer to STAFF_KEYWORDS in server/boss-scheduler/staff-router.js).
- PLM Demo Direct Access:
- Query Impact Scope of P-1001 → Change Impact Analysis
- Check Part Data Quality → Data Quality Inspection
- Approve ECR-2026-0005 → ECR Approval Closed Loop
- Release P-1001 → Part Release
- View Recent Governance Records → Governance Record Query
- ? Orchestration Nodes (Do not call directly in natural language; triggered by schedule/pipeline/formation): DS-LOOP-001, DS-GOAI-PROC, DS-PROC-CHAIN-001, DS-COST-CHAIN-001, DS-VEN-CHAIN-001, DS-INSPECT-CHAIN-001, DS-REPAIR-CHAIN-001.
- ? Same Worker Aliases (Invoked by staffId / intent SCSAI_sync): DS-DATA-001 (≡DS-DATA-001), DS-SYS-001 (≡DS-SYS-001).
Seven. Demo Orchestration Example (Cross-Role Team Formation)
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 继续。
Eight. This Round’s Audit Fix Records (2026-08-25)
| Fix Item | Impact | Description |
|---|---|---|
| Digital staff streamlined and merged 87→70 | All staff | 5 groups merged (chip/procurement closed-loop/GOAI/inspection closed-loop/IT tools), zero functionality loss |
| PLM demo mode implemented | Added 8 demo scenarios | Change impact analysis/data quality inspection/ECR approval/Part release/governance records/production order tracking/incoming material inspection/customer complaint 8D |
| Collaboration gaps cleared | All staff | Added POS-MARKETING / POS-CHIP roles, filled members for 4 roles, supplemented human layer for 2 demo roles → isolated staff reduced from 19→0, collaborative staff 71/71 |
| Chip / Process staff natural language reachable | DS-CHIP-001~007, DS-SCCAPP-OPT-001, DS-SCCAPP-QBRIDGE-001 | Added Chip Intelligence* exclusive direct keywords (avoiding generic verbs being hijacked), probe L3 pass rate increased from 58→63 |
| Routing keyword single source of truth | staff-router | Keywords unified and centralized in local.yaml staff keywords, STAFF_KEYWORDS only serves as supplement |
| Orphan worker labels | 4 files | asset-valuator / inspect-worker / repair-worker / report-i18n are unused by any employee, labels pending cleanup |
IX. Known Boundaries and Optimization Items (Honestly listed, not defects)
- Industry consumption not yet fully implemented: Only 4 employees actually consume data by industry dimension (DS-KBPIPE-001, DS-DOC-001, DS-KNOWLEDGE-001, DS-PROC-DATA-001). Industry coordinate system (5 industries) is built, but the "batch run by industry" feature at the worker layer is still in progress (Task #5/#11).
- ? 9 orchestration/alias nodes are not invoked via natural language: By design, triggered by schedules/pipelines/formations.
- 4 orphan worker files: Unused by any employee, harmless, recommended for cleanup or labeling (see Section VIII).
- DS-SCSAI-001 object creation path: Previously went through SCSAI-creator (DEPRECATED, renamed uniformly to SCSAI); tested on 2026-08-16, it now returns via the unified creation capability to the real object creation confirmation flow (type:confirm), and visibility has been restored. Confirm the backend connectivity of "Confirm Creation" based on actual post-release clicks.
- Disk space is the number one disguised failure: when the C drive is nearly full, SQLite silently encounters disk I/O errors and the process exits without error messages, closely resembling 'completion'. Always run df -h to confirm space before a demo.
- Runtime shows 70 = YAML 70: The CMS console list (GET /api/digital-staff/list) returns 70, exactly matching the YAML definition. The database is the sole authoritative source; the YAML defines the desired state, and synchronization ensures the database is fully consistent with the YAML. Refer to the first section for details on numerical alignment.
- 17 employees have been delisted/hidden (2026-08-25): The 17 employees covered by HIDDEN_STAFF_IDS (due to capability mismatch / placeholder only / worker deprecated, see section 5.1) no longer appear in user-visible lists but remain visible and can be activated in the admin console; active visible employees are reduced to 53 (STAFF_DEFAULTS). This is an honest approach of 'delisting if the real effect cannot be achieved', not a defect.
- The database is the sole authoritative source: The YAML defines the desired state, and the synchronization process ensures the database is fully consistent with the YAML (70 people). The syncStaffToDb function has been fixed to delete employees from the database that are not defined in the YAML.
10. Troubleshooting
| Symptom | Possible Cause | Troubleshooting |
|---|---|---|
| Returns success:false + disk I/O error | C drive full | Run `df -h /` to confirm space, clean up, and rerun |
| Page numbers all 0 / module not enabled | Code contains conflict markers or require failure | Before startup, grep for `^(>>>>>> )`; check if safeRequire returns null |
| Natural language triggers wrong employee | Generic verbs are hijacked | Use the exclusive terms from Section 6 of this article (e.g., *Core Intelligence*), or pass staffId directly |
| Team formation hangs with no response | Awaiting manual sign-off | GET `/api/digital-staff/taskforce/pending` to view and resume |
| Heavy capability timeout | Real large data volume | Use asynchronous taskId polling, or display results page after preheating |
| Demo mode returns empty | Demo data not loaded | Check if `/api/plm-demo/config` has enabled: true |
11. External System Integration and Invocability (Test Results)
This round conducted real HTTP packet capture verification on all digital employee interfaces: the interfaces themselves function correctly (list/run/loops/goals/configuration CRUD all return correct data); but "whether they can be directly invoked externally" depends on the client type and which routing path is taken. The inconsistent CORS issue has been fixed. The current status is as follows.
11.1 Network Exposure
- The service server.listen(config.port) does not specify a host → binds to 0.0.0.0 / [::] on all network interfaces (not localhost-only), reachable within the LAN; public network exposure requires firewall/port forwarding/reverse proxy.
11.2 CORS (Browser Cross-Origin)
- Now unified: All /api/digital-staff/ interfaces (including new CRUD modules list / loops / goals / :id/enable / :id/rules-prompts, and old inline interfaces) in their responses include Access-Control-Allow-Origin: , and OPTIONS preflight requests return 204 + CORS headers.
- Before fix: New CRUD module responses lacked CORS headers → browser cross-origin calls to list/loops/etc. were blocked. This has been fixed by adding the headers in server/routes/digital-staff-routes.js at the _json output point.
- Conclusion: The browser-based Web CMS can now directly call all digital employee APIs across domains.
11.3 Current Authentication Status (Open Platform KEY + Dual-Track System, MVP Decision Made)
- The Open Platform KEY mechanism has been implemented (server/routes/open-platform.js), covering two types of external routes: /api/goai-demo/ (collaboration loop) and /api/agents/ (Agent Card integration). The mechanism includes:
- POST /api/open/keys to apply for a Key (returns ba_xxx_xxx_xxx format), GET /api/open/spec returns OpenAPI 3.0 specification, GET /api/open/usage queries call statistics.
- Authentication supports X-API-Key: or Authorization: Bearer ; implements rate limiting per Key (free=30, pro=120, enterprise=600 calls/minute) and call auditing (writes to api_usage table).
- Two seed Keys (demo / goai-review, default free / pro tiers) are injected on startup.
- Invalid / expired Key → 401 rejection (tested: X-API-Key: ba_invalid → 401), valid Key → pass through and audit.
- ? Dual-track system (by design, not a defect; decision made on 2026-08-12): The logic in server.js:4126 is "Keys with ba_ prefix → go through open platform authentication + rate limiting + auditing; Keys without prefix → maintain original internal logic unchanged." Two clear tracks:
- External API calls (with ba_ Key) → Authentication + Rate limiting + Billing (audit logging).
- Internal frontend calls (no Key) → Original logic unchanged, no frontend modifications required.
- The current MVP adopts this dual-track approach; if unified control is needed in the future, simply add one line in src/utils/api.js: headers['X-API-Key'] = localStorage.getItem('bossagents_api_key'), no frontend refactoring required.
- **71 original digital staff interfaces /api/digital-staff/* are not connected to the open platform gateway: This is an intentional internal component, facing the intranet / 127.0.0.1; public exposure must go through nginx reverse proxy convergence (see 11.5 / 12.2).
- Two sets of Keys are not interchangeable: The open platform Key (DB table api_keys) and the JWT in server/middleware/auth.js are two independent systems; the latter is not mounted to any routes.
11.4 Direct Call Capability Matrix for Each Client (Dual-Track System)
| Caller | Open Platform Route (goai-demo/agents) | Original Digital Staff Route (digital-staff) |
|---|---|---|
| External API Call (with ba_ Key) | ✅ Auth + Rate Limit + Audit | (Not exposed in production; accessed via reverse proxy, see 12.2) |
| Internal Frontend / Web CMS (No Key) | ✅ Dual-track allowed, original logic unchanged, zero frontend modification | ✅ Direct call via intranet / 127.0.0.1 (by design) |
11.5 Recommended Integration Approach
- External enterprise integration should use the open platform main pipeline**: Apply for a Key → Call /api/goai-demo/* with X-API-Key for collaborative closed-loop (internal auto-orchestration of 71 digital staff). This is the only entry point that should be exposed externally.
- Prefer backend relay: The CMS backend holds the Key to call bossagents (avoiding browser CORS / auth complexity), the frontend only communicates with its own backend.
- Mini-program / Public network: nginx terminates TLS (443) → reverse proxy to https://ylxt.chat, whitelist the domain in the MP backend; use the open platform Key, do not expose the original digital-staff port.
11.6 Open Platform Access Guide (Tested and Functional)
1) Apply for a 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 Real Orchestration Verification (Locally Tested)
- POST /api/goai-demo/collaboration/goai with a valid demo Key → HTTP 200, takes 22.9s, returns a trace_id and actually orchestrates digital employees (e.g., DS-GOAI-SCHED task decomposition, procurement/maintenance reminders), proving the open platform Key → goai-demo collaboration → 71 digital employee chain is connected.
- GET /api/goai-demo/positions with a valid/invalid Key → 200 / 401 (correctly distinguished). Returns 3 collaboration demo positions: goai (POS-GOAI, agents=3), procure (POS-PROCURE-CHAIN, agents=4), inspect (POS-INSPECT-LOOP, agents=3).
- POST /api/open/keys → 201, writes to the api_keys table; GET /api/open/usage requires a Key (no Key → 401).
11.8 End-to-End Testing (E2E, 2026-08-12, 7/7 all passed)
| # | Test Item | Expected | Actual | Remarks |
|---|---|---|---|---|
| 1 | OpenAPI Specification | 3.0 / v1.0.0 | ✅ | GET /api/open/spec returns OpenAPI 3.0.3 |
| 2 | Apply for API Key | Returns ba_* | ✅ | POST /api/open/keys → ba_xxxx_xxxx_xxxx |
| 3 | Valid Key Access | 200 + 3 Positions | ✅ | GET /api/goai-demo/positions with Key → 3 demo positions |
| 4 | Invalid Key Rejection | 401 | ✅ | X-API-Key: ba_invalid → 401 |
| 5 | Internal Access without Key | 200 (frontend unaffected) | ✅ | Dual-track: No Key maintains original logic |
| 6 | Call Statistics | Recorded | ✅ | GET /api/open/usage returns call records for each endpoint |
| 7 | Document Page | 200 | ✅ | GET /api/open/docs → 200, approx. 13 KB (api-docs.html) |
All 7 items above have been independently re-verified and passed; Item 5 confirms that the internal frontend requires no modification under the dual-track system and has been implemented.
12. Open Platform Security Boundary (Decided + Deployment Recommendations)
12.1 goai-demo/agents Dual-Track → Is Key Mandatory?
- Decision (2026-08-12): MVP adopts dual-track, Key not mandatory. Reason: Internal frontend maintains original logic with direct calls without Key, requiring zero modification; external calls with Key enable automatic authentication + rate limiting + auditing.
- Current Status: server.js:4126 — Only requests carrying a ba_-prefixed Key go through openPlatform.middleware validation; requests without a Key are directly passed (200). This is precisely the implementation point of the dual-track system, not a defect.
- Optional Future Enhancement: To implement unified control, delete the else pass-through branch to enforce 401 for all requests without a valid Key, and inject X-API-Key in src/utils/api.js. The required changes are minimal.
12.2 Should the original digital staff interface /api/digital-staff/* be integrated into the gateway?
- Current status: 70 underlying interfaces (list/run/config/loops...) have no Key authentication at all. Testing shows that directly calling 'run' without a Key can still execute the digital staff. This is an intentional internal component (intranet / 127.0.0.1). The database is fully consistent with the YAML, with no residual data.
- Deployment recommendation (preferred, zero code changes): In production, only expose the open platform entry points (nginx reverse proxy for /api/goai-demo, /api/agents, /api/open). Do not forward /api/digital-staff; the original interfaces should only allow 127.0.0.1 / intranet access.
- Enhanced control supplement (optional): If code-level control is needed, add openPlatform.middleware (or softAuth) requiring a Key at the digital staff dispatch entry in server.js, and configure Keys for the internal CMS or add an intranet IP whitelist.
12.3 Explanation of the Two Authentication Systems
- The Open Platform Key (api_keys table, prefix ba_) and the JWT in server/middleware/auth.js are independent. The current JWT middleware is not mounted to any routes.
13. Product Positioning and Current Status Self-Assessment (2026-08-25)
Positioning Principles (from Product Decisions)
- Industrial AI agents are not a joke; prioritize quality over quantity: Only retain/refine employees that can deliver tangible results, never keep useless ones for show, to avoid the embarrassment and frustration of "having a bunch of junk that only causes trouble."
- General capabilities (content/documentation/marketing/customer service) must surpass and be more distinctive than specialized tools for these tasks, and be offered for free, serving as a channel for customer acquisition and differentiation.
- Taking down means soft-hiding, not deletion: Invisible on the user side, visible and activatable on the admin side; restored when conditions are met. The WEB and mini-program clients share the same backend single source of truth, with only two UI renderings (see Section F for Digital Employee Experience Alignment).
Self-Assessment Conclusion for 53 Active Employees (This round of "Re-check Carefully")
- Hard metrics: All 53 active employees (STAFF_DEFAULTS) point to real, existing worker files that are exported and run, with no critical issues like "missing worker / not exported" (verified via script checking each worker file's existence and module.exports).
- The database is the single source of truth, fully consistent with the YAML (70 people), with no remnants.
- Sampling verification of real assignability (non-shell):
- GOAI series + Inspection Loop (7 in total) share goai-agent-worker, making real calls to callLLM + each employee's dedicated systemPrompt to produce structured JSON, non-shell.
- Content content.js, documentation doc-worker.js, marketing mkt-worker.js, and customer service customer-service-worker.js all connect to the real content center / document engine / LLM for generation, not shells; doc-worker.js:108 explicitly states 'return clear error when doc-engine is unavailable, not placeholder data' (honesty first).
- DS-SCSAI-001 (Restored 2026-08-16): Actual test returns real object creation confirmation flow, name matches reality, not a shell.
- PLM Demo Mode: All 8 scenarios use preset data, no LLM calls, responsive.
- Conclusion: The current active set contains none of those 19 'misnamed / pure placeholder' junk items of the same type.
Current Status of Four General Capability Directions
| Direction | Employee | Current Status | Action |
|---|---|---|---|
| Content | DS-CONTENT-001 Content Generator | ✅ Connects to content center + LLM, real generation (refine/publish) | Refine, offer for free |
| Documentation | DS-DOC-001 Document Digital Employee | ✅ Connects to doc-engine, honest error reporting, no placeholders | Refine, offer for free |
| Marketing | DS-MKT-001 Marketing Assistant | ✅ Connects to marketing engine / LLM for lead generation | Refine, offer for free |
| News | DS-NEWS-001 News Assistant | ⚠️ Honest Shell: Returns "Not Configured" truthfully when no news source is connected; no real output (news-worker.js:25) | Refine by connecting NEWS_API_KEY, or temporarily remove |
| Customer Service | DS-CS-001 Digital Customer Service Agent | ✅ Live: LLM-driven dialogue, identifies intent/collects leads and automatically writes to leads.json (server/data/leads.json), guides trial/purchase; same agent shared via /api/digital-staff/run for web and mini-program | Refine and offer for free (Added 2026-08-15) |
| PLM | DS-PLM-DEMO-001 PLM Demo Assistant | ✅ Live: 8 demo scenarios, preset data, responds to
To-do Suggestions
- DS-NEWS-001: Refine and offer for free after connecting real news sources (RSS / NewsAPI, configure NEWS_API_KEY); if not connecting sources temporarily, suggest soft-hiding it along with the other 19 to avoid the perception of "useless placeholder".
- Digital Customer Service Agent DS-CS-001: Went live on 2026-08-15 (see table above). LLM dialogue + automatic lead capture + guides trial/purchase, same agent reused for web/mini-program. The foundational implementation for the differentiated free offering is in place.
- PLM Demo Mode DS-PLM-DEMO-001: Went live on 2026-08-25. 8 scenarios cover change impact analysis, data quality inspection, ECR approval loop closure, Part release, governance record query, production order tracking, incoming inspection query, and customer complaint 8D report. Preset data, no LLM calls, responds
- Continuity Principle: New/retained employees must satisfy "real assignment, name matches reality, verifiable results"; otherwise, they will be delisted.
14. Runtime Verification and Fix Records (2026-08-27)
14.1 70/70 employees executed successfully with no parameters
Verification method: For each employee, call GET /api/digital-staff/run?staffId=XXX (zero parameters) and check that the returned result.success === true.
Result: 70/70 all succeeded, producing real business data (SCSAI PLM / SQLite), with no simulation/hardcoding.
14.2 Worker Alias Mapping Fix
Issue: Worker names in YAML use the xxx-worker suffix (e.g., quality-agent-worker), but the WORKERS mapping table in lite-scheduler.js uses xxx (e.g., quality-agent), causing 25 workers to be unfound and returning "unknown worker" errors.
Fix: Added 25 alias entries in server/boss-scheduler/lite-scheduler.js:114-138: doc-worker, mall-worker, product-worker, quality-agent-worker, process-agent-worker, qcc-worker, capa-worker, ncr-worker, fmea-worker, audit-worker, spc-worker, stat-worker, sccapp-design-worker, sccapp-optimize-worker, sccapp-sync-worker, sccapp-quality-bridge-worker, kb-pipeline-worker, customer-service-worker, data-ops-worker, kitter-worker, lineleader-worker, operator-worker, prod-stat-worker, prod-tracker-worker, workreport-worker.
14.3 Default Parameter Fixes (4 Workers)
Principle: Digital workers must run with preset parameters, without requiring users to specify them individually. They should produce real results even when run without parameters.
| Worker | Issue | Fix File | Fix Content | Output After Fix |
*---|8---|---|---|---|
| DS-COST-001 | Stuck in human-in-the-loop confirmation step | cost-optimizer.js:346 + local.yaml:439 | Added autoConfirm: true; worker checks this parameter to skip confirmation | 500 parts / 35 assemblies / 8 BOM analyses completed |
| DS-CHIP-001 | Missing design specification input (≥10 characters) | chip-worker.js:105 | Added default RISC-V RV32I specification description | Identified RV32I / 5-stage pipeline / 32 registers |
| DS-CS-001 | Missing user message input | customer-service-worker.js:99 | Added default welcome inquiry message | Returns product introduction + solution recommendation |
| DS-PROC-DATA-001 | Empty process_specs table leads to success=false | process-worker.js:451 | Changed to success: !reportWriteError, success is defined as having SCCAPP data | 26163 Process Documents / 163441 Process Steps / Report Generated |
14.4 Maturity Assessment
| Level | Name | Count | Percentage | Representative Employees |
|---|---|---|---|---|
| L2 | Rule-Driven | 27 | 39% | DS-STOCK-001, DS-IQC-001, DS-BOM-001, DS-ECR-001 |
| L3 | LLM-Enhanced | 41 | 59% | DS-SCSAI-001, DS-QUALITY-001, DS-CHIP-001, DS-CS-001 |
| L4 | Autonomous Closed Loop | 2 | 3% | DS-LOOP-001 (Closed-Loop Engine), DS-SYS-001 (Target Verification) |
14.5 Intent Matching Verification
POST /api/staff/match (All 5 business intents correctly matched):
| Input Text | Matched Staff | Match Score | Keyword Length Weighting |
|---|---|---|---|
| Incoming Inspection | DS-IQC-001 (Incoming Inspection Clerk) | 60 | "来料"(2 chars)=20 + "来料检验"(4 chars)=40 |
| Purchase 50 servo motors | DS-PROC-001 (Procurement Assistant) | 20 | "采购"(2 chars)=20 |
| Check BOM data quality | DS-BOM-001 (BOM Manager) | 60 | "BOM"(3 chars)=30 + "检查"(2 chars)=20 + fuzzy=10 |
| Inventory Query | DS-STOCK-001 (Inventory Steward) | 65 | "库存"(2 chars)=20 + "库存查询"(4 chars)=40 + fuzzy=5 |
| Production Reporting | DS-WORKREPORT-001 (Production Reporter) | 65 | "生产报工"(4 chars)=40 + "报工"(2 chars)=20 + fuzzy=5 |
BossAgents