
背单词这个场景放到 Notion 里做知识库是个好主意但手工录入的成本一直劝退很多人一个单词要查音标、查释义、找例句、填属性、选标签再复制粘贴到 Notion 页面平均一个词花两分钟积累 100 个词就是一个下午。这次要聊的是怎么用 Workbuddy 把这个过程变成一键自动化——把生词清单丢过去自动生成结构化的单词卡片再按字段写入 Notion 数据库。Workbuddy 是腾讯推出的效率智能体Agent产品整体定位是在个人工作台里用自然语言完成多步自动化任务。它和 CodeBuddy 属于两条产品线CodeBuddy 侧重代码开发和编程辅助Workbuddy 更侧重办公场景、数据整理、信息同步和流程自动化。从当前公开信息看Workbuddy 的核心能力来自三个方向skill 技能扩展、连接器对接外部服务、自定义指令固化个人工作流。这对“生成单词卡片并导入 Notion”这类任务来说恰好是完整闭环用 skill 定义卡片模板用连接器打通 Notion 数据库用自定义指令固定整个执行流程。这篇文章会围绕这个场景展开内容包括 Workbuddy 的定位与核心能力、部署和连接器配置方式、自动化生成单词卡片的完整流程设计、功能测试与效果验证、Notion API 批量写入示例、常见问题排查以及使用建议。如果你已经在用 Notion 管理生词或者正在调研用什么 Agent 工具承载固定重复的内容生产流程这篇可以参考。这里先把阅读预期说清楚下面所有涉及 Workbuddy 的界面按钮、skill 配置格式、连接器名称的内容都会尽量给出通用可用的方案但由于不同版本界面存在差异实际配置时请以你自己安装的版本为准。1. Workbuddy 核心能力速览能力项说明项目定位效率智能体 / 个人工作台用自然语言编排多步任务来源腾讯与 CodeBuddy 同系列但侧重办公与流程自动化主要功能skill 技能扩展、连接器对接外部服务、自定义指令、定时任务、个人工作台搭建对 Notion 的支持通过连接器或 Notion API 写入页面/数据库条目具体能力以版本为准部署方式客户端安装 / 本地部署 / Linux、麒麟版等按官方渠道获取安装包API 能力偏向连接器与外部服务交互公开 API 形态需按版本确认批量任务支持批量处理场景实际批量上限受输入长度、模型能力和接口限制支持平台Windows、Linux 等具体发行版以官方安装说明为准适合场景单词卡/知识库自动化录入、数据同步、定时提醒、内容生成、搭建个人工作台从材料看Workbuddy 的社区讨论集中在skill 怎么编写、连接器怎么对接 Notion/Obsidian/钉钉多维表、定时任务怎么配置、自定义指令怎么写以及如何用它搭建个人工作台。这些能力正好对应自动化内容生产的两类需求一类是“把外部数据拉进来加工”另一类是“把加工结果写到目标系统里”。2. 适用场景与使用边界2.1 适合谁用外语学习者每天积累生词希望在 Notion 里形成带音标、释义、例句的单词卡片库。Notion 重度用户已经建立了单词数据库、阅读笔记库或案例库需要批量录入结构化数据。内容生产者需要批量生成术语表、产品名词解释、知识卡片。效率工具折腾党正在评估 Agent 工具能否替代重复复制粘贴操作。2.2 能解决什么问题手工录入单词卡片的流程通常要经历查词、整理、录入三步。查词需要打开词典整理需要确定卡片字段录入需要在 Notion 里新建一条数据库记录并逐字段填写。Workbuddy 的方案是把这三步合并成一个指令输入生词列表自动查词并生成结构化卡片再写入 Notion 指定数据库。2.3 不适合什么场景对释义准确性要求极高的场景AI 生成的释义和例句需要人工复核不能直接当作词典级内容发布。需要严格版权合规的词典内容不建议让模型直接复制有版权的词典释义和例句。需要实时同步的高频协作场景如果多人同时操作 Notion 数据库建议先确认连接器的写入机制是否能满足并发要求。离线环境且不想配置模型服务如果本地无法访问模型服务也不具备外部调用条件自动化链路会受限。2.4 合规边界使用 Workbuddy 生成单词卡片并导入 Notion需要注意Notion 工作区内的数据是你自己的账号数据批量写入前要确认数据库的权限范围避免误写他人共享空间生成内容涉及词典释义、例句、图片时优先使用无版权或已授权的数据源如果要对卡片内容进行二次分发应人工审核并标注来源不要把个人学习数据无防护地写入公共空间。3. 环境准备与前置条件3.1 需要准备什么项目说明Workbuddy 运行环境Windows/Linux 客户端或本地部署环境按官方渠道下载对应版本Notion 账号可正常登录的 Notion 账号建议先建一个测试工作区Notion 数据库提前创建好单词卡片数据库并确认字段类型Notion API Token可选如果不使用连接器而直接调用 API 写入需要集成 Token网络环境能访问 Workbuddy 服务与 Notion API3.2 在 Notion 中创建单词卡片数据库建议先在 Notion 中创建一个数据库并预先设计字段。一个常见的单词卡片库结构如下属性名类型示例word公式或标题mitigatephonetic富文本/ˈmɪtɪɡeɪt/part_of_speech富文本或选择v.definition富文本缓和减轻example富文本The policy helped mitigate the impact.example_cn富文本该政策有助于减轻影响。tags多选六级, 商务英语这里的关键是Notion 数据库里必须有一个标题类型的属性。Workbuddy 或 API 写入时标题字段是必填的。如果数据库里没有标题列创建页面时会报错。3.3 Notion 集成 Token 的准备方法如果走 API 写入需要在 Notion 里创建一个集成Integration然后获取 Token 并授权给目标数据库。流程大概是进入 Notion 的设置页面找到“连接”或“集成”入口新建集成后复制 Internal Integration Secret然后在目标数据库页面右上角菜单里把该集成添加为可连接对象。这个 Token 会作为请求头的 Authorization 使用。具体入口名称以你的 Notion 版本为准。4. Workbuddy 部署与启动配置4.1 安装与启动从材料看Workbuddy 提供常规客户端安装和本地部署两种路线Linux 也有对应版本。实际安装方式以官方安装包和文档为准。通用安装流程# 示例下载安装包后在终端启动实际文件路径以你下载的版本为准 chmod x workbuddy-installer ./workbuddy-installer # 启动客户端 workbuddy如果使用一键包或安装向导双击安装包后按提示完成安装即可。第一次启动通常需要登录账号并选择一个工作目录用于存放任务配置、日志和导出文件。4.2 新建自动化任务或技能启动后先不急着生成卡片建议按三件事走一遍确认 Workbuddy 能正常对话或运行 skill。找到连接器配置页面确认是否已提供 Notion 或 HTTP 类连接器。准备一段最简单的词表跑通“输入 - 生成 - 写入”的最小链路。如果你的版本没有内置 Notion 连接器也可以让自动化流程输出符合 Notion API 格式的 JSON再由一段脚本或 HTTP 连接器调用 Notion API 完成写入。后面第 7 节会给出一个可直接修改的 API 示例。4.3 连接器配置思路连接器的主要作用是让智能体能够写外部系统。针对 Notion有两种联通方式方式一使用 Workbuddy 内置的 Notion 连接器在连接器配置里粘贴 Notion Token并指定目标数据库 ID。方式二使用 HTTP 连接器让自动化流程向 Notion API 发起 POST 请求。方式二更通用兼容性也更好缺点是需要在流程里自己拼 JSON 报文。方式一配置更简单但前提是你的 Workbuddy 版本确实支持 Notion 连接器。建议首次验证时优先用方式一如果找不到相关配置就切到方式二。5. 一键生成单词卡片的自动化流程设计5.1 整体链路整个自动化流程可以拆成四步输入用户提供一批生词可以手动粘贴也可以导入一个生词文本文件。生成Workbuddy 根据预设的单词卡片模板为每个单词生成音标、词性、释义、例句等字段。结构化把生成结果组装成符合 Notion 数据库字段的 JSON 数据。写入通过连接器或 API 把数据写入 Notion 数据库并返回写入结果。5.2 自定义指令模板如果 Workbuddy 支持在对话中调用自定义指令可以准备这样一段固定指令每次直接调用你是一个单词卡片助手。请把用户给出的单词列表逐个生成单词卡片。 每个卡片必须包含以下字段 word单词本身 phonetic英式音标 part_of_speech词性 definition中文释义简洁不超过一行 example一个英文例句 example_cn对应中文翻译 tags一个或多个标签用逗号分隔 输出格式为 JSON 数组示例 [ { word: mitigate, phonetic: /ˈmɪtɪɡeɪt/, part_of_speech: v., definition: 缓和减轻, example: The policy helped mitigate the impact., example_cn: 该政策有助于减轻影响。, tags: 六级,商务英语 } ] 只输出 JSON不要输出多余解释。这里有个实用技巧指令最后一定要加“只输出 JSON不要输出多余解释”。否则模型会在 JSON 前后输出说明文字后续解析会比较麻烦。5.3 词卡结构设计在设计 Notion 数据库字段时建议把尽量多的信息放到“富文本”和“多选”字段避免使用复杂的关系属性和公式属性。原因很简单API 写入富文本和多选字段最稳定公式字段通常不能由 API 直接写入需要 Notion 端预先定义公式逻辑。一个推荐的结构标题字段word富文本字段phonetic, part_of_speech, definition, example, example_cn多选字段tags时间字段created_time可让 Notion 自动记录或 API 写入5.4 批量词表输入Workbuddy 处理批量任务时输入规模会直接影响生成耗时。建议分批输入每次 10 到 20 个单词。一个原因是生成质量更好另一个原因是即使中途失败也能快速定位是哪一批出了问题。可以在输入中明确提示“本次共有 15 个单词请逐个生成”。6. 功能测试与效果验证6.1 单词语义生成测试目的验证 AI 是否准确理解单词含义并生成正确卡片。操作输入 5 个常见单词检查输出 JSON 中每个字段是否有内容。判断标准音标格式完整。词性准确。中文释义无歧义。例句语法正确翻译与例句对应。如果发现释义偏差检查自定义指令里是否写清了“使用英汉双解词典风格”或者模型本身对冷门单词了解不足。冷门词建议在指令中补充“如果无法确定释义请标注【待确认】”。6.2 卡片结构完整性测试目的验证生成结果能否被下游脚本或连接器解析。操作让模型生成 5 个单词的 JSON 数组将输出复制到一个 JSON 校验工具中检查格式。判断标准JSON 格式合法。数组长度与输入单词数量一致。每个对象字段完整没有缺失。字段值没有出现换行符导致 JSON 解析失败。常见失败原因是模型在 JSON 字符串中加入了未转义换行尤其是例句字段。如果出现这种情况可以在指令中补充example 字段不要包含换行。6.3 Notion 导入测试目的验证数据能否真实写入 Notion 数据库。操作在 Notion 中创建一个测试数据库只包含 word 标题字段和 definition 富文本字段然后用 Workbuddy 的 Notion 连接器或 API 写入一条记录。判断标准Notion 数据库中出现了一条新记录。标题字段的单词正确。definition 字段显示了中文释义。重复执行同一条指令不会产生意外重复页面。6.4 批量与重复执行测试目的验证批量任务稳定性和幂等性。操作输入 20 个单词完整跑一遍流程再输入同样的 20 个单词跑一遍。判断标准第一次全部写入成功。第二次如果没有做幂等控制应该能看到重复记录如果做了幂等控制则不应新增重复记录。更稳妥的做法是在 Notion 数据库里增加一个“唯一检查”逻辑先按 word 查询数据库中是否已有该单词如果已存在则跳过或更新而不是直接插入。这个逻辑可以在自动化流程中写成“先查询再写入”。7. 接口 API 与批量任务扩展7.1 用 Notion API 写入单词卡片如果你不希望依赖 Workbuddy 内置连接器或者想把这个流程接入自己的脚本可以直接调用 Notion API。下面是一个创建数据库页面的 Python 示例import requests import json import os NOTION_TOKEN os.getenv(NOTION_TOKEN, secret_替换为你的Token) DATABASE_ID os.getenv(NOTION_DATABASE_ID, 替换为你的数据库ID) headers { Authorization: fBearer {NOTION_TOKEN}, Notion-Version: 2022-06-28, Content-Type: application/json, } def create_word_card(word, phonetic, pos, definition, example, example_cn, tagsNone): payload { parent: {database_id: DATABASE_ID}, properties: { word: { title: [ {type: text, text: {content: word}} ] }, phonetic: { rich_text: [ {type: text, text: {content: phonetic}} ] }, part_of_speech: { rich_text: [ {type: text, text: {content: pos}} ] }, definition: { rich_text: [ {type: text, text: {content: definition}} ] }, example: { rich_text: [ {type: text, text: {content: example}} ] }, example_cn: { rich_text: [ {type: text, text: {content: example_cn}} ] }, }, } if tags: payload[properties][tags] { multi_select: [{name: tag.strip()} for tag in tags.split(,) if tag.strip()] } resp requests.post( https://api.notion.com/v1/pages, headersheaders, jsonpayload, timeout30, ) return resp.status_code, resp.json() if __name__ __main__: status, data create_word_card( wordmitigate, phonetic/ˈmɪtɪɡeɪt/, posv., definition缓和减轻, exampleThe policy helped mitigate the impact., example_cn该政策有助于减轻影响。, tags六级,商务英语, ) print(status) print(json.dumps(data, ensure_asciiFalse, indent2))这段代码需要替换三个值Token、数据库 ID、以及 Notion 数据库里的实际字段名。如果字段名不一致请求会返回 400 错误日志里会明确提示是哪个属性无效。7.2 curl 写入示例如果你只是想做一次快速验证用 curl 也可以curl -X POST https://api.notion.com/v1/pages \ -H Authorization: Bearer secret_替换为你的Token \ -H Notion-Version: 2022-06-28 \ -H Content-Type: application/json \ -d { parent: {database_id: 替换为你的数据库ID}, properties: { word: {title: [{text: {content: ubiquitous}}]}, definition: {rich_text: [{text: {content: 无处不在的}}]} } }这个示例只写入了两个字段验证链路完全够用。如果把字段名写错Notion 会在响应里返回具体的属性错误。7.3 批量任务设计批量任务的关键是控制节奏和记录结果。参考实现思路words [ {word: mitigate, pos: v., definition: 缓和减轻}, {word: ubiquitous, pos: adj., definition: 无处不在的}, {word: pragmatic, pos: adj., definition: 务实的}, ] success_count 0 failure_records [] for item in words: try: status, data create_word_card( worditem[word], phoneticitem.get(phonetic, ), positem.get(pos, ), definitionitem.get(definition, ), exampleitem.get(example, ), example_cnitem.get(example_cn, ), tagsitem.get(tags, ), ) if status in (200, 201, 202): success_count 1 print(f[OK] {item[word]}) else: failure_records.append({word: item[word], status: status, data: data}) print(f[FAIL] {item[word]}: {status}) except Exception as exc: failure_records.append({word: item[word], error: str(exc)}) print(f[ERROR] {item[word]}: {exc}) print(f写入完成成功 {success_count}/{len(words)}失败 {len(failure_records)} 条)批量任务建议加两个机制一是日志记录把每条记录的写入状态落盘二是失败重试对 429 限流类错误和 5xx 服务错误做指数退避重试重试次数控制在 3 次左右。7.4 幂等控制重复执行批量任务时如果不做幂等控制Notion 数据库里会出现重复卡片。建议用“先查询再写入”的策略在调用创建接口之前先调用查询接口检查该 word 是否已存在。Notion 的查询接口是 POST https://api.notion.com/v1/databases/{database_id}/query请求体可以用 filter 过滤 word 标题字段。如果查询结果非空就跳过创建或改为更新。8. 资源占用与性能观察8.1 观察什么对于这类 Agent 自动化任务性能重点不是显存而是三个指标单批任务耗时、接口成功率和输出稳定性。建议在自动化流程里打印每个阶段的耗时import time start time.time() # 调用 Workbuddy 技能生成单词卡片 cards run_workbuddy_skill(words) print(f生成耗时{time.time() - start:.2f}s)8.2 影响耗时的因素单词数量单批越多生成越慢建议 10 到 20 个一批。模型能力生成音标、释义和例句属于多步推理任务模型越复杂耗时越长。网络延迟每次调用 Notion API 都有网络往返批量写入时尤其明显。限流策略如果请求过快触发 Notion API 限流会进入重试等待整体耗时明显上升。8.3 如何优化先小批量验证再把规模放宽到 20 个以上。批量写入时在请求之间加 0.2 到 0.5 秒的延时降低限流概率。如果每天只需要同步一次用定时任务在低峰期执行。输出格式尽量稳定减少后续清洗成本。9. 常见问题与排查方法问题现象可能原因排查方式解决方案Workbuddy 能对话但不会生成卡片没有加载自定义指令或技能检查 skill 是否启用指令是否包含完整字段定义重新启用技能贴入完整指令模板生成的卡片缺少音标模型对冷门词不熟悉检查输出内容对比词典指令中补充“不确定时标注【待确认】”后续人工复核JSON 输出多余文字指令未限制输出格式查看原始输出指令末尾加“只输出 JSON不要输出多余解释”写入 Notion 返回 400字段名或字段类型不匹配查看响应中的属性错误信息对照数据库字段名修改 payload写入 Notion 返回 401Token 无效或未授权检查 Token 与数据库授权重新复制 Token在数据库共享设置里添加集成写入 Notion 返回 404数据库 ID 错误或没有访问权限检查 database_id复制正确的数据库 ID确认集成已授权该数据库批量导入产生重复卡片没有做幂等控制查询数据库记录增加“先查询再写入”逻辑API 调用频繁被限流请求太快查看返回头中的限流信息增加请求间隔加入退避重试定时任务没执行时间配置错误或进程未运行查看定时任务日志重新配置时间确认进程常驻9.1 启动相关排查如果本地部署时遇到启动问题先检查三点安装包版本是否与操作系统匹配首次启动是否生成了配置目录日志输出在哪个位置。从材料看Workbuddy 存在 Linux 版本和麒麟版等不同发行版本安装时务必对照自己系统的架构和版本选择安装包交叉安装容易出现动态库缺失或启动闪退。9.2 Notion 连接器排查连接器配置完成后建议先用一条测试数据验证连接是否正常。如果连接失败优先检查 Token 是否还有效、数据库 ID 是否属于该集成可访问的范围以及 Notion 网络请求是否被防火墙拦截。不要直接跑大批量任务避免连接失败后留下一堆半成品数据。10. 最佳实践与使用建议10.1 先跑最小闭环第一次配置时不要追求完整功能。先在 Notion 建一个只有 word 和 definition 两个字段的测试数据库用 1 个单词跑通“生成 - 写入”链路。链路通了之后再逐步增加 phonetics、example 等字段。10.2 给 Notion 数据库设计预留字段建议在数据库里额外预留一个 status 字段用于标记卡片的复核状态例如待复核、已复核、已掌握。自动化生成的卡片默认标记为“待复核”。这样既能享受自动化带来的效率又能避免未经人工确认的内容直接进入正式学习列表。10.3 把自定义指令当作配置文件管理把 Workbuddy 的自定义指令保存到一个 Markdown 或文本文件里同时记录指令版本、适用字段、最后修改时间。这样当 Notion 数据库结构变化时可以快速更新指令并沉淀出新的版本。10.4 批量任务要有日志和重试任何自动写外部系统的任务都要在本地保留一份结果日志。建议至少记录输入单词清单。每条记录的写入结果。失败原因。重试次数。日志可以简单写成 CSV也可以用 JSON Lines 每行一条。不要指望模型输出永远稳定日志是排查问题的基础。10.5 注意版权和数据安全单词卡片中的例句、释义如果来自公开词典优先选用无版权限制的词典数据AI 生成的例句建议人工复核。不要在 Notion 中写入包含个人敏感信息的生词笔记如果确实需要记录使用私有页面并控制共享范围。11. 总结与下一步这个方案把“查词、做卡、录入 Notion”这一条高频重复链路压缩成了一个动作。最值得先验证的有三点Workbuddy 是否能按固定指令输出结构化 JSON、Notion 连接器或 API 是否能真实写入数据库、重复执行时能否避免重复数据。第一个验证的是模型的可控性第二个验证的是联通性第三个验证的是工程化程度。最容易踩的坑也在前面出现JSON 输出格式不稳定、Notion 字段名不匹配、批量任务缺少幂等控制。这三个问题解决之后整个流程基本就能稳定运行。下一步可以考虑把范围扩大从单词卡片扩展到阅读笔记、律所案例库、产品术语表或者把触发方式从手动指令升级为定时任务每天自动从生词本提取新词并生成卡片。这个链路里已经积累下来的连接器配置、自定义指令模板和 API 写入脚本未来对接其他知识库工具时也可以复用。建议收藏这篇文章动手配置时对照着一步步操作。实际配置时如果遇到和上文不一致的界面或参数以你安装的 Workbuddy 版本和 Notion 页面实际字段为准。