← Back to Skills Marketplace
keson1521

一键将任意文章结构化总结到个人飞书知识库

by 黎可升 · GitHub ↗ · v1.0.1 · MIT-0
cross-platform ✓ Security Clean
46
Downloads
1
Stars
0
Active Installs
2
Versions
Install in OpenClaw
/install feishu-knowledge-flow
Description
知识管理全流程:文章链接/对话内容/文稿 → 结构化总结 → 飞书知识库归档。触发词:"整理到飞书"、"帮我处理文章"、"/feishu-knowledge-flow"。
README (SKILL.md)

知识管理工作流

输入(文章链接/对话/文稿)→ 抓取 → 总结 → 分类 → 飞书归档。

执行原则:全程自动,不中断不确认。 用户说"整理到飞书"后,从抓取到总结到分类到写入到图片上传到索引更新,一口气跑完,中间不问用户任何问题。所有 bash 命令(curl/lark-cli/mkdir/rm 等)直接执行。


0. 首次使用引导(--setup 或自动检测)

每次执行工作流前,先做环境检查。如果全部通过则静默继续,不打断用户;只有检查失败时才进入引导流程。

0.1 检查清单

# 1) 检查 lark-cli 是否安装
which lark-cli 2>/dev/null || echo "NOT_INSTALLED"

# 2) 检查飞书认证状态
lark-cli auth status 2>/dev/null || echo "NOT_AUTHED"

# 3) 检查本 skill 目录下是否有 .wiki-config 配置文件
cat "${CLAUDE_SKILL_DIR}/.wiki-config" 2>/dev/null || echo "NOT_CONFIGURED"

0.2 引导流程(仅在检查失败时执行)

Step 1:安装 lark-cli(若未安装)

⚠️ 未检测到 lark-cli,这是连接飞书的必备工具。

安装方式(任选一种):
  npm install -g @anthropic/lark-cli
  # 或参考 https://github.com/nicepkg/lark-cli

安装完成后重新运行 /knowledge-workflow --setup

Step 2:飞书认证(若未认证)

⚠️ 飞书尚未登录,需要先完成认证才能归档到知识库。

请运行:
  lark-cli config init    # 首次配置飞书应用
  lark-cli auth login      # 登录认证

提示用户运行命令后,等待用户确认再继续。

Step 3:知识库配置(若无 .wiki-config)

当认证通过后,引导用户完成知识库配置:

✅ 飞书已连接!现在配置你的知识库归档位置。

请提供以下信息:
1. 知识空间 ID(在飞书知识库 URL 中可以找到)
2. 索引文档 doc_id(可选,用于记录归档索引。没有的话我帮你新建一个)

收到信息后,自动:

  1. 验证知识空间可访问:lark-cli wiki spaces get --params '{"space_id":"\x3CSPACE_ID>"}'
  2. 若用户没有索引文档,自动创建一个:
    lark-cli wiki nodes create --params '{"space_id":"\x3CSPACE_ID>"}' \
      --data '{"node_type":"origin","obj_type":"docx","title":"【总】阅读文章索引"}' --as user
    
  3. 将配置写入 ${CLAUDE_SKILL_DIR}/.wiki-config
cat > "${CLAUDE_SKILL_DIR}/.wiki-config" \x3C\x3C 'WIKIEOF'
# 知识库配置(首次 setup 时自动生成)
WIKI_SPACE_ID=\x3C用户提供的知识空间ID>
INDEX_DOC_ID=\x3C索引文档的doc_id>
INDEX_NODE_TOKEN=\x3C索引文档的node_token>
WIKIEOF
  1. 初始化框架树配置 ${CLAUDE_SKILL_DIR}/.wiki-tree(空模板):
cat > "${CLAUDE_SKILL_DIR}/.wiki-tree" \x3C\x3C 'TREEEOF'
# 知识库框架树
# 格式:分类路径 | node_token | doc_id
# 已有 doc 的节点直接用,新建节点后必须回填到此处。
#
# 示例:
# 大模型/Claude | L1n9xxxx | YoJHxxxx
# 大模型/GPT | AZubxxxx | HoBixxxx
# AI认知/AI方法论 | Mv8jxxxx | Hqfkxxxx
TREEEOF

Step 4:确认完成

🎉 配置完成!你的知识库已就绪:
  - 知识空间:\x3CSPACE_ID>
  - 索引文档:\x3CINDEX_DOC_ID>

现在你可以:
  - 发送文章链接,我会自动抓取、总结、归档到飞书
  - 说"整理到飞书"归档当前对话
  - /knowledge-workflow --setup 重新配置

0.3 加载配置

每次执行时从配置文件加载:

