跳转至

Prism Hackathon

公司内部 Hackathon 项目 — 用 OpenClaw 多 Agent 协作体系打造 AI 驱动的数据分析平台。

项目定位

B2P - Prism(棱镜),将原始数据折射出多维洞察。核心方向是把传统人工报表/数据分析流程,升级为 AI 对话式分析体验。

赛道归属:Track D(Modernization) - 传统报表 = legacy workflow - Prism = AI conversational analytics 实现现代化升级

项目周期:两周(非两天,Dad 多次修正)

队名诞生过程

时间 事件 决策者
03-13 14:24 提出 Hackathon 参赛,初始方向:开发 + 项目管理 Dad
14:26 否定 B2P-Dev / B2P-PM,要求"高大上一点" Dad
14:32 新增第三方向:Talk to Data Dad
15:21 否定 Oracle(太通用),要求更独特 Dad
15:25 拍板 B2P - Prism,中文意象"棱镜" Dad
15:31 质疑赛道 A 归属,修正为 Track D Dad
15:33 给出包装思路:以前人工做报表,现在用 AI Dad

命名原则(可复用): - 避免功能型直白命名(如 Dev / PM) - 避免过于泛化的词(如 Oracle) - 优先选择有视觉隐喻、可讲故事的词 - 名称能自然映射产品价值

OpenClaw 团队架构

Prism 采用 多 Agent 专业分工 模式,由 5 个 bot 组成完整协作团队:

Agent 角色 技术栈/职责
prism-pm 项目经理/协调中枢 统筹两周计划、协调其它 Agent
prism-arch 架构师 系统架构设计、Azure OpenAI 对接
prism-data 数据工程师 DuckDB 建模、SQL 实现
prism-ui 前端开发 React + Vite + shadcn/ui + ECharts
prism-docs 文档/展示 Best Practice Guide、PPT、冲奖材料

关键设计原则: - 所有 bot 统一 prism- 前缀 - 每位参与者通过自己的 bot 独立 DM 交互 - 主 Agent 先初始化,再生成常驻 Agent

关键时刻

1. 前端技术栈锁定(03-13)

Dad 明确指定前端 Agent 技术栈为 React + Vite + shadcn/ui,图表使用 ECharts。原有的 LangGraph 相关表述被全部清理(共 17 处),改为"用代码实现 agent"。

2. Bot 死循环事故与修复(03-13 ~ 03-15)

事故:群聊中 bot 互相 @ 导致死循环,Dad 紧急要求停止 gateway。

错误方案:使用不存在的 ignoreBots 配置项,无效。

正确方案:查阅源码后确认应使用 groupAllowFrom,只允许人类用户触发非 PM bot。

双层防护: 1. SOUL.md 行为约束:"谨慎 @ bot,除非人类要求" 2. groupAllowFrom 从消息入口层阻断 bot-to-bot 触发

3. 多 Agent 路由不工作(03-13)

问题:远程 OpenClaw 无法正确理解多个 agent。

排查:对比本地与远程配置后发现关键差异 — 远程缺少 bindings 配置。

修复:补齐 bindings 后多 Agent 路由恢复正常。

4. 模型配置格式纠正(03-13)

model 字段应为字符串(如 "github-copilot/claude-opus-4.6"),bot 误改为对象格式 {"primary": "..."} 导致 fallback 到默认模型。Dad 纠正后恢复。

部署与配置

服务器信息

用途 地址
OpenClaw 服务器 eagle-sg.southeastasia.cloudapp.azure.com(SSH 端口 18822)
Mattermost 服务器 mattermost-server.chinanorth3.cloudapp.chinacloudapi.cn

关键配置要点

  • 每个 Agent 使用独立 workspace(不使用继承式工作区)
  • agentDir 不应写成嵌套异常路径
  • 修改 SOUL.md / USER.md 等 workspace 文件不需要重启
  • 修改 openclaw.json 等配置文件需要重启 gateway

模型策略

支持 provider/model 级别动态切换,已使用过的模型包括: - github-copilot/gpt-5.4 - github-copilot/claude-opus-4.6 - github-copilot/gemini-3.1-pro-preview - my-azure/gpt-5.4

不同 Agent 可按任务类型选择最适合的模型。

Mattermost 协作设计

  • 5 个 prism- bot 账号,全部接入 Mattermost
  • 创建 Standup 通知群组,用于 Hackathon 活动通知
  • 群聊中可 @ bot,但严格限制 bot-to-bot 触发
  • DM 采用 pairing 策略,需 openclaw pairing approve 完成授权
  • 非 PM Agent 的 USER.md 增加了新手引导说明

已完成工作清单

  1. ✅ 确定品牌 B2P - Prism 与赛道 Track D
  2. ✅ 设计并部署 5 个 Agent(PM + 4 专业角色)
  3. ✅ 统一 prism- 命名规范
  4. ✅ 锁定前端技术栈,清理 LangGraph 表述
  5. ✅ 修复 bindings 缺失、agentDir 异常、模型格式错误
  6. ✅ 迁移 bot 到新 Mattermost 服务器
  7. ✅ 创建 Standup 群组并配置描述
  8. ✅ 修复 bot 死循环,落地 groupAllowFrom 方案
  9. ✅ 清理本地旧 prism-* bot/用户/群组

运行时特征

  • 交互模式为 session-based,通过 /new / /reset 控制会话
  • 支持 /model <provider/model> 动态切换底层模型
  • 存在上下文窗口管理(如 14k/128k)、缓存层、队列调度
  • 工作区路径:/home/restry/.openclaw/workspace
  • Agent 运行时信息可通过 /status 查看

常用命令

# 会话控制
/new          # 新建会话
/reset        # 重置当前会话
/status       # 查看运行时状态

# 模型控制
/model <provider/model>   # 切换模型
/models                   # 列出可用模型

# 配对审批
openclaw pairing approve mattermost <PAIRING_CODE>

相关项目

  • ClawCraft:同为 OpenClaw 生态项目,共享 Vite + React 技术栈
  • Clawline:通用频道体系
  • OpenClaw:Prism 的运行底座