FIS Architecture 3.2 Pro
Multi-agent workflow framework for CyberMao (Main) → Worker coordination using JSON tickets and Discord Forum threads.
When to Use This Skill
Use FIS when:
- - CyberMao (Main) needs to delegate complex tasks to specialized Workers
- A task requires domain expertise (coding, research, writing)
- You need to track task status across multiple sessions
- Multi-step workflows require coordination between agents
Agent Roles:
| Role | Agent ID | Expertise |
|---|
| Architect | INLINECODE0 | Coordination, task routing, user communication |
| Coding |
engineer | Python, gprMax, algorithms, data analysis |
|
Research |
researcher | Theory, literature, simulation planning |
|
Writing |
writer | Documentation, LaTeX, visualization |
Discord Bot Permissions (REQUIRED)
Each agent's Discord bot must have these permissions configured in the Discord server. Without them, Thread creation and messaging will fail silently.
Required Bot Permissions:
- - Send Messages — reply in channels and threads
- Send Messages in Threads — post inside Forum threads
- Create Public Threads — create new Forum posts programmatically
- Read Message History — read thread context
- Embed Links — send rich embeds in reports
- Attach Files — upload deliverables
How to configure:
- 1. Go to Discord Server Settings → Roles
- For each bot role (CyberMao, Researcher, Engineer, Writer), enable the permissions above
- Ensure each Forum channel grants these permissions to the relevant bot roles
Verify with:
{ "action": "threadCreate", "channelId": "<forum_channel_id>", "name": "Permission Test" }
If the bot lacks permissions, the
discord tool will return an error.
Tool Configuration
| Tool | Purpose | Path |
|---|
| INLINECODE5 | Ticket lifecycle (create/status/complete/list) | INLINECODE6 |
| INLINECODE7 |
Generate delegation templates (CyberMao only) |
scripts/fis_coordinator.py |
|
fis_worker_toolkit.py | Spawn sub-agents, generate reports (Workers only) |
scripts/fis_worker_toolkit.py |
Python Environment: Requires Python 3.8+ with standard library only (no external dependencies).
Core Workflow
Step 1: CyberMao Delegates Task
CODEBLOCK1
Output:
- - Ticket ID: INLINECODE11
- Thread template content
- INLINECODE12 command to notify Worker
Step 2: CyberMao Creates Forum Thread
Use the discord tool to create a Thread in the appropriate Forum channel:
CODEBLOCK2
The response returns the new Thread ID. Then notify the Worker with the Thread ID:
CODEBLOCK3
Execute the generated sessions_send command to notify the Worker.
Step 3: Worker Executes Task
CODEBLOCK4
Worker replies in the Forum Thread using the discord tool:
CODEBLOCK5
Step 4: Worker Reports Completion
CODEBLOCK6
Execute the generated sessions_send command to notify CyberMao.
Step 5: CyberMao Finalizes
CODEBLOCK7
Archive the Thread and report to User in #daily-chat.
Architecture
CODEBLOCK8
Key Principles:
- 1. A2A via sessions_send — Main calls Workers, Workers report back
- Ticket tracking — All tasks have JSON tickets in INLINECODE17
- Programmatic Thread creation — CyberMao creates Forum Threads via
discord tool's threadCreate action - SubAgent background mode —
sessions_spawn with mode="run", no new Thread
Commands Reference
fislifecyclepro.py
CODEBLOCK9
fis_coordinator.py (CyberMao only)
CODEBLOCK10
fisworkertoolkit.py (Workers only)
CODEBLOCK11
Channel Mapping
| Category | Forum Channel | Worker | Tool Flag |
|---|
| RESEARCH | 🔬-theory-derivation | @Researcher | INLINECODE22 |
| RESEARCH |
📊-gpr-simulation | @Researcher |
--forum simulation |
| DEVELOPMENT | 💻-coding | @Engineer |
--forum coding |
| WRITING | 📝-drafts | @Writer |
--forum drafts |
Error Handling
If ticket creation fails:
- - Check Python version:
python3 --version (need 3.8+) - Verify
fis-hub/ directory exists and is writable - Check disk space
If Thread creation fails:
- - Verify the bot has Create Public Threads permission in the target Forum channel
- Check that
channelId points to a Forum channel (not a regular text channel) - Confirm the bot is a member of the server with correct roles
If A2A fails:
- - Verify
openclaw.json has INLINECODE30 - Confirm Worker agent ID is in
allow list - Check Worker session is active
If sub-agent spawn fails:
- - Ensure
mode="run" is used (not mode="session") - Verify task description is clear and specific
Quality Standards
- 1. One Task = One Ticket — Never reuse ticket IDs
- Status Updates Required — Workers must update status (TODO → DOING → DONE)
- Thread Per Task — Each task gets its own Forum Thread (created via
threadCreate) - A2A Confirmation — Always confirm receipt via sessions_send
- Archive After Complete — Archive Thread after task completion
Configuration
Required in ~/.openclaw/openclaw.json:
CODEBLOCK12
Testing
Quick A2A Test
CODEBLOCK13
Thread Creation Test
CODEBLOCK14
Full Workflow Test
CODEBLOCK15
FIS 3.2 Pro | Multi-Agent Workflow Framework
FIS 架构 3.2 Pro
用于 CyberMao (主控) → 工作节点 协调的多智能体工作流框架,采用 JSON 工单和 Discord 论坛线程。
何时使用此技能
在以下情况下使用 FIS:
- - CyberMao(主控)需要将复杂任务委派给专业工作节点
- 任务需要领域专业知识(编码、研究、写作)
- 需要在多个会话间跟踪任务状态
- 多步骤工作流需要智能体间协调
智能体角色:
| 角色 | 智能体 ID | 专长领域 |
|---|
| 架构师 | main | 协调、任务路由、用户沟通 |
| 编码 |
engineer | Python、gprMax、算法、数据分析 |
|
研究 | researcher | 理论、文献、仿真规划 |
|
写作 | writer | 文档、LaTeX、可视化 |
Discord 机器人权限(必需)
每个智能体的 Discord 机器人必须在 Discord 服务器中配置以下权限。缺少这些权限,线程创建和消息发送将静默失败。
必需的机器人权限:
- - 发送消息 — 在频道和线程中回复
- 在线程中发送消息 — 在论坛线程内发布
- 创建公开线程 — 以编程方式创建新的论坛帖子
- 读取消息历史 — 读取线程上下文
- 嵌入链接 — 在报告中发送富媒体嵌入
- 附加文件 — 上传交付物
配置方法:
- 1. 进入 Discord 服务器设置 → 角色
- 为每个机器人角色(CyberMao、Researcher、Engineer、Writer)启用上述权限
- 确保每个论坛频道授予相关机器人角色这些权限
验证方式:
json
{ action: threadCreate, channelId: <论坛频道ID>, name: 权限测试 }
如果机器人缺少权限,discord 工具将返回错误。
工具配置
| 工具 | 用途 | 路径 |
|---|
| fislifecyclepro.py | 工单生命周期(创建/状态/完成/列表) | scripts/fislifecyclepro.py |
| fiscoordinator.py |
生成委派模板(仅 CyberMao) | scripts/fiscoordinator.py |
| fis
workertoolkit.py | 生成子智能体、生成报告(仅工作节点) | scripts/fis
workertoolkit.py |
Python 环境: 需要 Python 3.8+,仅使用标准库(无外部依赖)。
核心工作流
步骤 1:CyberMao 委派任务
bash
生成工单 + 线程模板 + A2A 命令
python3 scripts/fis_coordinator.py delegate \
--agent engineer \
--task 实现 GPR 信号滤波器 \
--forum coding
输出:
- - 工单 ID:TASKYYYYMMDDXXXAGENT
- 线程模板内容
- 用于通知工作节点的 sessionssend 命令
步骤 2:CyberMao 创建论坛线程
使用 discord 工具在相应的论坛频道中创建线程:
json
{
action: threadCreate,
channelId: <论坛频道ID>,
name: TASK_xxx: 实现 GPR 信号滤波器
}
响应返回新的线程 ID。然后使用线程 ID 通知工作节点:
bash
python3 scripts/fis_coordinator.py notify \
--ticket-id TASK_xxx \
--thread-id <新线程ID>
执行生成的 sessions_send 命令以通知工作节点。
步骤 3:工作节点执行任务
bash
检查工单
python3 scripts/fis
lifecyclepro.py list
更新状态
python3 scripts/fis
lifecyclepro.py status \
--ticket-id TASK_xxx --status doing
可选:为复杂子任务生成子智能体
python3 scripts/fis
workertoolkit.py spawn \
--parent-ticket TASK_xxx \
--subtask 分析算法复杂度
工作节点使用 discord 工具在论坛线程中回复:
json
{
action: threadReply,
channelId: <线程ID>,
content: 任务已接收。开始执行。
}
步骤 4:工作节点报告完成
bash
生成完成报告
python3 scripts/fis
workertoolkit.py report \
--parent-ticket TASK_xxx \
--summary 成功实现 GPR 滤波器 \
--deliverables filter.py test_results.json
执行生成的 sessions_send 命令以通知 CyberMao。
步骤 5:CyberMao 最终确认
bash
查看报告
python3 scripts/fis
coordinator.py report --ticket-id TASKxxx
标记完成
python3 scripts/fis
lifecyclepro.py complete --ticket-id TASK_xxx
归档线程并在 #daily-chat 中向用户报告。
架构
用户/Linn
↓
CyberMao(主控)- 架构师、协调者
↓ sessions_send + discord threadCreate
工作节点(工程师/研究员/写手)- 领域专家
↓ (可选)sessions_spawn mode=run
子智能体(临时、后台)- 复杂子任务
关键原则:
- 1. 通过 sessionssend 的 A2A — 主控调用工作节点,工作节点回传报告
- 工单跟踪 — 所有任务在 fis-hub/ 中有 JSON 工单
- 程序化线程创建 — CyberMao 通过 discord 工具的 threadCreate 操作创建论坛线程
- 子智能体后台模式 — sessionsspawn 使用 mode=run,不创建新线程
命令参考
fislifecyclepro.py
bash
创建工单
python3 scripts/fis
lifecyclepro.py create \
--agent engineer --task 描述 --channel-type coding
更新状态(todo/doing/done)
python3 scripts/fis
lifecyclepro.py status \
--ticket-id TASK_xxx --status doing --note 进度更新
标记完成
python3 scripts/fis
lifecyclepro.py complete --ticket-id TASK_xxx
列出活跃工单
python3 scripts/fis
lifecyclepro.py list
归档旧工单
python3 scripts/fis
lifecyclepro.py archive
fis_coordinator.py(仅 CyberMao)
bash
委派并生成模板
python3 scripts/fis_coordinator.py delegate \
--agent researcher --task GPR 理论分析 --forum theory
线程创建后通知工作节点
python3 scripts/fis_coordinator.py notify \
--ticket-id TASK_xxx --thread-id
查看详细报告
python3 scripts/fiscoordinator.py report --ticket-id TASKxxx
fisworkertoolkit.py(仅工作节点)
bash
生成子智能体(后台,无线程)
python3 scripts/fisworkertoolkit.py spawn \
--parent-ticket TASK_xxx --subtask 复杂子任务描述
生成完成报告
python3 scripts/fisworkertoolkit.py report \
--parent-ticket TASK_xxx \
--summary 完成摘要 \
--deliverables file1.py file2.json
频道映射
| 类别 | 论坛频道 | 工作节点 | 工具标志 |
|---|
| 研究 | 🔬-理论推导 | @Researcher | --forum theory |
| 研究 |
📊-GPR仿真 | @Researcher | --forum simulation |
| 开发 | 💻-编码 | @Engineer | --forum coding |
| 写作 | 📝-草稿 | @Writer | --forum drafts |
错误处理
如果工单创建失败:
- - 检查 Python 版本:python3 --version(需要 3.8+)
- 确认 fis-hub/ 目录存在且可写
- 检查磁盘空间
如果线程创建失败:
- - 确认机器人在目标论坛频道拥有创建公开线程权限
- 检查 channelId 指向的是论坛频道(而非普通文本频道)
- 确认机器人是服务器成员且拥有正确角色
如果 A2A 失败:
- - 确认 openclaw.json 中 agentToAgent