# TOOLS.md - Local Notes Skills define _how_ tools work. This file is for _your_ specifics — the stuff that's unique to your setup. ## What Goes Here Things like: - Camera names and locations - SSH hosts and aliases - Preferred voices for TTS - Speaker/room names - Device nicknames - Anything environment-specific ## Examples ```markdown ### Cameras - living-room → Main area, 180° wide angle - front-door → Entrance, motion-triggered ### SSH - home-server → 192.168.1.100, user: admin ### TTS - Preferred voice: "Nova" (warm, slightly British) - Default speaker: Kitchen HomePod ``` ## Why Separate? Skills are shared. Your setup is yours. Keeping them apart means you can update skills without losing your notes, and share skills without leaking your infrastructure. --- ## Feishu Tools Gotchas ### 📄 飞书文档更新限制 **单次更新长度限制**:约 1.5 万字 使用 `feishu_update_doc` 的 `overwrite` 模式时,如果文档超过约 1.5 万字,内容会被截断。 **长文档更新策略**: 1. **避免** `overwrite` 模式更新超长文档 2. **使用** `replace_range` 模式分章节更新(通过 `selection_by_title` 或 `selection_with_ellipsis` 定位) 3. **或采用** 删除后重新创建策略(先删除云文档,再用 `feishu_create_doc` 创建完整版本) **最佳工作流**: - 在本地完成所有修改(本地文件编辑更可靠) - 使用章节定位方式分段更新到飞书 - 或者本地生成完整版本后一次性创建新文档 --- ### 📝 飞书文档更新注意事项 **更新前必做检查**: 1. 先用 `feishu_fetch_doc` 读取完整文档,确认要更新的内容 2. 回顾前文,确保不会重复已知信息(视角一致性) 3. 确认内容格式正确(段落分隔、对话格式) **避免重复已知信息**: - 角色A已经经历过的事件,不需要角色B再告诉A - 只传递接收者不知道的新信息 - 例如:第2章主角和所长一起查看了现场,第3章所长就不需要再说"我们去了你家,客厅很正常" **内容格式规范**: - 章节标题后必须空一行 - 每个对话必须单独成段: ```markdown "对话内容,"他说。 ``` - 段落之间必须空一行 - 每章末尾添加 `---` 分隔线 **精确定位更新**: - 优先使用 `selection_with_ellipsis` 精确定位要替换的内容 - `selection_by_title` 可能定位到错误位置(导致内容重复) - 复杂更新分步骤进行:先 `delete_range`,再 `insert_before`/`insert_after` **更新后验证**: - 再次用 `feishu_fetch_doc` 读取文档 - 确认内容正确,没有重复 - 确认格式规范(段落分隔、对话格式) --- Add whatever helps you do your job. This is your cheat sheet.