Install
openclaw skills install @myd2002/tencent-meeting-ingestIngest Tencent Meeting recordings, minutes, and transcripts into the Research KB by delegating platform fetching to tencent-meeting-skill, then letting OpenClaw generate structured meeting wiki pages and related KB updates.
openclaw skills install @myd2002/tencent-meeting-ingest本 skill 只负责“腾讯会议资料入库编译”。腾讯会议平台能力不在这里重新实现:会议列表、录制列表、智能纪要、转写全文、录制地址和权限错误都必须通过已安装的 tencent-meeting-skill / tencent-meeting-mcp 调用。
后端负责创建资料源、触发任务、保存任务状态和传递 payload/resultFile。Python 脚本只负责确定性动作:读取 payload、调用外部腾讯会议 skill、归档源材料到 source_files/tencent_meeting/、准备 OpenClaw 上下文、校验 OpenClaw 生成的 JSON、写入 Gitea、维护 catalog.json/index.md、写 resultFile。OpenClaw 负责智能判断:理解会议内容、生成结构化会议 Wiki 页面、判断是否需要更新项目页/概念页/资源页/其他相关页、组织页面之间的链接。
本 skill 不做会议创建、取消、改期、权限申请提交、邮件通知、issue 草稿、问答沉淀,也不保留“没有 OpenClaw 时自动生成简陋页面”的 fallback。
会议入库不只是生成会议纪要页。写 pages.json 前,OpenClaw 应私下做一次知识图谱规划:每场会议先落到 meetings/ 实体页,再判断它是否改变项目路线、研究主题、实验计划、资源选择、团队导航或已有概念/资源页。没有证据时不要硬建关系页;但会议明确带来决策、路线变化或跨页面综合价值时,应更新相关 overview/、projects/、concepts/、resources/ 或其他页面,并保留解释性跳转。
必须在 OpenClaw 运行环境中具备:
tencent-meeting-skill 或 tencent-meeting-mcp。TENCENT_MEETING_TOKEN,供腾讯会议 skill 使用。GITEA_URLGITEA_BOT_TOKENGITEA_BOT_USERNAME 或 GITEA_ORGTEAM_KB_REPO可选:
TENCENT_MEETING_SKILL_COMMAND:显式指定腾讯会议 skill CLI,例如 python3 /path/to/tencent-meeting-skill/scripts/tencent_meeting.py。未配置时,脚本会查找同级 skill 目录 tencent-meeting-skill/scripts/tencent_meeting.py 或 tencent-meeting-mcp/scripts/tencent_meeting.py。本 skill 使用两段式流程。
python3 scripts/run_task.py prepare --input <payload.json> --context-output <context.json>
prepare 会:
lastSnapshot。historyLookbackDays 天扫描历史会议,默认 180 天;默认拆成 7 天窗口以避免腾讯会议 MCP 大窗口静默返回空,windowDays 可配置且最大不超过 31 天;默认 pageSize=10,与腾讯会议 skill 示例保持一致。lastSnapshot.scanUntil 往前重叠 incrementalOverlapDays 天,默认 3 天,避免会议纪要延迟生成导致漏扫。get_records_list 按时间窗口查询录制文件,这是最节省额度且最贴近“可入库纪要/转写”的入口;get_records_list 返回空,且未配置 fallbackToEndedMeetings=false,自动调用 get_user_ended_meetings 补充已结束会议,再按会议 ID/会议号查询录制,避免“网页里有历史会议但录制时间窗口返回空”导致误跳过;includeEndedMeetings=true,则无论录制时间窗口是否返回内容,都额外调用 get_user_ended_meetings 补充已结束会议;get_smart_minutes 优先获取 AI 智能纪要;get_transcripts_details(pid=0) 优先获取转写全文;若返回空或失败,再用 get_transcripts_paragraphs 获取段落 ID,并按段落调用 get_transcripts_details 补全文。inputItems[] 交给 OpenClaw。source_files/tencent_meeting/<sourceId>/<date>-<slug>-<hash>.md。skippedSources[]。incompleteItems[] 或 errors[],不自动申请权限,也不生成低价值空页面。context.json。如果没有新内容,prepare 会把 skip 结果写入 resultFile。如果某些扫描窗口因为 MCP 额度、网络或平台错误失败,snapshot.scanComplete=false,且不会把 scanUntil 推进到当前时间;后续扫描会继续覆盖未完整完成的历史窗口,避免漏掉旧会议。OpenClaw 必须阅读 context.json,为每个 inputItems[] 至少生成或更新一个 meetings/ 实体页。每个页面必须带 sourceItemKeys,引用对应会议的 inputItems[].itemKey。
建议输出:
{
"pages": [
{
"path": "meetings/2026-07-07-project-sync.md",
"title": "项目同步会:xxx",
"type": "meeting",
"kbType": "wiki",
"sourceItemKeys": ["<inputItems[].itemKey>"],
"projectIds": ["general"],
"keywords": [],
"relatedConcepts": ["concepts/example.md"],
"relatedResources": ["resources/example.md"],
"relatedPages": ["overview/example.md"],
"content": "Markdown 正文,不带 frontmatter"
}
],
"skippedSources": [],
"errors": [],
"snapshot": {}
}
允许写入或更新的目录:meetings/、projects/、papers/、surveys/、code/、experiments/、tech-notes/、notes/、concepts/、resources/、必要的 overview/。不要写 qa/,问答沉淀由 kb_query 负责。不要写 source_files/,源材料归档由 prepare 完成。
python3 scripts/run_task.py apply --input <payload.json> --context <context.json> --pages <pages.json>
apply 会:
pages[] 非空。inputItems[] 至少被一个 meetings/ 页面覆盖。sourceItemKeys 引用有效会议 item。catalog.json 和 index.md。resultFile。会议实体页沿用本地文件入库 skill 的会议模板,当前判断是合理的:它服务科研团队复用,重点不是流水账,而是决策、行动项、风险和证据。
核心章节:
## 会议信息:时间、参与者、主题、腾讯会议 ID/会议号/录制 ID、源材料路径;缺失则标注“来源未提及”。## 议程与背景:会议围绕什么问题展开,关联哪些项目或资料。## 关键讨论:按主题整理观点、证据、分歧和上下文。## 决议:已经达成的决定、理由和影响范围。## 行动项:任务、负责人、截止时间、依赖、状态;缺失则写“来源未提及”。## 风险与阻塞:项目风险、资源缺口、技术难点和待协调事项。## 开放问题:未解决问题和需要补充的证据。## 关联页面:链接相关项目、实验、论文、技术方案、概念或资源。## 来源与证据索引:智能纪要、转写、源材料归档路径、record id、hash。如果会议明确改变某个项目的路线、任务或开放问题,应同步更新 projects/。如果会议反复出现可复用方法、架构、工具、数据集或平台,应视证据更新 concepts/ 或 resources/。不要为普通关键词机械建概念页。
如果会议内容影响团队级导航、阶段性资料包、研究主题地图或项目群总览,应更新 overview/;如果只是一次普通同步、没有导航或综合价值,则不需要硬建 overview。普通页面之间的关系用 relatedPages,概念、资源、代码页分别用 relatedConcepts、relatedResources、relatedCodePages。
最终 resultFile 必须是后端可读的顶层 JSON envelope:
{
"success": true,
"processedSources": [],
"createdPages": [],
"updatedPages": [],
"archivedFiles": [],
"skippedSources": [],
"incompleteItems": [],
"errors": [],
"commitId": "",
"snapshot": {}
}