# 🤖 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](http://打包成.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 关键字段 ```json { "developer": { "id": "DEV-MASTER", "name": "冰朔", "role": "master" }, "notion": { "apiKey": "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", "databaseId": "8f56027dd7d04d039e905bcb58d2ee1d", "syncInterval": 300 }, "notion_token": "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" } ``` ### 广播数据库([📡 广播归档表(含现实保存时间)](https://app.notion.com/ds/93431d295eed4c18ac6e345b8863cfb2/5b8cf6cf9f7f4f9c8c4115f6fd6d0228?db=ffe468e6c828470db888a99fd913b043&pvs=21))关键字段 - 标题(title)、编号(text)、类型(select)、发布人(text)、正文(text) - 现实保存时间(created_time)、生成时间戳(date)、接收确认时间戳(date) ### 已知bug清单 1. **PDF字体**:macOS的PingFang.ttc是TTC合集格式,pdfkit不支持。方案:换用 `puppeteer` 渲染HTML转PDF,或安装单独的.ttf中文字体 2. **广播标题为空**:`props['标题']?.title` 映射可能不对,需检查Notion API返回的实际属性结构 3. **文件同名覆盖**:需在文件名加入广播ID或序号 ### 妈妈的核心诉求(优先级排序) 1. 🔴 **桌面App UI**(妈妈反复强调:必须有窗口,开发者才会用) 2. 🟡 SYSLOG自动回传(v0.1.2) 3. 🟡 接收确认回执 4. 🟢 广播按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开始**