想把 ima 知识库接进自动化流程,先要弄清接口跑在哪儿:是在服务器上装客户端,还是直接发 HTTP 请求。这决定部署方案——前者要考虑图形界面、登录态、常驻进程;后者一台无桌面的机器也能跑。

三类接口,职责不同

形态 认证方式 运行位置 典型用途
OpenAPI 请求头 ima-openapi-clientid / ima-openapi-apikey 纯云端 笔记与知识库读写
Web API x-ima-cookie + x-ima-bkn(浏览器登录态) 纯云端 网页版自身接口
桌面端能力 客户端登录态 本地客户端 视频上传、B 站/YouTube 解析

前两类都不需要安装 ima 软件。知识库存放在云端账号,网页版、客户端、App 共用同一份数据。只有视频上传和第三方视频解析依赖桌面端,官方明确不提供 API。

OpenAPI 调用形态:

POST https://ima.qq.com/openapi/wiki/v1/get_knowledge_base
ima-openapi-clientid: <clientid>
ima-openapi-apikey: <apikey>

Web API 凭证从浏览器开发者工具的请求头里取,门槛低,但 cookie 通常几周过期需重抓。OpenAPI 凭证需单独申请,不会因退出登录失效。

在 DSH 里怎么选

方案 认证 能力 部署成本
dsh-ima-copilot(原生插件) Web API cookie ima_ask 语义问答 + 设置页 一条插件命令
ima-note-mcp(MCP 服务) OpenAPI clientid/apikey 笔记与知识库全套读写 Python 3.13 + 申请凭证
tencent-ima-copilot-mcp(Docker) Web API cookie 仅问答 起容器 + 抓 cookie

只需问答时用原生插件最省事:

dsh plugin --profile web add dsh-ima-copilot

重启 dsh web 后设置页出现「IMA Copilot」卡片,填入认证信息和知识库 ID。配置落在 /integrations/ 下对应目录,改配置不需重启进程。需要写入笔记、批量操作知识库时才值得走 OpenAPI,代价是 Python 3.13 环境和 clientid/apikey。

怎么确认接通了

先看设置页卡片是否出现——没出现说明插件没加载成功,检查 dsh plugin 返回和 DSH 版本。填入凭证后发一次提问,能返回知识库内容即接通;返回鉴权错误多半是 cookie 过期,重新抓 x-ima-cookie 和 x-ima-bkn。会话记录可在 /sessions/ 下的 session.v4.jsonl.zstd 核对。

两个需要提前知道的边界

第一,版本兼容性没有保证。dsh-ima-copilot 的验证矩阵只覆盖到 DSH 0.1.5-alpha,更新版本属未测试区间。装完不工作就卸载回滚,不要在生产流程直接依赖。

第二,Web API 是网页版自用接口,不是公开稳定契约,腾讯改版后可能需插件作者适配,长期自动化建议优先 OpenAPI。视频类操作无论哪条路都做不了,这是产品限制,不是配置问题。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注