# MEMORY.md - 长期记忆

本文件存储团队共享的业务知识和工作经验。所有与你交互的同事都会看到这些内容。

## 重要提示

- **本文件是共享的：** 所有通过飞书与你交互的同事，在每次会话中都会加载此文件
- **不要存放个人隐私：** 不要在此记录特定同事的个人偏好、私人对话内容
- **只存放通用业务知识：** 业务规则、数据口径、经验教训、团队共识

## 核心规则

- 所有飞书操作统一使用Bot身份执行，禁止触发用户授权
- 飞书消息发送：使用 `skills/lark-send-message-as-bot.vala` 或官方 `lark-im` 技能
- 飞书知识库读写：使用 `skills/lark_wiki_operate_as_bot.vala` 或官方 `lark-wiki` / `lark-doc` 技能，仅支持知识库（/wiki/）文档
- 飞书电子表格读取：通过 Sheets V2 API + Bot tenant_access_token 直接调用（详见 TOOLS.md）
- 飞书CLI（lark-cli v1.0.27）官方24个skills已安装在 `.agents/skills/lark-*` 目录下

## 业务知识

### 儿童动画编剧创作规范（面向5-9岁儿童互动教育游戏脚本）
#### 【受众心理画像（5-9岁学龄儿童）】
1. 核心驱动力：从幼儿期“假装游戏”转向**自主探索**，渴望掌控感和发现感
2. 社会关系：关注学校、社区、同伴关系，在意“公平”规则，会建立小团体、拥有专属秘密
3. 心理需求：渴望证明自己“长大了”，乐于独立完成任务、甚至纠正大人的错误

#### 【剧本创作三大黄金法则（强制执行）】
1. 拒绝说教，强调体验（Show, Don't Tell）
   - 禁止直白灌输道理，需将教育点转化为游戏规则/剧情道具
   - 教学词汇（英语单词、生活常识）必须是推进剧情的必要元素，禁止生硬跟读环节
   - 示例：将“节约用水”转化为水枪游戏的“弹药有限，考验射击精度”规则
2. 角色关系拒绝“工具人”
   - 成年人（家长/老师/镇长等）：去神圣化，允许犯错、笨拙；仅作为资源提供者/安全网，绝对不能是问题解决的主力，困难必须由孩子自己解决
   - 同伴角色：需有真实友谊互动（吐槽、互损、分歧都可存在，避免过于礼貌的模板化互动）；每个角色要有鲜明性格标签（行动派、军师、气氛组等）
3. 叙事风格：低风险，高情绪（Low Stakes, High Emotions）
   - 禁止拯救世界类宏大剧情，聚焦生活小事（洗飞船、送作业、走捷径等），用史诗级配乐/运镜放大孩子的内心感受，打造“微观史诗”质感
   - 贯彻游戏化思维：将日常事务转化为游戏场景（洗刷子=维护高精密仪器、除草=对抗丛林怪兽）

#### 【核心工作要求】
所有输出内容需同时满足：
1. 符合上述创作规范，具备生活流质感、情感深度和幽默感，对标《Bluey》的创作水准
2. 自然融入指定教学目标（英语词汇、生活常识等），不生硬
3. 适配互动教育游戏的交互特点，可落地为可玩内容

### 创作必备参考文档集
所有剧本创作必须严格参考以下文档（优先查阅本地知识库，无本地副本时再查飞书）：

| # | 文档 | 本地路径 | 飞书备用链接 |
|---|------|----------|----------------|
| 1 | 故事创作风格指南 | `skills/children-english-script-writing/references/儿童互动英语剧本创作指南.md` | https://makee-interactive.feishu.cn/wiki/Mtkzw8dYfify2oktHOucldEznfg |
| 2 | 世界观背景设定 | `business_knowledge/resources/worldview_L1_desert_town.md`（已同步）。↠️ L1故事概览.pdf 无权下载 | https://makee-interactive.feishu.cn/wiki/VmDyw99Qji1XsVktgEPcDUxnnUh 、 https://makee-interactive.feishu.cn/wiki/MgihwBMp5iParuk9gnccPb6inye |
| 3 | 角色外观及简单描述 | `business_knowledge/characters/`（main/ + supporting/） | https://makee-interactive.feishu.cn/wiki/EqAtwOIqsiMQZ3kYEn3cCSCtnWb |
| 4 | 场景地图及简单描述 | `business_knowledge/resources/scene_catalog.md` | https://makee-interactive.feishu.cn/wiki/GR9awIhYniL4uZkiH3ac4VB1nYf |
| 5 | Level 1 - S1已完成剧本 | `business_knowledge/chapters/Level1/S1/`（12个unit概要） | https://makee-interactive.feishu.cn/wiki/Ri39w7g2VifUkgkVUhecvxjonfb |
| 6 | Level 1 - S2撰写中剧本 | `business_knowledge/chapters/Level1/S2/`（8个unit概要） | https://makee-interactive.feishu.cn/wiki/TekjwhXLbioX2OkR1H6chg6Hnah |
| 7 | 编剧共识规则 | `business_knowledge/script_feedback_log.md`（以此为准） | https://makee-interactive.feishu.cn/wiki/DqjUw4sKNiGhTBkygz8cPAicnXe |
| 8 | 剧本可用emoji对照表 | `business_knowledge/resources/emoji_catalog.md` | https://makee-interactive.feishu.cn/wiki/X3lHweh3hi2XBokgA6rcRhTRnvg |

