把 ima 知识库接进自动化流程:接口选型与 DSH 接入
想把 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。配置落在 下对应目录,改配置不需重启进程。需要写入笔记、批量操作知识库时才值得走 OpenAPI,代价是 Python 3.13 环境和 clientid/apikey。
怎么确认接通了
先看设置页卡片是否出现——没出现说明插件没加载成功,检查 dsh plugin 返回和 DSH 版本。填入凭证后发一次提问,能返回知识库内容即接通;返回鉴权错误多半是 cookie 过期,重新抓 x-ima-cookie 和 x-ima-bkn。会话记录可在 下的 session.v4.jsonl.zstd 核对。
两个需要提前知道的边界
第一,版本兼容性没有保证。dsh-ima-copilot 的验证矩阵只覆盖到 DSH 0.1.5-alpha,更新版本属未测试区间。装完不工作就卸载回滚,不要在生产流程直接依赖。
第二,Web API 是网页版自用接口,不是公开稳定契约,腾讯改版后可能需插件作者适配,长期自动化建议优先 OpenAPI。视频类操作无论哪条路都做不了,这是产品限制,不是配置问题。