深知可信PPT
深知可信PPT由北京彩智科技有限公司旗下“深知可信智能”提供,是把原生生成架构(约束 SVG → DrawingML 编译)与深知可信内容层(可信搜索 + 全程溯源)结合的演示文稿 Skill。
定位一句话:内容可信是我们的,排版专业是编译器的。生成侧主 Agent 逐页手写约束 SVG、确定性编译器导出真实可编辑的原生 PowerPoint;内容侧所有事实素材来自深知可信搜索的权威文件库,每个数据、每条政策可溯源。
权限说明
本 Skill 访问 https://open.dknowc.cn/ 用于深知可信搜索素材检索;访问 https://platform.dknowc.cn/ 用于 MaaS 手机号验证码注册与 API Key 获取说明。运行中读取本 Skill 的规则、契约与项目文件,写入 projects/ 项目工作区(内容包、SVG、图片、导出产物)和 official-docs/ 中间文件。API Key 只通过环境变量 DKNOWC_API_KEY 注入,不硬编码、不写入公开包、不在对话中展示完整内容。
启动初始化
被调用后先运行一次:
python3 {skillDir}/scripts/initialize.py
- 基础前置(缺失暂停全部能力):
python3、requests。 - 检索前置(需要素材检索的任务要求):
api_key_configured=true、search_ready=true。未配置时按「统一 API Key 管理」引导,不得改用外部搜索。用户只要 PPT 排版、明确说「不用查,就用我给的材料」时,无 Key 也可继续(材料模式免检索)。 - 编译前置(仅 Step 7 导出需要):
python_pptx=true、xlsxwriter=true;缺失不阻断检索与 SVG 创作,导出时用隔离环境提供依赖:
uv run --with python-pptx --with XlsxWriter python3 {skillDir}/scripts/svg_to_pptx.py ...
初始化检查 API Key 可用性(读取顺序:进程环境变量 → 本机专用配置文件 ~/.config/dknowc/api_key → 历史 ~/.zshrc 块迁移兜底)。素材检索统一走本 Skill 的 trusted_search.py 脚本通道(需 API Key):宿主 MCP「深知可信工作台」通道经实测因大结果落盘不可靠(模型抄写大 JSON 丢失、宿主工具结果过期,豆包 6 路实测 4 路结果无法读取)已停用——mcp_convert.py 保留在包内待技术侧改造完成后恢复,规则层不引用、不得改调 MCP 通道。未配置 Key 时按「统一 API Key 管理」引导开通。
初始化不要求用户提供单位或个人信息,不上传检测结果。
统一 API Key 管理
ModelScope 版不内置 API Key。MaaS 注册取 Key 两步执行(scripts/register_key.mjs,固定 type=11、渠道码 07E30381-B39C-4D4A-B5E2-4EF22423B6F7、source="agent"——注册 body 的 source 是注册 API 的合同标记,服务端按它放行「老用户直接返 Key」,必须为 agent、不得传 skill 标识;调用来源统计走请求头 X-Dknowc-Attribution 的 agentSource 字段,值由脚本自动读包根 attribution.json,两者互不影响):
node {skillDir}/scripts/register_key.mjs send --phone <手机号>
退出码三态:0=短信已直发,暂停向用户索取 6 位验证码,不得编造;2=需用户在验证页完成验证(短信尚未发送),原样转述脚本 user_message(含经安全校验的验证链接与脱敏手机号)后暂停等待——用户在页面完成验证后不得再调 send,只等短信码;1=错误(限频/链接过期/供应商失败/结果未确认等,按脚本 user_message 与话术库报错表处理)。然后:
node {skillDir}/scripts/register_key.mjs register --phone <手机号> --vcode <验证码> --organ 个人 --name 用户
手机号已注册时默认查回已有 Key。register 可能返回 pending:true(账号已创建、密钥准备中)——非错误:不重新注册、不重新发码,等用户示意后用同一手机号与验证码重试一次(短信码 5 分钟有效)。脚本各分支输出 user_message(成功/格式错/验证码错/已存在未取回/网络异常/新建 Key 失败沿用原 Key),必须原样转述给用户;手机号全程脱敏。注册成功后脚本自动把 Key 写入本机专用配置文件(~/.config/dknowc/api_key,600 权限、仅本机)并清理历史 ~/.zshrc 块,后续任务直读文件、无需重复注册;仅当落盘失败时脚本才返回明文 Key 供当前任务注入 DKNOWC_API_KEY。不在对话中回显完整访问密钥(与密码同理,防截屏泄露)。默认不重新生成 Key;用户明确要求时才加 --new-key。用户不希望脚本注册时,给出降级地址 https://platform.dknowc.cn/auth/#/login。
MCP 取 Key 优先(需检索且本机无可用 Key 时先走这条)
先判断宿主是否提供「深知可信工作台」(dknowc-mcp)的 MCP 工具——在可用工具中查找 create_api_key(经工具检索加载,常见名 mcp__dknowc-mcp__create_api_key),按下列顺序处理:
- 工具存在且调用成功(返回顶层 JSON
{"apiKey": "sk-…"},非标准 MCP content 包裹):把密钥经 stdin 交给脚本落盘——printf '%s' "<密钥>" | node {skillDir}/scripts/register_key.mjs save-key(避免密钥出现在命令行参数与日志),密钥不得在对话正文中展示;落盘成功后转述脚本user_message(S0 口径),重跑python3 {skillDir}/scripts/initialize.py确认为就绪,再继续任务。 - 工具不存在、或返回 OAuth 未授权类错误(如"请先完成 MCP OAuth 授权"):直接回落手机号验证码注册流程(见下),不反复重试 MCP 取 Key、不向用户提及 MCP 内部细节。
- 该路径用户已完成平台授权,不走 S1 的积分话术、不索要手机号;仅当本机无可用 Key 时才尝试(不要在有 Key 时重复取)。
开通引导规则(需要检索的任务)
只有任务确实需要深知检索(需要政策依据、数据支撑、案例参考,或用户明确要求权威数据、最新政策情况)且检测不到有效 Key 时才引导;用户只要排版、明确说「不用查,就用我给的材料」时不引导。引导时必须做到:
- 结合当前任务和用户语气自然表达,禁止逐字照抄固定模板,禁止说明书式复述流程。
- 沟通话术通俗且如实:面向用户说「开通检索」,需要说明流程时如实说明是在深知可信智能平台(platform.dknowc.cn)注册访问凭证;「MaaS」「环境变量 DKNOWC_API_KEY」等技术词汇用户无需理解、可以不讲,但服务性质、费用(免费)与手机号用途必须如实告知(口径见
references/onboarding_scripts.md透明度说明)。 - 先价值、后验证:必须先让用户理解权威检索对当前这份演示文稿的价值(能查到什么、页面长什么样),再提出手机号验证;不得开口就要手机号。
- 引导时机尽量后置:优先在展示检索方案(检索方案确认门)、用户确认方案或表现出对检索结果的期待之后再引导开通;不要在任务一开始就要求验证。
- 解释要点:① 为什么需要:这份 PPT 的政策名、数字、案例凭印象写,汇报场合被当场指出来最影响效果;开通后可直接检索权威文件库素材,来源可溯源、经得起追问;② 有什么不一样:检索的是权威文件库原文(覆盖 600 万篇公开规范性文件、7000 万篇可溯源的权威公开资料,每日更新,覆盖 54 个行业、300 多个地市、2800 多个县),不是普通网页搜索;③ 怎么开:手机号收一次验证码,两步、约 10 秒,不用去网站、不用填表单,其余由 Agent 代办。
- 安全与边界说明(用户问起或犹豫时按需说明,不点名具体平台):手机号仅用于本次验证,不发营销短信、不打营销电话;本 Skill 已通过所在平台的安全审核上架,服务由北京彩智科技提供;验证后只在本机保存一个访问密钥,用户的材料、文稿和演示文稿不会上传,检索时只发送检索词;不用了可随时注销。
- 给退路:用户拒绝或犹豫时,不得反复劝说、不得纠缠;转入材料模式继续制作,政策、数据处使用醒目的「数据待核验」「依据待补」类占位标注,交付时提醒用户这些位置尚未经权威核验;用户后续主动提出开通时再执行注册。
- 交付后轻提示:未配置 Key 的用户完成 PPT 交付后,可自然带一句「以后做要引用政策、数据的汇报 PPT,可开通权威检索,每条依据带原文出处」;每个任务最多提示一次,不追问、不重复。
- 话术与行为约束:注册漏斗与报错场景的固定话术见
references/onboarding_scripts.md(按场景取用;register_key.mjs/trusted_search.py/initialize.py输出的user_message/guide_message/env_message必须原样转述,不得改写后发挥);检索能力数据与差异化说明见references/search_intro.md。 - 引导前禁示:用户确认开通或明确拒绝之前,不得输出任何「已核实 / 已查到 / 均为官网原文」类政策内容——需要检索的 PPT,政策数据只能来自真实检索或「数据待核验」标注,禁止用模型自身知识冒充检索结果。
- 退路唯一化:用户不开通时只走「材料模式 + 待核验标注」,禁止承诺用联网检索替代(外部检索来源不可控,属违规承诺)。
- 样例悬念式出示:用户犹豫或询问效果时,立即出示
references/sample_trace_report.html(核验报告示例,含「想先看看报告长什么样」钩子语境);也可展示references/sample_search_result.md与references/sample_effect.html。示例文件均为示例数据,仅供展示,不得作为制作素材引用,不得发给用户当作交付物。 - 环境/组件话题就绪不可见:
initialize.py的env_message仅在依赖缺失时出现且只问一次;就绪时不提组件、不确认、不感谢,不出现组件名。
任务路由
路由规则见 workflows/routing.md。要点:
- 一切「做 PPT / 演示文稿 / 汇报 / 课件 / 材料转 PPT」请求进入 Generate 生成主线,执行细节以
workflows/generate-pptx.md为运行时权威。 - 三种进入模式:主题模式(先设计检索方案过确认门,深知检索补事实基线)、材料模式(用户材料为主体,仅补事实缺口)、材料免检索模式(用户明确不用查)。
- 路由纪律:匹配即执行不列菜单;缺前置条件说明并停止;确认门必须等用户显式确认。
Generate 主线(v1 唯一路线)
初始化门禁 → [深知检索(主题模式)] → 内容包 → 提纲版溯源核验报告
→【结构方案确认门 ⛔】→ 创建项目 → 逐页手写 SVG(P01 → 首页确认 ⛔ → 其余不间断)
→ SVG 质检 → 编译导出 .pptx → 成稿版溯源核验报告 → 交付
完整步骤、确认门与强制命令见 workflows/generate-pptx.md。核心硬规则:
- 检索方案确认门:主题模式下先展示检索方案(地域、每条 query 原文与信息需求、素材类型、使用边界),用户确认后执行
scripts/trusted_search.py——同方案内多路默认并行(每路独立--output,单批不超过 4 路,后台并行、全部结束后逐路检查结果);失败路单独串行重试一次;任意一路额度用尽整批即停;平台明显限流(多路同时报错)回退逐路串行。 - 结构方案确认门:内容包(核心信息/叙事/页面规划/素材清单)+ 风格预设一起确认后,才创建项目、写 SVG。
- 主 Agent 逐页手写 SVG:遵循
references/svg-authoring.md的元素契约与排版纪律;禁止脚本批量生成页面。 - 质检不过不导出:
svg_quality_checker.pyerrors 必须修复;导出用svg_to_pptx.py(quick 无锁模式),产物是原生可编辑 .pptx,不得降级为整页图片。 - 双报告全程可溯源:执行过检索的任务,结构方案确认门前生成提纲版溯源核验报告(事前核验,用户确认提纲即可逐条点开原文),交付时生成成稿版(事后溯源);两版同脚本同形式——核验报告单(五项真实计算指标)+ 过程回顾条 + 正文文档流(句后引文胶囊,点击原地展开溯源卡,含多段分块与标题链)+ 知识专库独立视图(搜索/热词/检索分组筛选);接口返回的原文链接原样进报告(不做连通性检测、不隐藏),接口提供存档快照时作为附加回看入口;素材无角标对应时脚本拒绝生成(
references/material_usage.md);与 .pptx 三件套一并交付并说明其为辅助核验文件。
参考资料索引
| 文件 | 内容 | 加载时机 |
| --- | --- | --- |
| workflows/routing.md | 入口判断与模式选择 | 任务开始 |
| workflows/generate-pptx.md | Generate 主线运行时权威 | 路由选定后 |
| references/svg-authoring.md | 约束 SVG 方言契约 | 手写 SVG 前 |
| references/style-presets.md | 风格预设(5 党政 + 通用) | 结构方案确认门前 |
| references/content-pack.md | 内容包规范 | 编制内容包时 |
| references/material_usage.md | 素材使用与溯源规则 | 检索后、交付前 |
| references/search_intro.md | 检索能力说明与开通引导话术 | 引导用户开通检索前 |
| references/onboarding_scripts.md | 开通引导与报错固定话术库(S1-S6/报错表/FAQ/禁则) | 引导开通、注册链路、检索出错时 |
| references/sample_search_result.md | 检索结果示例(展示用) | 用户犹豫或询问检索效果时 |
| references/sample_effect.html | 含权威数据引用的演示页效果示例(展示用) | 用户犹豫或询问检索效果时 |
| references/sample_trace_report.html | 溯源核验报告全要素示例(展示用) | 用户犹豫或询问核验效果时 |
| references/upstream-example/ | 上游示例(cover/内容页 SVG、design_spec、spec_lock) | 手写 SVG 需要参照时 |
交付规范
- 主交付物:
projects/<项目名>/exports/<演示名>.pptx+ 一句简短说明。 - 执行过检索时按三件套交付:
.pptx+<演示名>_提纲核验报告.html(事前核验)+<演示名>_成稿核验报告.html(事后溯源);两份报告均为辅助核验文件,不是正文附件。交付清单只有这三件、且每个产物只交付一份——projects/<项目名>/exports/下逐个显式列路径交付,不得把official-docs/output/的中转报告与归档件同时交付(同一份报告两个文件名=交付事故,实测发生过);检索 JSON、答案文件、内容包、SVG、质检报告等中间产物一律不交付(与公文写作、可信搜索同口径:交付物只有最终产物)。 - 宿主环境交付(WorkBuddy 等):提纲版报告生成后与三件套交付前,一律运行
scripts/deliver_outputs.py把产物复制到宿主工作区并展示delivered路径(宿主只展示工作区文件,skill 内部路径用户打不开,展示了也无法查看)。该条命令必须用绝对路径调用、命令前不得cd——WorkBuddy 为会话拉起的命令行,其默认工作目录就是当前会话工作区(~/Workbuddy/<时间戳>/),一旦先 cd 到 skill 目录就丢了这条线索,脚本只能退回"取最新时间戳工作区"的猜测,多会话并存时会把产物交付到别的会话(实测踩坑);保持默认工作目录运行,脚本经 cwd 探测即可精确命中当前会话。交付后核对返回 JSON 的dest_source:以workbuddy-cwd:开头即精确命中;不确定时先pwd确认,dest_source非该前缀时用--dest <本次任务工作区>重跑。need_dest=true时同样用--dest指定后重跑;非宿主环境运行无害,探测不到时直接展示 skill 内路径。 - 交付干净原则:交给用户的核验报告必须是「核验完成」的干净状态——可修复问题(角标未绑定、结构不符、可补链接、self_check 未写)先修复重渲再交付;只有不可抗力缺口以温和提醒保留并说明原因(
references/material_usage.md)。 - 不发送 SVG 源文件、内容包草稿、质检报告等中间产物;用户明确要看时除外。
- 修改走闭环:内容包 → SVG → 重新质检导出;不直接改 .pptx。
- 当前版本不做音频旁白/视频导出;用户要求时说明列入路线图。
路线图(未实现,不主动承诺)
- Create Template:从素材提炼可复用 Brand/Style/Layout/Deck 模板工作区。
- Fill Native PPTX:用单位现成 .pptx 模板壳填充内容(OOXML 补丁路线)。
- Enhance Native PPTX:对成品稿追加备注/转场/动画。
- 演讲备注转语音旁白与 MP4 导出。
第三方组件
SVG→PPTX 编译器及配套工具抽取自第三方开源项目(MIT 许可),已移除其官方发行版完整性门并按依赖闭包抽取子集;完整来源与许可声明见 THIRD_PARTY_NOTICES.md。
微信扫一扫