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 增加了新手引导说明
已完成工作清单¶
- ✅ 确定品牌 B2P - Prism 与赛道 Track D
- ✅ 设计并部署 5 个 Agent(PM + 4 专业角色)
- ✅ 统一
prism-命名规范 - ✅ 锁定前端技术栈,清理 LangGraph 表述
- ✅ 修复
bindings缺失、agentDir异常、模型格式错误 - ✅ 迁移 bot 到新 Mattermost 服务器
- ✅ 创建 Standup 群组并配置描述
- ✅ 修复 bot 死循环,落地
groupAllowFrom方案 - ✅ 清理本地旧
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 的运行底座