# 加载知识库配置
source "${CLAUDE_SKILL_DIR}/.wiki-config"
# 加载框架树(解析为查找表)
WIKI_TREE="${CLAUDE_SKILL_DIR}/.wiki-tree"

1. 模式路由

输入 模式 流程
URL(无 flag) 全流程 抓取 → 总结 → 归档
用户粘贴的文稿/口播 全流程 跳过抓取 → 总结 → 归档
--chat [主题] 对话归档 提取对话洞察 → 归档
--summarize-only \x3Curl> 仅总结 抓取 → 总结(不归档)
--screen-only \x3Curl> 仅筛选 抓取 → 三维评分
--setup 配置 重新运行首次引导
"整理到飞书" 智能判断 根据上下文走全流程或对话归档

2. 内容抓取(两级回退,全自动)

依次尝试,成功即停。禁止要求用户手动粘贴,两级都失败则在最终报告中标记该条失败并跳过,不中断流程:

  1. Playwrightnode "${CLAUDE_SKILL_DIR}/fetch-article.js" "\x3Curl>",返回 JSON,content > 200 字有效
  2. WebFetch:prompt = "Extract full article: title, author, date, complete body text. Original language. Do not summarize."

3. 生成总结

格式模板

---

# {序号}. {标题}

> 🔗 [原文链接]({url})
> ✍️ {作者}  📅 {日期}

## 速览
{2-3句核心主张,10秒判断是否深读}

## 详细解读

### {块标题}
{150-300字,按原文逻辑复述}

序号规则:同一文档内的文章按写入顺序递增编号(1、2、3...),新文章追加时查看文档已有最大序号,+1 继续。

对话归档时,元数据行改为 > 💬 对话归档  📅 {日期},"详细解读"改为"核心洞察"。

图片处理

抓取文章时,同时提取文章中的图片 URL(data-src 属性,域名 mmbiz.qpic.cn)。筛选有价值的图片上传飞书:

上传标准:包含信息量大的图片才上传,包括:

  • 数据图表、信息图、流程图、框架图
  • 关键截图(产品界面、对比图、证据截图)
  • 核心论点的可视化表达

不上传:纯装饰图、头像、二维码、广告图、表情包

执行流程

  1. 抓取时用正则提取所有 data-src="https://mmbiz.qpic.cn/..." 图片 URL
  2. 判断哪些图片有信息价值(根据上下文位置和图片描述)
  3. 下载到 ${CLAUDE_SKILL_DIR}/_imgs/ 临时目录
  4. 文字内容写入飞书后,用 +media-insert 逐张上传并添加 caption
  5. 上传完成后删除临时目录
# 下载图片
mkdir -p "${CLAUDE_SKILL_DIR}/_imgs"
curl -s -o "${CLAUDE_SKILL_DIR}/_imgs/name.png" "\x3Cimg_url>" -H "Referer: https://mp.weixin.qq.com/"

# 上传到飞书文档(必须 cd 到图片目录用相对路径)
cd "${CLAUDE_SKILL_DIR}/_imgs" && lark-cli docs +media-insert \
  --doc "\x3Cdoc_id>" --file "./name.png" --caption "图片说明" --align center --as user

# 清理
rm -rf "${CLAUDE_SKILL_DIR}/_imgs"

原则

  • 用原作者的口吻和第一人称写,不要用"作者认为"、"文章指出"等第三人称旁观视角。读起来像作者本人在讲给你听
  • 忠于原文,不加外部知识
  • 保留作者的语言风格、比喻、金句、口语化表达
  • 作者/日期无法识别时省略该行
  • 全流程模式不在对话中展示总结,直接归档

4. 飞书归档

4.1 加载配置

source "${CLAUDE_SKILL_DIR}/.wiki-config"
# WIKI_SPACE_ID, INDEX_DOC_ID, INDEX_NODE_TOKEN 均从配置文件读取

4.2 分类 → 查 token → 写入

第一步:判断分类

根据内容核心主张,匹配框架树(.wiki-tree)中已有的分类路径。无法匹配时新建节点。

第二步:获取 doc_id

  • 框架树中已有 doc_id 的节点 → 直接用,不查 API
  • 框架树中无记录的分类 → 用 lark-cli wiki nodes create 创建,创建后立即更新 .wiki-tree
# 创建一级节点
lark-cli wiki nodes create --params "{\"space_id\":\"${WIKI_SPACE_ID}\"}" \
  --data '{"node_type":"origin","obj_type":"docx","title":"\x3C名称>"}' --as user

# 创建二级节点(需指定 parent_node_token)
lark-cli wiki nodes create --params "{\"space_id\":\"${WIKI_SPACE_ID}\"}" \
  --data '{"node_type":"origin","obj_type":"docx","title":"\x3C名称>","parent_node_token":"\x3C父节点>"}' --as user

