# Feishu Update Doc

更新飞书云文档。支持 7 种更新模式：追加、覆盖、定位替换、全文替换、前/后插入、删除。

- Repository: https://github.com/op7418/CodePilot (6513 stars)
- Category: Engineering
- License: see repository
- Last updated: 2026-09-22
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add op7418/CodePilot --skill feishu-update-doc -g -a claude-code -y`
Codex: `npx skills add op7418/CodePilot --skill feishu-update-doc -g -a codex -y`
Cursor: `npx skills add op7418/CodePilot --skill feishu-update-doc -g -a cursor -y`
Gemini CLI: `npx skills add op7418/CodePilot --skill feishu-update-doc -g -a gemini-cli -y`

## Description

更新飞书云文档。支持 7 种更新模式：追加、覆盖、定位替换、全文替换、前/后插入、删除。

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# feishu__update_doc

更新飞书云文档内容，支持 7 种更新模式。优先使用局部更新（replace_range/append/insert_before/insert_after），慎用 overwrite（会清空文档重写，可能丢失图片、评论等）。

# 定位方式

定位模式（replace_range/replace_all/insert_before/insert_after/delete_range）支持两种定位方式，二选一：

## selection_with_ellipsis - 内容定位

支持两种格式：

1. **范围匹配**：`开头内容...结尾内容`
   - 匹配从开头到结尾的所有内容（包含中间内容）
   - 建议 10-20 字符确保唯一性

2. **精确匹配**：`完整内容`（不含 `...`）
   - 匹配完整的文本内容
   - 适合替换短文本、关键词等

**转义说明**：如果要匹配的内容本身包含 `...`，使用 `\.\.\.` 表示字面量的三个点。

示例：
- `你好...世界` → 匹配从"你好"到"世界"之间的任意内容
- `你好\.\.\.世界` → 匹配字面量 "你好...世界"

**建议**：如果文档中有多个 `...`，建议使用更长的上下文来精确定位，避免歧义。

## selection_by_title - 标题定位

格式：`## 章节标题`（可带或不带 # 前缀）

自动定位整个章节（从该标题到下一个同级或更高级标题之前）。

**示例**：
- `## 功能说明` → 定位二级标题"功能说明"及其下所有内容
- `功能说明` → 定位任意级别的"功能说明"标题及其内容

# 可选参数

## new_title

更新文档标题。如果提供此参数，将在更新文档内容后同步更新文档标题。

**特性**：
- 仅支持纯文本，不支持富文本格式
- 长度限制：1-800 字符
- 可以与任何 mode 配合使用
- 标题更新在内容更新之后执行


# 返回值

## 成功

```json
{
  "success": true,
  "doc_id": "文档ID",
  "mode": "使用的模式",
  "message": "文档更新成功（xxx模式）",
  "warnings": ["可选警告列表"],
  "log_id": "请求日志ID"
}
```

## 异步模式（大文档超时）

```json
{
  "task_id": "async_task_xxxx",
  "message": "文档更新已提交异步处理，请使用 task_id 查询状态",
  "log_id": "请求日志ID"
}
```

使用返回的 `task_id` 再次调用 update-doc（仅传 task_id 参数）查询状态。

## 错误

```json
{
  "error": "[错误码] 错误消息\n💡 Suggestion: 修复建议\n📍 Context: 上下文信息",
  "log_id": "请求日志ID"
}
```

---

# 使用示例

## append - 追加到末尾

```json
{
  "doc_id": "文档ID或URL",
  "mode": "append",
  "markdown": "## 新章节\n\n追加的内容..."
}
```

## replace_range - 定位替换

使用 `selection_with_ellipsis`：
```json
{
  "doc_id": "文档ID或URL",
  "mode": "replace_range",
  "selection_with_ellipsis": "## 旧章节标题...旧章节结尾。",
  "markdown": "## 新章节标题\n\n新的内容..."
}
```

使用 `selection_by_title`（替换整个章节）：
```json
{
  "doc_id": "文档ID或URL",
  "mode": "replace_range",
  "selection_by_title": "## 功能说明",
  "markdown": "## 功能说明\n\n更新后的功能说明内容..."
}
```

## replace_all - 全文替换

The rest: https://github.com/op7418/CodePilot/blob/HEAD/资料/feishu-openclaw-plugin/package/skills/feishu-update-doc/SKILL.md
