# 通识千书 · 十年阅读计划 —— 设计文档

> 生成日期：2026-05-18
> 状态：已确认 · 可随时调整

---

## 一、计划概述

### 1.1 总目标
在 10 年内系统阅读通识千书全部 1217 本书目（核心著作 1011 本 + 传记参考 206 本）。

### 1.2 核心设计原则

| 原则 | 说明 |
|------|------|
| **螺旋轮换** | 每月聚焦一个领域，11个领域轮换出现，每年各接触一次 |
| **由浅入深** | 第一年以悦读为主建全景，逐年增加精读比例深入专研 |
| **轨道预设** | AI 根据书目在原始文档中的位置预先判断每本书的阅读深度 |
| **轨道可调** | 阅读后可根据实际体验重新标记精读/结构读/悦读 |

### 1.3 轨道定义

| 轨道 | 占比 | 判断依据 | 阅读方式 |
|------|------|----------|----------|
| 🔴 **精读** | ~15% (184本) | 领域奠基之作、每个子学科前20%的核心书 | 全文细读+六模块导航+三张清单问答 |
| 🟠 **结构读** | ~27% (324本) | 重要但非奠基级著作、子学科中间35% | 抽样阅读+AI导航、只读骨架 |
| 🔵 **悦读** | ~41% (503本) | 补充性作品、延伸阅读、子学科后45% | 浏览+AI摘要、建立索引即可 |
| ⚪ **参考** | ~17% (206本) | 传记、解读、回忆录 | 配合核心著作的小甜点、不强制阅读 |

---

## 二、数据来源

### 2.1 原始文件
- Word 文档：`/Users/sophy/.openclaw/media/inbound/通识千书---a1378383-5374-431f-acab-9da7eabb57f8.docx`
- 转换后的 Markdown：`/tmp/tongshiqianshu.md`
- 提取脚本：`/tmp/extract_books_v2.py`

### 2.2 数据文件

| 文件 | 用途 | 格式 |
|------|------|------|
| `/tmp/books_data.json` | 完整书目数据（1217条） | JSON |
| `/tmp/knowledge_tree.json` | 按章节/学科组织的树形结构 | JSON |
| `/Users/sophy/.openclaw/workspace/reading-plan-final.json` | **阅读计划主数据**（120个月） | JSON |
| `/tmp/reading_plan_10years_merged.json` | 备用：合并后的10年计划 | JSON |

### 2.3 书目数据结构

```json
{
  "title": "谈谈方法",
  "author": "勒内·笛卡尔",
  "kind": "primary",       // "primary" 或 "bio"
  "track": "结构读",        // "精读" | "结构读" | "悦读" | "参考"
  "section": "1.知识的知识 → 1.2 笛卡尔信徒 → 哲学：认识论、知识论"
}
```

---

## 三、生成算法

### 3.1 步骤概览

```
原始WORD文档
    ↓ pandoc转换
Markdown文本
    ↓ Python正则提取
书目列表（1217条，含章节路径）
    ↓ 按子学科位置分配轨道
标轨书目（精读184 + 结构读324 + 悦读503 + 参考206）
    ↓ 按领域分组 → 按月数均分 → 轨道混合
领域分册（每个领域N个月，每月混合四种轨道）
    ↓ 螺旋插值调度
120个月逐月计划
    ↓ 特殊调整（谈谈方法提前、科学革命的结构提前、世界观标记已完成）
最终计划
```

### 3.2 轨道分配规则

在每个子学科（section）内，按书目在原始文档中的排列顺序（排在前面的更重要）：

```
子学科有 N 本核心著作：
  前 20%（至少1本） → 精读
  中间 35%           → 结构读
  后 45%             → 悦读
所有传记/参考书      → 参考
```

**代码位置**：`/tmp/extract_books_v2.py` 中的 `classify_books()` 函数

### 3.3 领域月份分配

按各领域的书目数量占总数的比例分配月数（最少3个月）：

| 领域 | 书目 | 占比 | 月数 | 本/月 |
|------|------|------|------|-------|
| 元典 | 15 | 1.2% | 3 | 5.0 |
| 1. 知识的知识 | 129 | 10.6% | 13 | 9.9 |
| 2. 如何理解世界 | 114 | 9.4% | 11 | 10.4 |
| 3. 如何理解历史 | 98 | 8.1% | 10 | 9.8 |
| 4. 如何理解时代 | 101 | 8.3% | 10 | 10.1 |
| 5. 如何理解社会 | 146 | 12.0% | 13 | 11.2 |
| 6. 如何理解组织 | 103 | 8.5% | 10 | 10.3 |
| 7. 如何理解家庭 | 108 | 8.9% | 11 | 9.8 |
| 8. 如何理解人性 | 192 | 15.8% | 18 | 10.7 |
| 9. 如何理解身体 | 74 | 6.1% | 7 | 10.6 |
| 10. 如何理解信仰 | 137 | 11.3% | 14 | 9.8 |
| **合计** | **1217** | **100%** | **120** | **10.1** |

### 3.4 螺旋调度算法

**目标**：每个领域在总月数中均匀出现，同一领域相邻两次出现的间隔大致相等。

**实现**：
1. 计算各领域的理想间隔 = 总月数 / 该领域月数
2. 起始月固定为"1.知识的知识"（因为正在读《谈谈方法》）
3. 此后每月选择"最逾期"的领域——即当前月份距离该领域上次出现最远（加权理想间隔）
4. 循环直到120个月填满

**效果**：
- 大领域（如人性：18个月）约每 6-7 个月出现一次
- 小领域（如元典：3个月）约每 40 个月出现一次
- 所有领域都自然穿插，不会连续多个月出现同一领域

