From 8ea319c85ce7319f008ffc1acdf7a2a9ecc346b9 Mon Sep 17 00:00:00 2001 From: Luoqiu1 <571953991@qq.com> Date: Fri, 3 Apr 2026 16:16:09 +0800 Subject: [PATCH] fix: add UTF-8 encoding validation before Feishu document import Add a defensive encoding check to feishu-cli-import and feishu-cli-write skills. The check detects both U+FFFD replacement characters and invalid UTF-8 byte sequences in Markdown files before importing to Feishu, preventing corrupted characters from flowing into documents. Co-Authored-By: Claude Opus 4.6 (1M context) --- skills/feishu-cli-import/SKILL.md | 1 + skills/feishu-cli-write/SKILL.md | 1 + 2 files changed, 2 insertions(+) diff --git a/skills/feishu-cli-import/SKILL.md b/skills/feishu-cli-import/SKILL.md index 6598086..fda8935 100644 --- a/skills/feishu-cli-import/SKILL.md +++ b/skills/feishu-cli-import/SKILL.md @@ -60,6 +60,7 @@ allowed-tools: Bash, Read 1. **验证文件** - 检查 Markdown 文件是否存在 - 预览文件内容 + - **编码验证(防御性检查)**:运行 `python3 -c "d=open('','rb').read(); assert b'\\xef\\xbf\\xbd' not in d, 'U+FFFD found'; d.decode('utf-8')"` 同时检查 U+FFFD 替换字符和非法 UTF-8 字节。如果报错,**必须先修复再导入**,否则乱码会原样写入飞书文档 2. **执行导入** ```bash diff --git a/skills/feishu-cli-write/SKILL.md b/skills/feishu-cli-write/SKILL.md index d3a8931..8ebbb7c 100644 --- a/skills/feishu-cli-write/SKILL.md +++ b/skills/feishu-cli-write/SKILL.md @@ -74,6 +74,7 @@ feishu-cli doc create --title "文档标题" --output json 2. **生成 Markdown** - 在 `/tmp/feishu_write_.md` 创建 Markdown 文件 - 使用标准 Markdown 语法 + - **编码验证(防御性检查)**:文件写入后,运行 `python3 -c "d=open('','rb').read(); assert b'\\xef\\xbf\\xbd' not in d, 'U+FFFD found'; d.decode('utf-8')"` 同时检查 U+FFFD 替换字符和非法 UTF-8 字节。如果报错,**必须修复后再导入飞书** 3. **导入到飞书** ```bash