Install
openclaw skills install @dylanzhangzx/dknowc-trusted-consulting当用户咨询政策法规、政务办事、税务社保、公积金、企业补贴、资质证照、行业标准、公共服务、合规义务、企业经营政策、投资技改税惠、办事条件、材料清单、申请路径、风险判断,或要求权威依据、可信溯源、带角标答案、深知可信咨询时,使用深知可信咨询。该 Clawhub Public 版调用深知可信统一问答接口 credibleChat 获取答案和参考材料,输出带真实来源角标和来源清单的咨询答案,并默认生成本轮可交互可信核验报告 HTML(首屏核验报告单:依据溯源/引用绑定/时效检查/类型覆盖/答案自检)与移除角标的干净 Markdown。Clawhub Public 版不内置 API Key,统一通过环境变量 DKNOWC_API_KEY 注入。
openclaw skills install @dylanzhangzx/dknowc-trusted-consulting本 skill 用于通过深知可信统一问答接口回答用户咨询问题,并生成带角标的本地可信核验报告 HTML。它只覆盖统一接口 credibleChat 能力;不要在本 skill 中使用可信搜索、深度搜索或政策可视化流程。Clawhub Public 版不内置深知可信统一接口 API Key;API Key 必须通过环境变量 DKNOWC_API_KEY 注入,不得硬编码,不得写入公开包,不得在对话中展示完整内容。
只要本 Skill 被调用,第一步必须运行:
python3 scripts/initialize.py
只有初始化结果同时满足 ready=true、api_key_configured=true、api_key_source=environment,且未返回 search_ready=false 时,才可以进入咨询、问答、分析、拟稿、整理或任何可替代正式结果的输出流程。
如果初始化结果中 api_key_configured=false、search_ready=false,或 blocking_issues 包含 api_key_missing,暂停可信咨询流程,按下面的开通引导规则向用户说明并引导开通;用户明确拒绝或犹豫时按退路降级交付,不得反复劝说。
向用户引导时必须做到:
DKNOWC_API_KEY"等;用户侧只表达为"开通可信咨询功能",不说"注册""注册账号"。reference/consult_intro.md;用户犹豫或询问效果时,可读取 reference/sample_consult_answer.md 和 reference/sample_trace_report.html 向用户展示带角标回答和可信溯源报告的效果。两个示例文件均为示例数据,仅供展示,不得作为答案素材引用,不得发给用户当作交付物。所有说明用自己的话自然组织,不得整段照抄参考文件。语气示范(不要照抄,模仿这种自然口吻组织语言):
这个问题涉及具体的办事条件和金额口径,凭记忆回答容易过时或者记错地区差异,答错了会影响办事和决策。开通可信咨询后,我可以直接基于权威文件库回答——覆盖 600 万篇公开规范性文件、7000 万篇可溯源的权威公开资料,每日更新;回答里的条件、金额、办理路径都带原文出处,可点开核验,这是普通联网回答做不到的。
开通只需手机号收一次验证码:两步、10 秒左右,不用去网站、不用填表单,剩下的我来办。手机号仅用于本次验证,不会有营销骚扰。
也可以先不开通:我按已有知识先答,并标注"未联网核验、口径可能过期",你看答案时注意甄别。
首次使用深知可信咨询需要先完成深知可信统一接口账号初始化。本 Skill 的 scripts/register_key.mjs 只负责发送验证码、注册/查回 Key、可选新建 Key,并把 Key 返回给当前任务;该脚本不持久化保存 Key。持久化环境变量是独立步骤,必须在用户明确同意后由 Agent 单独处理。
MaaS Key 获取按两步流程执行:
node scripts/register_key.mjs send --phone <手机号>
返回 status=true 后,暂停并向用户索取收到的 6 位验证码,不得自行编造验证码。
拿到验证码后执行:
node scripts/register_key.mjs register --phone <手机号> --vcode <验证码> --organ 个人 --name 用户
注册请求自动使用 Clawhub 渠道码 2787E171-B0E5-4328-9946-47AC52434D1F,并固定携带 source="agent";不传 type 字段(注册接口已不再需要)。如果手机号已注册,MaaS 会在验证码校验通过后查回该账号已有可用 API Key;默认不主动新建 Key。成功后,脚本返回 envName=DKNOWC_API_KEY、apiKey 和 apiKeyMasked,仅供 Agent 当前任务临时注入环境变量使用。不得向用户展示完整 API Key,不得要求用户手动复制 API Key。当前任务应使用脚本返回的 Key 重新运行初始化检查;确认通过后继续处理用户原任务。注册取 Key 步骤不得顺带做持久化写入。
默认不得重新生成 API Key。只有用户明确要求“重新生成 Key”“新建一个 Key”“不要用旧 Key”等表达时,才在上述注册命令后追加 --new-key:
node scripts/register_key.mjs register --phone <手机号> --vcode <验证码> --organ 个人 --name 用户 --new-key
--new-key 会先通过手机号验证码和 source="agent" 查回一把已有可用 Key,再调用 MaaS API Key 创建接口生成新 Key。新 Key 创建失败时,必须暂停并说明错误,不得把旧 Key 当作新 Key 使用。
拿到 Key 后,当前任务先临时注入 DKNOWC_API_KEY 并继续执行。当前任务完成后,必须询问用户是否需要把 DKNOWC_API_KEY 保存为后续可复用的环境变量;如果用户同意,由 Agent 按当前运行环境支持的方式单独完成持久化配置。不要在注册取 Key 脚本中自动执行持久化。
如用户不希望通过脚本获取 Key,给出管理平台地址供其自助开通:https://platform.dknowc.cn/ ;随后按退路规则降级交付,不因此阻塞任务。
scripts/gov_chat.py --json-only,由统一接口返回答案和参考材料。[1]、[2]。关键政策名称、条件、金额、比例、办理路径、适用范围、时间要求和风险判断都要挂接到真实支撑材料。traceUrl,如有)。统一问答接口不返回搜索类知识专库链接,traceUrl 是云平台为本次问答留存的接口侧可信溯源报告:本地报告用于离线查阅与打印归档,云端存档适合向他人出示查验、也可在本地文件遗失时兜底;逐条核验以来源卡上的"查看原文"链接为准。不要把报告改写成另一个独立调研报告。official-docs/output/,中间产物(接口 JSON、答案文件)存 official-docs/search-results/。不要固定文件名,应让 render_trace_html.py 根据用户问题自动生成短文件名;不向 /tmp 写任何中间文件。DKNOWC_API_KEY 注入,不要从配置文件、命令行参数或聊天内容读取或展示。python3 {skillDir}/scripts/initialize.py
python3 {skillDir}/scripts/gov_chat.py "用户原始问题" --json-only --output official-docs/search-results/dknowc_consulting.json
读取 JSON 中的 data.resp.content、data.referenceMaterials 等字段。
形成面向用户的最终答案:
official-docs/search-results/dknowc_consulting_answer.txt。python3 {skillDir}/scripts/render_trace_html.py official-docs/search-results/dknowc_consulting.json \
--title "深知可信咨询核验报告" \
--question "用户原始问题" \
--self-check-file official-docs/search-results/dknowc_consulting_selfcheck.json
如果第 4 步生成了最终答案文件,必须传入:
python3 {skillDir}/scripts/render_trace_html.py official-docs/search-results/dknowc_consulting.json \
--title "深知可信咨询核验报告" \
--question "用户原始问题" \
--answer-file official-docs/search-results/dknowc_consulting_answer.txt \
--self-check-file official-docs/search-results/dknowc_consulting_selfcheck.json
render_trace_html.py 会同时生成可信核验报告 HTML 和同名 .clean.md(移除全部角标的干净 Markdown),输出到 official-docs/output/,文件名形如 问题前缀_可信核验报告_年月日_时分.html。如需指定干净 Markdown 路径,传 --clean-md-output official-docs/output/xxx.md。"来源"清单只属于对话输出:即使答案文件末尾带了来源清单,脚本也会在生成核验报告和 clean.md 前自动去除该块——报告的来源由右栏核验材料面板承载,clean.md 保持纯正文。
脚本还会在 stdout 输出三样重编号结果(接口材料自带全量召回序号如 126、601,脚本统一重编号为 1..n):① dknowc_consulting_answer_final.txt 路径(重编号后的最终答案);② 角标映射(如 [126]→[1]);③ 现成的"对话来源清单"(已重编号、只含被引用材料)。对话回复的正文和来源清单必须直接使用这些输出,保证对话、核验报告、干净 Markdown 三处编号一致;不要自行用接口原始序号组装备注和清单。
核验报告规则:
--self-check-file 传入);政策现行效力无法自动判定,如实列为"建议人工复核"。dknowc_consulting_answer_final.txt 的重编号内容),保留角标;答案末尾附"来源"清单,直接使用脚本打印的"对话来源清单"(已按 [n]《材料标题》· 发布机构 · 日期 格式、重编号、只含被引用材料生成)。不得罗列接口返回的全部材料,不得使用接口原始序号。可信溯源报告 链接;本地核验报告已承载同一类核验信息。render_trace_html.py 实际打印的路径。宿主环境交付(WorkBuddy 等): 产出物默认落在 skill 安装目录的 official-docs/output/,宿主通常只向用户展示其工作区目录的文件,用户可能因此"看不到产出"。每次交付前一律执行(不要自行判断是否宿主环境——宿主执行 skill 脚本时当前目录常在 skill 目录内,肉眼判断不可靠):
python3 {skillDir}/scripts/deliver_outputs.py <核验报告HTML路径> <干净Markdown路径> [--dest <宿主工作区目录>]
脚本按优先级自动探测宿主工作区(--dest 显式指定 > 宿主环境变量 > WorkBuddy 最新时间戳工作区 ~/WorkBuddy/ 的 outputs/ 子目录 > 当前目录),把本次产出物复制过去并返回用户可见路径。向用户展示的是脚本返回的 delivered 路径,不是 skill 内部路径。执行后按返回 JSON 处理:copied=true 时核对 dest 确实是当前任务工作区后展示 delivered 路径,不对时用 --dest 重跑;need_dest=true 时必须用 --dest 指定后重跑,在此之前不得把 skill 内部路径当作交付路径发给用户。
生成核验报告前检查,并把五项结果如实写入 official-docs/search-results/dknowc_consulting_selfcheck.json:
[数字] 角标。--answer-file 传给核验报告的答案是否一致。自检 JSON 格式(键用中文名,值支持 通过/pass/✓/通过:说明文字 等写法):
{"角标存在": "通过", "角标对应来源": "通过:3 个角标全部命中来源材料", "结论可核验": "通过", "答案一致": "通过:与对话输出一致", "来源清单覆盖": "通过"}
如果答案没有角标而接口返回了来源材料,先重写答案再生成核验报告;脚本也会硬校验拒绝无角标答案,不要尝试绕过。
统一接口配置已写入 scripts/gov_chat.py,不保留 config.ini:
DEFAULT_ENDPOINT = "https://open.dknowc.cn/chat/trusted/unification";可用 --endpoint、DKNOWC_KNOW_ENDPOINT 或兼容旧名 DKNOWC_GOV_ZHICHA_ENDPOINT 覆盖。area 默认留空,由接口根据问题识别地域;只有用户明确指定且需要覆盖时才传。material = true: 返回参考材料,用于角标和 HTML 溯源。traceurl = false: 默认不请求可信溯源报告链接;接口响应中若仍返回 traceUrl,由核验报告右栏底部"云端溯源存档"区承载(不在对话中输出)。stream = true: 默认按 SSE 流式返回;使用 --json-only 时脚本会聚合为 JSON。szUserId,实际调用不依赖该字段。| 文件 | 阶段 | 加载条件 |
|---|---|---|
reference/consult_intro.md | 引导用户时 | 需要向用户介绍可信咨询能力、安全说明或组织引导话术 |
reference/sample_consult_answer.md | 引导用户时 | 用户对回答效果有疑问或犹豫,需展示带角标回答形态 |
reference/sample_trace_report.html | 引导用户时 | 需要向用户展示可信核验报告效果 |