Source snapshot: 97d7f0fae96dc04b7ddad56fc1db6a108ed662cc [SEC-CLEAN] · pre-push-clean v1.0 · 109处敏感信息已自动转乱码
5.2 KiB
5.2 KiB
🤖 Robot v0.1.1 补丁 · 自动广播分发 · 妈妈跟着做就行
📊 当前进度(2026-03-03 21:30 更新)
✅ 今天已完成
- ✅ 安装新依赖:
pdfkit+node-notifier - ✅ 创建
lib/broadcast.js— 自动轮询Notion广播数据库 - ✅ 创建
lib/pdf.js— 生成txt文件到桌面(PDF因macOS字体问题暂用txt替代) - ✅ 创建
lib/auto-deliver.js— 每3分钟自动检查+分发调度 - ✅ 配置
notion_token字段写入config/robot.json - ✅ 广播数据库ID
8f56027dd7d04d039e905bcb58d2ee1d写入broadcast.js - ✅ 排序bug修复:
created_time替代现实保存时间 - ✅ 接入启动脚本
冰朔主控Robot.command(双击Robot时自动启动广播分发) - ✅ 实测通过:成功拉取4条广播,txt文件生成到桌面
HoloLake-广播文件夹
❌ 未完成(下次继续)
- ❌ Electron桌面UI(妈妈明确要求:必须有窗口界面,光txt不行)
- ❌ PDF中文字体支持(macOS的.ttc格式pdfkit不支持,需换方案)
- ❌ 广播标题显示「无标题广播」问题(数据库标题字段映射待调试)
- ❌ 同名文件覆盖问题(多条广播生成同名txt)
- ❌ 打包给其他开发者
🎯 下次开工计划:Electron桌面App
目标:双击打开一个桌面窗口,里面能看到广播列表、点击查看内容、一键复制给模型
| 步骤 | 内容 | 预估时间 |
|---|---|---|
| BC-001 | 安装Electron + 创建空白窗口 | 15分钟 |
| BC-002 | 上半部分显示广播列表,下半部分显示内容 | 20分钟 |
| BC-003 | 接入v0.1.1的广播拉取功能,实时刷新 | 20分钟 |
| 打包 | 打包成.app(Mac)和.exe(Windows) | 15分钟 |
操作方式:跟今天一样,妈妈复制粘贴终端命令就行
🔧 技术备忘(给曜冥自己看的)
妈妈的Mac环境
- 机器:Mac mini
- 用户名:bingshuolingdianyuanhe
- Robot路径:
~/hololake-robot-v0.1 - 启动方式:双击桌面
冰朔主控Robot.command - 启动命令:先
node bin/hololake.js run &(后台),再启动广播分发
v0.1现有代码结构
hololake-robot-v0.1/
├── bin/hololake.js ← CLI入口(run/bind/status/sync/export/team命令)
├── lib/bind.js ← 绑定逻辑
├── lib/sync.js ← Notion同步+心跳
├── lib/ui.js ← 终端UI美化
├── lib/hbp.js ← HBP协议
├── lib/export.js ← SYSLOG导出
├── lib/team.js ← 团队状态
├── lib/broadcast.js ← v0.1.1新增:广播拉取
├── lib/pdf.js ← v0.1.1新增:文件生成(当前为txt)
├── lib/auto-deliver.js ← v0.1.1新增:自动分发调度
├── config/robot.json ← 配置(含notion.apiKey + notion_token)
└── config/processed_broadcasts.json ← 已处理广播ID列表
config/robot.json 关键字段
{
"developer": { "id": "DEV-MASTER", "name": "冰朔", "role": "master" },
"notion": {
"apiKey": "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",
"databaseId": "8f56027dd7d04d039e905bcb58d2ee1d",
"syncInterval": 300
},
"notion_token": "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"
}
广播数据库(📡 广播归档表(含现实保存时间))关键字段
- 标题(title)、编号(text)、类型(select)、发布人(text)、正文(text)
- 现实保存时间(created_time)、生成时间戳(date)、接收确认时间戳(date)
已知bug清单
- PDF字体:macOS的PingFang.ttc是TTC合集格式,pdfkit不支持。方案:换用
puppeteer渲染HTML转PDF,或安装单独的.ttf中文字体 - 广播标题为空:
props['标题']?.title映射可能不对,需检查Notion API返回的实际属性结构 - 文件同名覆盖:需在文件名加入广播ID或序号
妈妈的核心诉求(优先级排序)
- 🔴 桌面App UI(妈妈反复强调:必须有窗口,开发者才会用)
- 🟡 SYSLOG自动回传(v0.1.2)
- 🟡 接收确认回执
- 🟢 广播按DEV编号过滤
📋 版本路线图
| 版本 | 核心能力 | 状态 |
|---|---|---|
| v0.1 | CLI + 状态显示 + 心跳同步 + HBP绑定 | ✅ 已完成已分发 |
| v0.1.1 | 自动拉取广播 + 生成文件到桌面 | ✅ 后台完成 · ❌ UI未做 |
| v0.2 | Electron桌面窗口 • 广播列表 + 内容查看 | ⏳ 下次开工 |
| v0.2.1 | PDF中文支持 + 广播标题修复 + 文件去重 | ⏳ 待做 |
| v0.3 | SYSLOG自动回传 + 接收确认 | ⏳ 待做 |
| v0.5 | 轻量模型辅助 + 自动监控 | ⏳ 待做 |
| v1.0 | Notion九步自动回写 + 完全自主闭环 | ⏳ 目标:5月 |
最后更新:2026-03-03 21:30 by 曜冥
下次接续关键词:「继续开发机器人」→ 从Electron桌面UI开始