### 3.5 由浅入深排序

在每个领域内，所有书目按轨道优先级排序后分配到各月：

```
排序优先级：悦读 > 参考 > 结构读 > 精读
```

采用轮询分配（round-robin），确保每个月的分册中混合了不同轨道的书目。但**排在前面的悦读书更大概率出现在早期月份**，排在后面的精读书更大概率出现在后期月份。

**年度效果**：

| 年份 | 精读 | 结构读 | 悦读 | 参考 | 特点 |
|------|------|--------|------|------|------|
| 2026 | 12 | 22 | **37** | 16 | 🗺️ 广撒网建全貌 |
| 2027 | 15 | 33 | **55** | 19 | 🏗️ 开始搭结构 |
| 2028-2030 | ~19 | ~32 | ~51 | ~22 | 🔬 加深比例 |
| 2031-2035 | ~18 | ~32 | ~48 | ~20 | 🎯 精专冲刺 |

### 3.6 特殊调整记录

| 调整时间 | 调整内容 | 原因 |
|----------|----------|------|
| 2026-05-18 | 《谈谈方法》提到2026-05 | 当前正在阅读 |
| 2026-05-18 | 《科学革命的结构》提到2026-05 | 5月计划阅读 |
| 2026-05-18 | 《世界观》标记为已完成 ✅ | 5月已读完 |

---

## 四、调整操作指南

### 4.1 调整书目先后顺序

**需求**：某个领域内想把某本书提前或推后。

**操作**：
1. 打开 `/Users/sophy/.openclaw/workspace/reading-plan-final.json`
2. 找到对应领域和月份
3. 在 `books` 数组中移动该书的位置
4. 告诉我，我来更新文件并重新生成页面

### 4.2 调整阅读轨道

**需求**：某本书从悦读改为结构读，或从结构读改为精读。

**操作**：
1. 在 `/Users/sophy/.openclaw/workspace/reading-plan-final.json` 中
2. 找到该书的 `track` 字段
3. 改为新轨道值（"精读"/"结构读"/"悦读"/"参考"）
4. 同时更新对应月份的 `trackSummary` 计数
5. 告诉我，我来做

### 4.3 添加新书

**需求**：书单上没有的书，想加入计划。

**操作**：
1. 提供书名、作者
2. AI 判断该书属于哪个领域、哪个子学科
3. AI 建议阅读轨道
4. 插入到合适月份的 `books` 数组中

### 4.4 调整月度安排

**需求**：某个月书太多或太少，想重新分配。

**操作**：
1. 告诉我目标和调整范围
2. 重新运行分配算法，仅影响指定领域

### 4.5 标记完成 / 切换当前书

在 v5 页面上直接操作，自动保存到 localStorage：
- 点击书籍 → 设为当前阅读
- 点击"标记完成" → 归档到笔记库
- 点击"更新进度" → 调整阅读进度
- 编辑导航/问答/笔记 → 自动保存

---

## 五、网站文件索引

### 5.1 阅读系统页面

| 页面 | URL | 用途 |
|------|-----|------|
| 阅读计划 v5 | `/reading-plan-v5.html` | 当前阅读 + 导航/问答/笔记 |
| 知识地图 | `/knowledge-map.html` | 1217本完整书目（可搜索） |
| 网络图 | `/book-network.html` | D3.js 可视化知识网络 |
| 笔记库 | `/notes.html` | 已完成书籍的归档 |
| 阅读方法论 | `/reading-methodology.html` | 完整方法论 |
| 阅读指南 | `/reading-guide.html` | 阅读指南 |
| 计划表格 | `/reading-plan-tables.html` | 逐领域逐年详细计划表 |

### 5.2 本地文件

| 文件 | 路径 |
|------|------|
| 计划主数据 | `/Users/sophy/.openclaw/workspace/reading-plan-final.json` |
| 设计文档 | `/Users/sophy/.openclaw/workspace/reading-plan-design.md`（本文件） |
| 完整书目提取 | `/Users/sophy/.openclaw/workspace/通识千书-书目提取.md` |
| 书目原始数据 | `/tmp/books_data.json` |

### 5.3 部署方式

```
服务器：aliyun.sopher.cool (root@sopher.cool)
路径：/var/www/d.sopher.cool/
域名：https://d.sopher.cool/
```

上传命令：
```bash
scp 文件.html root@aliyun.sopher.cool:/var/www/d.sopher.cool/
ssh root@aliyun.sopher.cool "chown www-data:www-data /var/www/d.sopher.cool/文件.html"
```

---

## 六、月度计划数据格式

```json
{
  "month": "2026-05",
  "domain": "1.知识的知识",
  "books": [
    {
      "title": "科学革命的结构",
      "author": "托马斯·库恩",
      "track": "精读",
      "kind": "primary",
      "section": "1.知识的知识 → 1.2 笛卡尔信徒 → 科学哲学"
    }
  ],
  "trackSummary": {
    "精读": 2,
    "结构读": 4,
    "悦读": 5,
    "参考": 1
  }
}
```

---

## 七、待办 / 未来增强

- [ ] v5 页面：完成"计划列表 + 当前阅读"双区域布局
- [ ] v5 页面：保留《谈谈方法》的六模块导航预制内容
- [ ] v5 页面：实现三张清单问答 + AI 对话
- [ ] v5 页面：实现"暂时不懂标记"功能
- [ ] 笔记库：实现已完成书籍的完整归档
- [ ] 阅读追踪：实现每天/每周阅读时间统计
- [ ] AI 新书判断：输入非书单书目，自动定位+轨道建议
