# Dingtalk Workflow Knowledge Base

> 个人知识库 — 通过 WebSearch 抓取内容生成摘要和标签，存入钉钉 aitable 索引，支持自然语言搜索和内容关联分析

- Skill: `liangdabiao/dingtalk-workflow-knowledge-base` (Agent Skill)
- Install (CLI): `npx skillmds@latest add liangdabiao/dingtalk-workflow-knowledge-base`
- Raw SKILL.md: https://api.skillmd.com/api/skills/liangdabiao/dingtalk-workflow-knowledge-base/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- Author: liangdabiao (https://skillmd.com/u/liangdabiao)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/liangdabiao/dingtalk-workflow-knowledge-base

---


# 个人知识库 (dingtalk-workflow-knowledge-base)

> 通过对话发送链接，AI 自动抓取生成摘要和标签，存入钉钉 AI 表格索引，支持自然语言搜索和内容关联分析。
> 相比飞书版本，钉钉无知识库(wiki)和云文档创建能力，改用 aitable 作为知识索引表，保存摘要和原始链接。

## 触发方式

```
"知识库"  "保存文章"  "搜索知识库"  "之前保存过"  "知识管理"  "收藏这篇文章"
```

## 支持的内容格式

| 格式 | 说明 | 处理方式 |
|------|------|---------|
| 文章网页 | 普通网页文章 | WebSearch/web_reader 抓取正文 |
| YouTube 视频 | YouTube 链接 | 提取标题和描述 |
| Twitter/X 推文 | 推文链接 | 抓取完整帖子串 |
| PDF | PDF 链接 | 下载并解析内容 |
| 公众号文章 | 微信公众号链接 | WebSearch 抓取 |
| 知乎回答 | 知乎链接 | WebSearch 抓取 |
| 其他 | 任意 URL | WebSearch 尝试抓取 |

## 数据初始化

首次使用时，自动创建 aitable 数据表：

```bash
# 创建 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
```

**输出格式：**

```markdown
## 知识库入库报告

标题：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: 格式化输出
```

**输出格式：**

```markdown
## 知识库搜索结果

找到 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 命令参考

### 创建知识库

```bash
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
```

### 保存知识条目

```bash
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
```

### 搜索知识库

```bash
dws aitable record query --base-id <kb-base-id> --table-id <kb-table-id> --keyword "AI芯片" --limit 20 --yes -f json
```

### 查询全部（用于统计）

```bash
dws aitable record query --base-id <kb-base-id> --table-id <kb-table-id> --limit 100 --yes -f json
```

### 更新关联条目

```bash
dws aitable record update --base-id <kb-base-id> --table-id <kb-table-id> --records '[{"recordId":"rec_xxx","cells":{"关联条目":"关联文章1,关联文章2"}}]' --yes -f json
```

### 发送保存通知到群

```bash
dws chat message send-by-bot --robot-code "bot_code" --group "openConversationId" --title "知识库更新" --text "已保存：文章标题\n摘要：..." --yes
```

## 联动 Skill

| 联动 Skill | 数据交互 | 说明 |
|-----------|---------|------|
| content-pipeline | 搜索知识库检查重复选题 | 创意管道避免重复内容 |
| business-advisor | 提供知识库数据 | 顾问团分析行业趋势 |
| social-tracker | 保存社交媒体研究报告 | 追踪分析报告入库 |

## 注意事项

1. 所有 `dws` 命令必须加 `--yes` 标志
2. `--records` 参数必须是 JSON 数组格式，注意转义
3. 内容抓取依赖 WebSearch/web_reader，部分网站可能无法抓取
4. 摘要控制在 200 字以内，关键观点控制在 5 条以内
5. 标签使用中英文混合，便于搜索匹配
6. 同一 URL 不要重复保存，保存前需按 URL 和标题比对去重
7. 钉钉无文档创建 CLI，无法将完整内容保存为钉钉文档，仅保存摘要和链接
8. `aitable record query` 的 `--keyword` 参数支持按字段值模糊搜索
9. 已创建的 aitable base 不会被自动清理，可通过 `aitable base list` 查看所有 base

## 已知问题

无已知问题，所有核心命令（base CRUD、table CRUD、record CRUD、query）均测试通过

