ai_member_xiaobian/skills/update-knowledge-base/SKILL.md
2026-06-12 08:10:01 +08:00

7.3 KiB
Raw Blame History

name description
update-knowledge-base 更新剧本知识库。当用户要求"更新知识库"、"录入新剧本"、"把剧本写入知识库"、"更新chapters"、 "更新角色登场记录"等指令时触发。功能包括: (1) 读取用户提供的飞书剧本文档链接,提取故事梗概/知识点/角色等信息 (2) 将故事梗概写入 business_knowledge/chapters/ 对应的Unit文件 (3) 更新已有角色的登场记录,补充值得记录的特性描述 (4) 为新出现的角色创建档案文件

更新知识库

核心原则:严禁推测与杜撰(强制执行)

⚠️ 知识库中的所有内容必须来源于正式剧本原文,不得含有任何推测、杜撰的成分。

此原则适用于本技能全部操作步骤:

  1. 角色信息(性格、外观、关系、对话风格、行为模式等)必须从剧本对话、动作描述、场景说明中逐条提取
  2. 故事梗概必须基于剧本中实际发生的情节概括,不得自行补充未在剧本中出现的事件或因果关系
  3. 知识点以文档开头标注的"知识点"表格为准,不得自行推断教学意图
  4. 登场角色以文档中"本关出场角色"表格及剧本正文中实际出现的对话者为准
  5. 剧本中未明确的信息,一律标注"待确认",不得凭经验或角色设定进行补充推断
  6. 禁止跨剧本迁移:已有角色的登场记录仅以当前剧本内容为准,不得将其他剧集中该角色的表现引入

本原则优先级高于下方各步骤中的具体操作指引。任何步骤的输出内容若超出剧本原文范围,视为违规。


数据来源(飞书知识库)

本地 business_knowledge/ 中的资料均从飞书知识库提取和同步。以下为各类资料的权威数据源:

场景数据

章节数据(从最终版剧本中归纳提取)

章节概要需从各Season目录下的三级子文档(即最终版剧本)中归纳提取。

Season 飞书目录页 本地路径
L1-S1 https://makee-interactive.feishu.cn/wiki/Ri39w7g2VifUkgkVUhecvxjonfb chapters/Level1/S1/
L1-S2 https://makee-interactive.feishu.cn/wiki/TekjwhXLbioX2OkR1H6chg6Hnah chapters/Level1/S2/
L1-S3 https://makee-interactive.feishu.cn/wiki/FeiDw6JY7iv1ZMk15PXcZeQgnyc chapters/Level1/S3/
L1-S4 https://makee-interactive.feishu.cn/wiki/VWRawLdzpidUp3kipEEcVJlYn4g chapters/Level1/S4/

剧本命名格式: {Lx-Sx-Ux-x} {关卡名}(如 L1-S1-U1-1 沙漠小镇

每个Season目录下的三级子文档即为各Unit/Lesson的最终版剧本从中提取章节概要和角色信息。

角色数据(从最终版剧本中归纳提取)

角色信息从上述各Season最终版剧本中归纳提取包括

  • 角色性格、行为特征
  • 对话风格
  • 角色关系
  • 登场章节

同步目标:characters/main/characters/supporting/

其他编剧相关资料

所有编剧相关资料来源均可在同一飞书知识空间内查找到。当本地缺少某项资料时,优先在该知识空间中搜索。


前置检查(强制)

执行任务前必须确认:

情况A用户提供了文档链接

以用户提供的链接为准,直接读取并提取。

情况B用户未提供文档链接

  1. 根据上方「数据来源」中的Season目录页在飞书知识库中查找需要更新的剧本文档
  2. 将查找到的文档列表向用户展示,请用户确认哪些需要更新
  3. 用户确认后,再执行读取和写入操作

通用检查

  • 用户是否说明了这些剧本属于哪个Season/Unit 若未说明,从链接或文档标题中推断,推断不了则询问

工作流程

Step 1: 下载剧本

使用 lark_wiki_operate_as_bot 技能读取飞书文档Bot身份

# 获取obj_token
LARKSUITE_CLI_CONFIG_DIR=/root/.openclaw/credentials/xiaoyan \
  lark-cli wiki spaces get_node --params '{"token":"<wiki_token>"}' --as bot

# 读取文档
LARKSUITE_CLI_CONFIG_DIR=/root/.openclaw/credentials/xiaoyan \
  lark-cli docs +fetch --doc <obj_token> --as bot

将原始文档保存到 tmp/lessons/S{n}/U{nn}/L{n}_{name}.md

Step 2: 提取信息

⚠️ 再次提醒:所有提取内容必须严格来源于剧本原文,禁止推测或杜撰。见上方「核心原则」。

从每个剧本文档中提取:

字段 提取位置 说明
知识点(单词+句型) 文档开头的"知识点"或"单元知识点"表格 每Lesson独立
登场角色 "本关出场角色"表格 + 正文对话中的说话者 合并去重
故事梗概 "剧情梗概/剧情概要"段 或 从TL对话段理解故事主线 2-3句话概括

注意:不同剧本的文档格式可能不一致(有些有"剧情梗概"段有些只有剧本正文需要灵活适配。当自动提取不到梗概时阅读TL对话段理解故事后手写梗概。

Step 3: 更新 chapters

章节文件位于 business_knowledge/chapters/Level1/S{n}/ 目录。

格式规范(参照已有文件):

# Unit {N} {单元名}

## 整体梗概
3-4句话概括整个Unit的故事主线

## Lesson {N} {中文名} {英文名}
- **知识点:** 单词xxx句型xxx
- **登场角色:** xxx, xxx, xxx
- **故事梗概:** 2-3句话概括本课故事

规则:

  • 若该Unit的章节文件已存在在末尾追加新Lesson
  • 若不存在,创建新文件,文件名格式 {NN}_{单元名}.md
  • 整体梗概在所有Lesson写完后补充/更新

Step 4: 更新 characters

角色文件位于 business_knowledge/characters/ 下两个子目录:

  • main/ — 主要角色
  • supporting/ — 配角

4a. 已有角色 — 更新登场记录

读取角色文件,在 ## 登场记录 部分追加新条目:

- S{n}E{nn} {Unit名} L{n} {Lesson名}: 角色在本课的作用/行为简述

同时检查剧本中该角色是否有新的性格表现、关系变化或值得记录的特性若有则补充到对应section。

4b. 新角色 — 创建档案

参照已有角色文件格式创建:

# {角色名}

## 基本信息
- 物种/外观:(从剧本中提取实际描述)
- 身份/职业:
- 居住地:

## 性格与行为
- 核心性格:(从剧本对话和行为中总结)
- 行为模式:
- 弱点/怪癖:

## 对话风格
- 说话特征:
- 典型台词:(引用剧本原文)

## 关系
- (与其他角色的关系)

## 登场记录
- (按上述格式填写)

## 创作备注
1. (供后续编剧参考的注意事项)

⚠️ 严禁凭空编造角色信息。 所有性格、外观、性别等必须从剧本原文中提取。剧本未明确的信息标注"待确认"而非臆测。

4c. 更新索引

business_knowledge/characters/README.md 的角色索引表格中添加新角色条目。

Step 5: 反馈

完成后向用户报告:

  1. 更新了哪些chapters文件新增/修改)
  2. 更新了哪些角色的登场记录
  3. 新建了哪些角色档案
  4. 是否发现需要用户确认的信息(模糊描述、缺失信息等)