127 lines
5.2 KiB
Markdown
127 lines
5.2 KiB
Markdown
|
|
# 🤖 Robot v0.1.1 补丁 · 自动广播分发 · 妈妈跟着做就行
|
|||
|
|
|
|||
|
|
## 📊 当前进度(2026-03-03 21:30 更新)
|
|||
|
|
|
|||
|
|
<aside>
|
|||
|
|
🔴
|
|||
|
|
|
|||
|
|
**v0.1.1 后台功能已完成 ✅ · 桌面UI未开始 ❌**
|
|||
|
|
|
|||
|
|
下次妈妈说「继续开发机器人」,从 **Electron桌面UI** 开始做(BC-001~BC-003)
|
|||
|
|
|
|||
|
|
</aside>
|
|||
|
|
|
|||
|
|
### ✅ 今天已完成
|
|||
|
|
|
|||
|
|
- ✅ 安装新依赖:`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开始**
|