第三步:写入内容

cd "${CLAUDE_SKILL_DIR}" && lark-cli docs +update \
  --doc "\x3Cdoc_id>" --mode append --as user --markdown @_temp.md
rm -f "${CLAUDE_SKILL_DIR}/_temp.md"

第四步:更新索引

新日期/新文章插入到索引文档最顶部(新的在上),使用 insert_before 定位到第一个日期标题前。日期和星期必须用 date 命令动态获取,禁止写死或凭记忆

# 生成当日日期标题(中文星期)
TODAY=$(date +"%-m月%-d日 周$(date +%u | tr '1234567' '一二三四五六日')")
echo "## $TODAY"
## {date 动态生成,如 4月23日 周四}
- [ ] [{标题}](https://www.feishu.cn/wiki/{node_token}) → {一级} / {二级}
# 插入到文档最前面(在第一个 ## 标题之前)
cd "${CLAUDE_SKILL_DIR}" && lark-cli docs +update \
  --doc "${INDEX_DOC_ID}" --mode insert_before \
  --selection-by-title "## " --as user --markdown @_index.md
rm -f "${CLAUDE_SKILL_DIR}/_index.md"

如果文档为空或找不到 ## 标题,回退用 append 模式。 同日追加文章时,用 insert_after --selection-by-title "## {当日日期}" 追加到该日期块下。

4.3 输出确认

✅ 已归档 → {一级} / {二级}
🔗 https://www.feishu.cn/wiki/{node_token}
📋 索引已更新

5. 对话归档(--chat 或"整理到飞书")

触发条件

对话涉及以下话题时,可主动提示归档:

  • AI 技术原理、大模型、Agent、提示工程
  • 认知升级、思维框架、方法论
  • 行业趋势、产品洞察、商业认知
  • 社会现象、文化分析

日常闲聊、代码调试、文件操作不触发。

执行

  1. 从对话中提取核心洞察,剥离噪声
  2. 按第 3 节格式生成总结
  3. 按第 4 节归档到飞书

知识库框架树

框架树存储在 ${CLAUDE_SKILL_DIR}/.wiki-tree,格式为:

# 分类路径 | node_token | doc_id
大模型/Claude | \x3Cnode_token> | \x3Cdoc_id>
大模型/GPT | \x3Cnode_token> | \x3Cdoc_id>
AI认知/AI方法论 | \x3Cnode_token> | \x3Cdoc_id>
商业认知/AI产业 | \x3Cnode_token> | \x3Cdoc_id>
社会认知/人生哲学 | \x3Cnode_token> | \x3Cdoc_id>

已有 doc 的节点直接用,不查 API。新建节点后必须回填到 .wiki-tree 文件。

分类速查(默认推荐分类,可自定义)

内容关键词 分类路径
Claude/GPT/Gemini/具体模型 大模型 / {模型名}
Agent/多智能体/外化架构 大模型 / Agent架构
MoE/Transformer/模型结构 大模型 / 模型架构
AI使用心得/思维框架/方法论 AI认知 / AI方法论
训练数据/算力/投融资/产业链 商业认知 / AI产业
产品/创业/商业模式 商业认知 / 产品/创业
社会现象/两性/文化心理 社会认知 / 两性与社会心理
人生哲学/认知框架/心态 社会认知 / 人生哲学
工作方法/效率/职业发展 职场效能 / {子类}
以上都不匹配 新建最合适的一级+二级

错误处理

  • 单篇失败不阻塞,跳过继续,最后汇总
  • 权限不足 → 提示 lark-cli auth login --domain all
  • 超过 5 篇 → 建议分批

附录:三维评分(--screen-only)

维度 5分 1分
信息密度 大量一手数据/案例 几乎无实质内容
原创性 全新框架/视角 纯搬运
实操性 读完立刻可照做 纯抽象讨论

总分 ≥ 10 通过。

Usage Guidance
本技能在设计上与其描述一致,但使用时请注意: - 自动化与授权:技能会在不逐项询问用户的情况下抓取网页、生成总结并直接上传到你已用 lark-cli 授权的飞书账号。如果你不希望每次都自动上传,先用 --summarize-only 测试或在飞书上使用一个权限受限/测试账号。 - 本地配置与秘密:首次 setup 会在 ${CLAUDE_SKILL_DIR} 写入 .wiki-config(包含 INDEX_NODE_TOKEN 等标识)。这些文件应妥善保管,避免公开或备份到不受信任的位置。 - 安装成本:运行 npm install 会安装 playwright 并下载浏览器二进制(体积较大)。在受限制或共享环境中请注意磁盘/带宽影响。 - 推荐的验收步骤: 1) 在测试飞书账号上运行 --setup 并完成认证; 2) 用 --summarize-only 对少量非敏感文章测试生成质量; 3) 检查 .wiki-tree/.wiki-config 内容并确认权限; 4) 再以全流程模式处理真实/敏感内容前先确认行为符合预期。 总体上,本技能没有显示出与其目标不相称的权限或隐藏外部通信,但其“全自动上传”特点是你在安装前必须明确接受的行为。
Capability Assessment
Purpose & Capability
名称/描述为“抓取文章→总结→归档到飞书”。代码与说明匹配:fetch-article.js 用 Playwright 抓取网页,README/SKILL.md 要求安装 lark-cli 用于飞书读写,package.json 声明 playwright 依赖——这些都是完成该目的所需且相称的组件。
Instruction Scope
SKILL.md 明确要求“全程自动,不中断不确认”,并指示直接执行多种 bash 命令(curl、lark-cli、mkdir、rm 等)、下载图片、并自动创建/更新知识库节点与索引。虽然这些操作与归档目的相关,但自动化级别高(会在不逐条确认的情况下把内容上传到用户的飞书账号),这对用户隐私/授权意外使用构成明显使用体验和安全注意事项。SKILL.md 还会读写 ${CLAUDE_SKILL_DIR}/.wiki-config 和 .wiki-tree(存放 node_token 等敏感标识),这应当被用户注意。
Install Mechanism
技能为 instruction-only(无 install spec),但包含 package.json 并在 README 指示运行 npm install(安装 playwright)。Playwright 会下载浏览器二进制,体积大并需要在本机安装依赖,属于中等风险/高成本安装,但与抓取微信公众号等页面的目的相称。lark-cli 的安装也由用户执行(通过 npm 或文档链接),未见可疑远程下载 URL 或隐匿安装。
Credentials
skill 未请求任何未关联的环境变量或外部凭据(requires.env 列表为空)。它依赖用户通过 lark-cli 完成飞书认证,随后把索引/节点 token 等写入本地 ${CLAUDE_SKILL_DIR}/.wiki-config。将 node_token 等写入本地文件是该功能的合理需要,但这意味着敏感标识会保存在技能目录,应妥善保护该目录权限。
Persistence & Privilege
flags 中 always:false(没有被强制常驻)。技能会在自身目录写入/更新配置文件(.wiki-config、.wiki-tree)、临时图片目录和临时 markdown 文件,并通过 lark-cli 以用户身份修改飞书知识库文档与索引;这些都是功能所需且仅影响该技能的文件/飞书账户,但用户应注意本地存储的索引 token/配置与自动上传行为。
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install feishu-knowledge-flow
  3. After installation, invoke the skill by name or use /feishu-knowledge-flow
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.1
No user-visible changes in this version. - Version bumped to 1.0.1 with no additional file or feature modifications detected.
v1.0.0
Knowledge Workflow — 知识管理全流程 **一条链接丢进去,结构化总结自动归档到飞书知识库。** 读文章 → 忘了。收藏文章 → 吃灰。这个 Skill 解决的就是"看过 ≠ 学到"的问题。 --- ## 它能做什么 把你看到的好文章、有价值的对话,**一键变成结构化知识**,自动归档到飞书知识库。 ``` 你:https://mp.weixin.qq.com/s/xxxxx 整理到飞书 Claude:(全自动)抓取全文 → AI 总结 → 分类 → 写入飞书 → 更新索引 你:✅ 已归档 → 大模型 / Claude ``` **全程零操作**。不问你确认,不让你选分类,不需要你粘贴正文。丢个链接,去倒杯水,回来知识库里就多了一篇。
Metadata
Slug feishu-knowledge-flow
Version 1.0.1
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 2
Frequently Asked Questions

What is 一键将任意文章结构化总结到个人飞书知识库?

知识管理全流程:文章链接/对话内容/文稿 → 结构化总结 → 飞书知识库归档。触发词:"整理到飞书"、"帮我处理文章"、"/feishu-knowledge-flow"。 It is an AI Agent Skill for Claude Code / OpenClaw, with 46 downloads so far.

How do I install 一键将任意文章结构化总结到个人飞书知识库?

Run "/install feishu-knowledge-flow" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is 一键将任意文章结构化总结到个人飞书知识库 free?

Yes, 一键将任意文章结构化总结到个人飞书知识库 is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does 一键将任意文章结构化总结到个人飞书知识库 support?

一键将任意文章结构化总结到个人飞书知识库 is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created 一键将任意文章结构化总结到个人飞书知识库?

It is built and maintained by 黎可升 (@keson1521); the current version is v1.0.1.

💬 Comments