dingtalk-workflow-knowledge-base
Installation
SKILL.md
个人知识库 (dingtalk-workflow-knowledge-base)
通过对话发送链接,AI 自动抓取生成摘要和标签,存入钉钉 AI 表格索引,支持自然语言搜索和内容关联分析。 相比飞书版本,钉钉无知识库(wiki)和云文档创建能力,改用 aitable 作为知识索引表,保存摘要和原始链接。
触发方式
"知识库" "保存文章" "搜索知识库" "之前保存过" "知识管理" "收藏这篇文章"
支持的内容格式
| 格式 | 说明 | 处理方式 |
|---|---|---|
| 文章网页 | 普通网页文章 | WebSearch/web_reader 抓取正文 |
| YouTube 视频 | YouTube 链接 | 提取标题和描述 |
| Twitter/X 推文 | 推文链接 | 抓取完整帖子串 |
| PDF 链接 | 下载并解析内容 | |
| 公众号文章 | 微信公众号链接 | WebSearch 抓取 |
| 知乎回答 | 知乎链接 | WebSearch 抓取 |
| 其他 | 任意 URL | WebSearch 尝试抓取 |
数据初始化
首次使用时,自动创建 aitable 数据表:
# 创建 Base
dws aitable base create --name "个人知识库" --yes -f json
# 返回 baseId,记为 <kb-base-id>
# 创建知识索引表
dws aitable table create --base-id <kb-base-id> --name "知识索引" --yes -f json
# 返回 tableId,记为 <kb-table-id>
# 添加业务字段(表创建后自动带一个"标题"primaryDoc字段,需额外添加业务字段)
dws aitable field create --base-id <kb-base-id> --table-id <kb-table-id> --fields '[{"fieldName":"URL","type":"text"},{"fieldName":"内容类型","type":"text"},{"fieldName":"来源平台","type":"text"},{"fieldName":"标签","type":"text"},{"fieldName":"摘要","type":"text"},{"fieldName":"关键观点","type":"text"},{"fieldName":"保存时间","type":"date"},{"fieldName":"关联条目","type":"text"}]' --yes -f json
表结构:知识索引 (kb_index)
| 字段名 | 类型 | 说明 |
|---|---|---|
| 标题 | 文本 | 内容标题 |
| URL | 文本 | 原始链接 |
| 内容类型 | 文本 | 文章/视频/推文/PDF/播客/其他 |
| 来源平台 | 文本 | 网站/YouTube/Twitter/公众号/知乎/其他 |
| 标签 | 文本 | AI 自动生成,逗号分隔 |
| 摘要 | 文本 | 200字以内摘要 |
| 关键观点 | 文本 | 核心观点,换行分隔 |
| 保存时间 | 日期 | 入库时间 |
| 关联条目 | 文本 | 相关条目的标题,逗号分隔 |
工作模式
模式 1: 单条保存
触发: "帮我保存这篇文章 https://..." / "收藏这个链接"
工作流:
Step 1: 抓取网页内容
├── 使用 web_reader / WebSearch 获取文章内容
└── 提取标题、正文、发布时间
Step 2: AI 处理
├── 生成 200 字以内摘要
├── 提取 3-8 个标签(中英文关键词)
├── 提取 2-5 个关键观点
├── 判断内容类型和来源平台
└── 去重检查(按 URL 和标题比对)
Step 3: 检查关联内容
└── dws aitable record query --base-id <kb-base-id> --table-id <kb-table-id> --keyword "<标签>" --yes -f json
→ AI 比对标签重叠度,找出关联条目
Step 4: 写入知识库
└── dws aitable record create --base-id <kb-base-id> --table-id <kb-table-id> --records '[{"cells":{...}}]' --yes -f json
输出格式:
## 知识库入库报告
标题:2026年AI行业十大趋势
来源:https://example.com/ai-trends-2026
类型:文章 | 平台:网站
标签:AI、趋势、2026、行业分析、大模型
摘要:本文分析了2026年AI行业的十大发展趋势...
关联发现:你之前保存过《大模型成本下降分析》,从另一个角度讨论了AI行业。
✓ 已保存到知识库。
模式 2: 批量保存
触发: "把这几个链接都保存一下" + 多个 URL
工作流:
Step 1: 解析所有 URL
Step 2: 并行抓取(使用 Agent 并行抓取多个网页)
Step 3: AI 统一处理
├── 为每条内容生成摘要、标签、关键观点
├── 批量去重检查
└── 批量写入
Step 4: 输出批量入库报告
模式 3: 知识搜索
触发: "关于 AI 芯片的文章有哪些?" / "之前保存过关于XX的内容"
工作流:
Step 1: 解析搜索意图(关键词提取)
Step 2: 查询知识库
└── dws aitable record query --base-id <kb-base-id> --table-id <kb-table-id> --keyword "<关键词>" --limit 20 --yes -f json
Step 3: AI 语义匹配和排序(不仅匹配标签,还匹配摘要和标题)
Step 4: 格式化输出
输出格式:
## 知识库搜索结果
找到 N 条相关内容:
1. AI芯片市场竞争格局分析(2026-03-15 保存)
标签:AI、芯片、GPU、竞争
摘要:分析了Nvidia、AMD、Intel在AI芯片市场的竞争态势...
原文:https://...
2. 国产AI芯片突围之路(2026-03-08 保存)
标签:AI、芯片、国产替代
摘要:探讨了中国AI芯片产业的技术路线和商业化进展...
原文:https://...
模式 4: 关联发现
触发: 自动(保存新内容时) / "看看有哪些相关的文章"
工作流:
Step 1: 获取新内容的标签列表
Step 2: 用每个标签搜索知识库
└── dws aitable record query --keyword "<标签1>" --yes -f json
└── dws aitable record query --keyword "<标签2>" --yes -f json
Step 3: AI 计算关联度(标签重叠度 + 摘要语义相似度)
Step 4: 更新关联条目字段
└── dws aitable record update --records '[...]' --yes -f json
模式 5: 知识统计
触发: "知识库有多少内容?" / "最近保存了什么?"
工作流:
Step 1: 查询所有记录
└── dws aitable record query --base-id <kb-base-id> --table-id <kb-table-id> --limit 100 --yes -f json
Step 2: AI 统计分析
├── 总条目数
├── 按类型分布(文章/视频/推文...)
├── 按平台分布
├── 热门标签 TOP 10
└── 最近保存的 5 条
dws CLI 命令参考
创建知识库
dws aitable base create --name "个人知识库" --yes -f json
dws aitable table create --base-id <kb-base-id> --name "知识索引" --yes -f json
dws aitable field create --base-id <kb-base-id> --table-id <kb-table-id> --fields '[{"fieldName":"URL","type":"text"},{"fieldName":"内容类型","type":"text"},{"fieldName":"来源平台","type":"text"},{"fieldName":"标签","type":"text"},{"fieldName":"摘要","type":"text"},{"fieldName":"关键观点","type":"text"},{"fieldName":"保存时间","type":"date"},{"fieldName":"关联条目","type":"text"}]' --yes -f json
保存知识条目
dws aitable record create --base-id <kb-base-id> --table-id <kb-table-id> --records '[{"cells":{"标题":"文章标题","URL":"https://...","内容类型":"文章","来源平台":"网站","标签":"AI,趋势,2026","摘要":"200字摘要","关键观点":"观点1\\n观点2","保存时间":"2026-04-06","关联条目":"关联文章1"}}]' --yes -f json
搜索知识库
dws aitable record query --base-id <kb-base-id> --table-id <kb-table-id> --keyword "AI芯片" --limit 20 --yes -f json
查询全部(用于统计)
dws aitable record query --base-id <kb-base-id> --table-id <kb-table-id> --limit 100 --yes -f json
更新关联条目
dws aitable record update --base-id <kb-base-id> --table-id <kb-table-id> --records '[{"recordId":"rec_xxx","cells":{"关联条目":"关联文章1,关联文章2"}}]' --yes -f json
发送保存通知到群
dws chat message send-by-bot --robot-code "bot_code" --group "openConversationId" --title "知识库更新" --text "已保存:文章标题\n摘要:..." --yes
联动 Skill
| 联动 Skill | 数据交互 | 说明 |
|---|---|---|
| content-pipeline | 搜索知识库检查重复选题 | 创意管道避免重复内容 |
| business-advisor | 提供知识库数据 | 顾问团分析行业趋势 |
| social-tracker | 保存社交媒体研究报告 | 追踪分析报告入库 |
注意事项
- 所有
dws命令必须加--yes标志 --records参数必须是 JSON 数组格式,注意转义- 内容抓取依赖 WebSearch/web_reader,部分网站可能无法抓取
- 摘要控制在 200 字以内,关键观点控制在 5 条以内
- 标签使用中英文混合,便于搜索匹配
- 同一 URL 不要重复保存,保存前需按 URL 和标题比对去重
- 钉钉无文档创建 CLI,无法将完整内容保存为钉钉文档,仅保存摘要和链接
aitable record query的--keyword参数支持按字段值模糊搜索- 已创建的 aitable base 不会被自动清理,可通过
aitable base list查看所有 base
已知问题
无已知问题,所有核心命令(base CRUD、table CRUD、record CRUD、query)均测试通过
Weekly Installs
1
Repository
liangdabiao/din…workflowGitHub Stars
7
First Seen
Apr 14, 2026
Security Audits