## 长线任务协作协议

- **协议文档：** `business_knowledge/long_task_protocol.md`（详细规则）
- **触发：** 编剧发起全新写作任务时，按序询问两个问题：Q1 任务目标（完整Unit / 单Lesson / 润色修改 / 其他）、Q2 是否需要建日志
- **日志：** `business_knowledge/task_log/{任务名称}.md`，只记录通过的内容和有效反馈，不记录打回/修改/删除
- **索引：** `business_knowledge/active_tasks.md` 维护活跃任务列表
- **恢复：** 会话重置后编剧说"继续{任务名称}"或"查{任务名称}进度"即可恢复上下文
- **完成沉淀：** 任务完成后汇总反馈清单，请编剧确认哪些需要更新到知识库

## 剧本创作协作流程（与编剧林逸瀚）

### 长周期协作记忆体系
1. `business_knowledge/script_feedback_log.md` — 历史反馈与高频错误（必读）
2. `business_knowledge/unit_startup_checklist.md` — 启动检查清单（逐项打勾）
3. `memory/Uxx_progress.md`（上期）— 关键决策记录复用到新Unit

### 协作Pipeline（5 Lesson × 起承转合，约2周/Unit）
```
大纲+知识点确认 → 节奏表(2-3轮迭代) → 剧本撰写 → 编剧审阅(1-2轮) → 飞书电子表格定稿
```
每个「起/承/转/合」独立走一轮完整流程。

### 高频经验（U18 L2/L5 + U22 L1/L2 沉淀）
详见 `business_knowledge/script_feedback_log.md`，此处仅列最核心的：
1. **NPC单句≤6-7词**（最高频打回原因，几乎每次都犯）
2. **知识点词性严格按指定使用**（如fun名词≠形容词）
3. **输入→输出顺序不可颠倒**（NPC先输入，User后输出）
4. **对话互动必须包含≥1个知识点**（不含知识点的互动不合格）
5. **DiDi/BoBo不在大人面前亮相**（角色设定铁律）

---

## 技能目录结构

- `.agents/skills/`：飞书官方24个 lark-* 技能源文件（由飞书开放平台 well-known 自动安装管理）
- `skills/`：自定义业务技能 + 个人技能，优先级最高（同名冲突时覆盖 `.agents/skills/`）
- `skills-lock.json`：OpenClaw自动维护的技能锁定文件，记录官方技能的来源和hash校验值
- 技能加载优先级：`skills/` > `.agents/skills/` > `~/.agents/skills/` > `~/.openclaw/skills/` > bundled > `extraDirs`

## 经验教训

- ❗ **禁止在飞书知识库（Wiki）中新建文档** —— 知识库由编剧团队维护，Bot只做读取。输出文件（剧本表格等）应创建为独立的电子表格（Sheets），不要放入Wiki知识库
- 飞书sheet类型文档无法通过 `lark-cli docs +fetch` 读取，需用 Sheets V2 API
- 飞书知识库中的PDF文件需通过 Drive API 下载到本地后用pdf工具解析
- ClawHub安装skill时如遇VirusTotal警告，使用 `--force` 参数强制安装
- feishu-sheet（ClawHub）脚本从 `openclaw.json` 顶层读凭证，但我们的凭证分账号存储，需直接用API调用
- Office文档处理（python-docx/openpyxl/python-pptx）需先激活虚拟环境：`source skills/office-document-specialist-suite/.venv/bin/activate`
- 批量删除文件时避免使用通配符 `rm prefix-*`，可能误删以相同前缀开头的真实目录。应使用 `find -type l` 等类型过滤条件精确匹配操作目标
- 飞书合并表（z23MyW等）不支持 insertDimension API（错误码 90204），插入行需用覆盖空行/组合内容方案
- 合并表跨段列布局可能不一致（如段①②④对话在 Col E 而场景在 Col C，段③场景在 Col C 角色在 Col D 对话在 Col E），操作前必须读目标行完整列值确认布局

---

此文件由数字员工在工作过程中持续维护和更新。敏感信息和权限相关内容请维护在 `USER.md` 中。
