diff --git a/docs/CALENDAR.md b/docs/CALENDAR.md
new file mode 100644
index 0000000..e558c17
--- /dev/null
+++ b/docs/CALENDAR.md
@@ -0,0 +1,86 @@
+# 日历组件需求说明
+
+_位置:`frontend/index.html`
+核心功能 ⭐ - 修改前必须阅读_
+
+---
+
+## 📋 功能列表
+
+| ID | 功能 | 描述 | 代码位置 |
+|----|------|------|----------|
+| C-01 | 月历视图 | 显示完整月历 | `renderCalendar()` |
+| C-02 | 星期标题 | 日一二三四五六 | `.calendar-day-header` |
+| C-03 | 今天高亮 | 当前日期特殊样式 | `.today` 类 |
+| C-04 | 日记标记 | 有日记的日期显示 📝 | `.has-diary` 类 |
+| C-05 | 点击日期 | 显示当天日记详情 | `selectDate()` |
+| C-06 | 日记详情 | 显示完整日记内容 | `#selected-diary` |
+| C-07 | 上月切换 | 显示上个月 | `prevMonth()` |
+| C-08 | 下月切换 | 显示下个月 | `nextMonth()` |
+| C-09 | 非当月日期 | 灰色显示 | `.other-month` 类 |
+
+---
+
+## 🎨 UI 结构
+
+```html
+
+点击日期后显示详情
+```
+
+---
+
+## 🔧 修改指南
+
+### 可以修改的
+- ✅ 样式(颜色、大小、间距)
+- ✅ 按钮文字
+- ✅ 日期格式
+- ✅ 图标样式
+
+### 不能删除的
+- ❌ `renderCalendar()` 函数
+- ❌ `selectDate()` 函数
+- ❌ `prevMonth()` / `nextMonth()` 函数
+- ❌ `.calendar-day` 相关样式
+- ❌ `#calendar-grid` 元素
+- ❌ `#selected-diary` 元素
+
+### 添加新功能时
+1. 先查看现有函数
+2. 不要删除现有 DOM 元素
+3. 可以在现有结构上扩展
+4. 修改后运行 `test_frontend.py diary`
+
+---
+
+## 🧪 测试清单
+
+修改后必须验证:
+- [ ] 日历正常显示
+- [ ] 今天高亮
+- [ ] 有日记的日期有 📝 标记
+- [ ] 点击日期显示详情
+- [ ] 上月/下月切换正常
+
+```bash
+python3 test_frontend.py diary
+```
+
+---
+
+_此文档必须与代码一起维护,修改日历组件时先阅读_
diff --git a/docs/DIARY.md b/docs/DIARY.md
new file mode 100644
index 0000000..ff4f450
--- /dev/null
+++ b/docs/DIARY.md
@@ -0,0 +1,93 @@
+# 日记模块需求说明
+
+_位置:`backend/diary/models.py`, `frontend/index.html`
+核心功能 ⭐_
+
+---
+
+## 📋 后端模型
+
+### DiaryEntry 模型
+
+```python
+class DiaryEntry(models.Model):
+ date = DateField(unique=True) # 日期(唯一)
+ title = CharField(max_length=200) # 标题
+ completed_tasks = TextField() # 完成的任务
+ learned = TextField() # 学到的东西
+ problems = TextField() # 遇到的问题
+ reflections = TextField() # 想法和反思
+ improvements = TextField() # 进步点
+ plans = TextField() # 明日计划
+ created_at = DateTimeField() # 创建时间
+ updated_at = DateTimeField() # 更新时间
+```
+
+---
+
+## 📋 API 接口
+
+| 接口 | 方法 | 描述 |
+|------|------|------|
+| `/api/entries/` | GET | 获取所有日记 |
+| `/api/entries/{id}/` | GET | 获取单条日记 |
+| `/api/entries/` | POST | 创建日记 |
+| `/api/entries/{id}/` | PUT | 更新日记 |
+| `/api/entries/today/` | GET | 获取今天日记 |
+| `/api/entries/recent/` | GET | 最近 7 天日记 |
+| `/api/entries/stats/` | GET | 统计信息 |
+
+---
+
+## 🎨 前端展示
+
+### 日历视图(主要)
+- 有日记的日期显示 📝 标记
+- 点击日期显示详情
+- 详情包含所有字段
+
+### 日记列表
+- 按日期倒序
+- 显示完整内容
+
+---
+
+## 🔧 修改指南
+
+### 可以修改的
+- ✅ 添加新字段
+- ✅ 修改样式
+- ✅ 修改 API 返回格式
+- ✅ 添加新的统计维度
+
+### 不能删除的
+- ❌ DiaryEntry 模型
+- ❌ `/api/entries/` 相关 API
+- ❌ 日历组件
+- ❌ 日记详情展示
+
+### 添加新字段时
+1. 修改 `models.py` 添加字段
+2. 运行 `makemigrations diary`
+3. 运行 `migrate`
+4. 更新 `serializers.py`
+5. 更新前端展示
+6. 运行 `test_frontend.py diary`
+
+---
+
+## 🧪 测试清单
+
+修改后必须验证:
+- [ ] 日历正常显示
+- [ ] 有日记的日期有 📝 标记
+- [ ] 点击日期显示详情
+- [ ] 所有字段正确显示
+
+```bash
+python3 test_frontend.py diary
+```
+
+---
+
+_此文档必须与代码一起维护_
diff --git a/docs/EXPERIENCE.md b/docs/EXPERIENCE.md
new file mode 100644
index 0000000..e3c1632
--- /dev/null
+++ b/docs/EXPERIENCE.md
@@ -0,0 +1,108 @@
+# 经验总结模块需求说明
+
+_位置:`backend/diary/models.py`, `frontend/index.html`_
+
+---
+
+## 📋 后端模型
+
+### Experience 模型
+
+```python
+class Experience(models.Model):
+ title = CharField(max_length=200) # 标题
+ category = CharField(choices=CATEGORY_CHOICES) # 类别
+ problem = TextField() # 问题描述
+ solution = TextField() # 解决方案
+ lesson_learned = TextField() # 经验教训
+ date = DateField() # 日期
+ created_at = DateTimeField() # 创建时间
+```
+
+### 类别选项
+- `deployment` - 📦 部署
+- `development` - 💻 开发
+- `database` - 🗄️ 数据库
+- `permission` - 🔐 权限
+- `network` - 🌐 网络
+- `other` - 其他
+
+---
+
+## 📋 API 接口
+
+| 接口 | 方法 | 描述 |
+|------|------|------|
+| `/api/experiences/` | GET | 获取所有经验 |
+| `/api/experiences/{id}/` | GET | 获取单条经验 |
+| `/api/experiences/` | POST | 创建经验 |
+| `/api/experiences/{id}/` | PUT | 更新经验 |
+| `/api/experiences/recent/` | GET | 最近 10 条 |
+| `/api/experiences/by_category/` | GET | 按类别分组 |
+
+---
+
+## 🎨 前端展示
+
+### UI 结构
+```html
+
+```
+
+---
+
+## 🔧 修改指南
+
+### 可以修改的
+- ✅ 添加新的类别选项
+- ✅ 修改样式
+- ✅ 添加新字段
+- ✅ 修改展示格式
+
+### 不能删除的
+- ❌ Experience 模型
+- ❌ `/api/experiences/` 相关 API
+- ❌ 经验总结 Tab
+- ❌ `.experience-item` 样式
+
+### 添加新功能时
+1. 修改 `models.py` 添加字段
+2. 运行 `makemigrations` 和 `migrate`
+3. 更新 `serializers.py`
+4. 更新前端展示
+5. 运行 `test_frontend.py experience`
+
+---
+
+## 🧪 测试清单
+
+修改后必须验证:
+- [ ] 经验列表正常显示
+- [ ] 分类标签正确
+- [ ] 问题/解决方案格式正确
+- [ ] 经验教训高亮显示
+
+```bash
+python3 test_frontend.py experience
+```
+
+---
+
+_此文档必须与代码一起维护_
diff --git a/docs/README.md b/docs/README.md
new file mode 100644
index 0000000..e4df950
--- /dev/null
+++ b/docs/README.md
@@ -0,0 +1,70 @@
+# 日记系统 - 模块文档索引
+
+_每个模块都有独立的需求说明,修改前先阅读对应文档_
+
+---
+
+## 📁 文档结构
+
+```
+docs/
+├── README.md # 本文档(索引)
+├── CALENDAR.md # 日历组件 ⭐ 核心功能
+├── DIARY.md # 日记模块 ⭐ 核心功能
+├── EXPERIENCE.md # 经验总结模块
+├── STATS.md # 统计面板
+└── TASKS.md # 任务管理(待创建)
+```
+
+---
+
+## 🔧 修改代码时的流程
+
+### 1. 确定修改的模块
+
+| 修改内容 | 阅读文档 | 测试命令 |
+|---------|---------|---------|
+| 日历样式 | `CALENDAR.md` | `test_frontend.py diary` |
+| 日记字段 | `DIARY.md` | `test_frontend.py diary` |
+| 经验总结 | `EXPERIENCE.md` | `test_frontend.py experience` |
+| 统计面板 | `STATS.md` | `test_frontend.py` |
+
+### 2. 阅读文档
+
+- 查看功能列表
+- 确认**不能删除**的部分
+- 了解修改指南
+
+### 3. 增量修改
+
+- 只添加,不覆盖
+- 只修改相关模块
+- 保持其他功能不变
+
+### 4. 针对性测试
+
+```bash
+python3 test_frontend.py <模块名>
+```
+
+---
+
+## ⚠️ 核心功能(除非用户明确要求,否则不动)
+
+1. **日历组件** (`CALENDAR.md`)
+ - 月历视图
+ - 点击日期显示日记
+ - 上月/下月切换
+
+2. **日记模块** (`DIARY.md`)
+ - 日记 CRUD
+ - 日历集成
+
+3. **Tab 切换**
+ - 工作任务
+ - 日记
+ - 经验总结
+
+---
+
+_修改任何代码前,先阅读对应模块文档_
diff --git a/docs/STATS.md b/docs/STATS.md
new file mode 100644
index 0000000..e067a1b
--- /dev/null
+++ b/docs/STATS.md
@@ -0,0 +1,57 @@
+# 统计面板需求说明
+
+_位置:`frontend/index.html`_
+
+---
+
+## 📋 统计卡片
+
+| 卡片 | 数据来源 | API |
+|------|---------|-----|
+| 总日记数 | `stats.total_entries` | `/api/entries/stats/` |
+| 总任务数 | `stats.total_tasks` | `/api/entries/stats/` |
+| 进行中 | `stats.progressing` | `/api/entries/stats/` |
+| 已完成 | `stats.completed` | `/api/entries/stats/` |
+| 完成率 | `stats.completion_rate` | `/api/entries/stats/` |
+| 经验数 | `experiences.length` | `/api/experiences/recent/` |
+
+---
+
+## 🎨 UI 结构
+
+```html
+
+```
+
+---
+
+## 🔧 修改指南
+
+### 可以修改的
+- ✅ 添加新的统计卡片
+- ✅ 修改样式
+- ✅ 修改统计维度
+
+### 不能删除的
+- ❌ `.stats` 容器
+- ❌ `.stat-card` 样式
+- ❌ 统计 API 调用
+
+### 添加新统计时
+1. 后端 API 添加统计字段
+2. 前端添加新的统计卡片
+3. 更新数据绑定
+
+---
+
+_此文档必须与代码一起维护_