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

v1.0.1

知识管理全流程:文章链接/对话内容/文稿 → 结构化总结 → 飞书知识库归档。触发词:"整理到飞书"、"帮我处理文章"、"/feishu-knowledge-flow"。

0· 41·0 current·0 all-time
by黎可升@keson1521

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for keson1521/feishu-knowledge-flow.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "一键将任意文章结构化总结到个人飞书知识库" (keson1521/feishu-knowledge-flow) from ClawHub.
Skill page: https://clawhub.ai/keson1521/feishu-knowledge-flow
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install feishu-knowledge-flow

ClawHub CLI

Package manager switcher

npx clawhub@latest install feishu-knowledge-flow
Security Scan
VirusTotalVirusTotal
Pending
View report →
OpenClawOpenClaw
Benign
medium confidence
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/配置与自动上传行为。
Assessment
本技能在设计上与其描述一致,但使用时请注意: - 自动化与授权:技能会在不逐项询问用户的情况下抓取网页、生成总结并直接上传到你已用 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) 再以全流程模式处理真实/敏感内容前先确认行为符合预期。 总体上,本技能没有显示出与其目标不相称的权限或隐藏外部通信,但其“全自动上传”特点是你在安装前必须明确接受的行为。

Like a lobster shell, security has layers — review code before you run it.

latestvk97eyhtksw0tnygx1zmezh9brn85mhw3
41downloads
0stars
2versions
Updated 1d ago
v1.0.1
MIT-0

知识管理工作流

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

执行原则:全程自动,不中断不确认。 用户说"整理到飞书"后,从抓取到总结到分类到写入到图片上传到索引更新,一口气跑完,中间不问用户任何问题。所有 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":"<SPACE_ID>"}'
  2. 若用户没有索引文档,自动创建一个:
    lark-cli wiki nodes create --params '{"space_id":"<SPACE_ID>"}' \
      --data '{"node_type":"origin","obj_type":"docx","title":"【总】阅读文章索引"}' --as user
    
  3. 将配置写入 ${CLAUDE_SKILL_DIR}/.wiki-config
cat > "${CLAUDE_SKILL_DIR}/.wiki-config" << 'WIKIEOF'
# 知识库配置(首次 setup 时自动生成)
WIKI_SPACE_ID=<用户提供的知识空间ID>
INDEX_DOC_ID=<索引文档的doc_id>
INDEX_NODE_TOKEN=<索引文档的node_token>
WIKIEOF
  1. 初始化框架树配置 ${CLAUDE_SKILL_DIR}/.wiki-tree(空模板):
cat > "${CLAUDE_SKILL_DIR}/.wiki-tree" << 'TREEEOF'
# 知识库框架树
# 格式:分类路径 | node_token | doc_id
# 已有 doc 的节点直接用,新建节点后必须回填到此处。
#
# 示例:
# 大模型/Claude | L1n9xxxx | YoJHxxxx
# 大模型/GPT | AZubxxxx | HoBixxxx
# AI认知/AI方法论 | Mv8jxxxx | Hqfkxxxx
TREEEOF

Step 4:确认完成

🎉 配置完成!你的知识库已就绪:
  - 知识空间:<SPACE_ID>
  - 索引文档:<INDEX_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 <url>仅总结抓取 → 总结(不归档)
--screen-only <url>仅筛选抓取 → 三维评分
--setup配置重新运行首次引导
"整理到飞书"智能判断根据上下文走全流程或对话归档

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

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

  1. Playwrightnode "${CLAUDE_SKILL_DIR}/fetch-article.js" "<url>",返回 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" "<img_url>" -H "Referer: https://mp.weixin.qq.com/"

# 上传到飞书文档(必须 cd 到图片目录用相对路径)
cd "${CLAUDE_SKILL_DIR}/_imgs" && lark-cli docs +media-insert \
  --doc "<doc_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":"<名称>"}' --as user

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

第三步:写入内容

cd "${CLAUDE_SKILL_DIR}" && lark-cli docs +update \
  --doc "<doc_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 | <node_token> | <doc_id>
大模型/GPT | <node_token> | <doc_id>
AI认知/AI方法论 | <node_token> | <doc_id>
商业认知/AI产业 | <node_token> | <doc_id>
社会认知/人生哲学 | <node_token> | <doc_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 通过。

Comments

Loading comments...