Skip to content

第17课 · AI 调用 IMA 知识库

本节要点

  • 理解 AI 幻觉问题:为什么 AI 会编造不存在的事实
  • 知识库的原理:用真实的文档给 AI 提供可靠信息源
  • MCP(Model Context Protocol)是什么:AI 的「USB-C 接口」
  • 实战:安装 IMA 知识库 MCP,浏览器扫码一键登录
  • 知识库的典型应用场景:风险评估、内控测试、制度比对

1. AI 会编造事实?这不是开玩笑

用 AI 工具的时候,你可能已经发现了一个问题:有些回答看起来很专业,但其实是 AI 编的

这在日常闲聊时问题不大,但在审计、财务这类专业领域就非常危险了:

  • 你让 AI 引用一条会计准则,它可能编造一条不存在的条文
  • 你问某个法规的规定,它可能把不同法规的内容混在一起
  • 你无法分辨哪些是真的、哪些是编的

这种现象叫 AI 幻觉(Hallucination)。大语言模型的本质是预测下一个词,它不像搜索引擎那样从真实文档中检索答案,而是根据训练数据「生成」看起来合理的回答。

解决 AI 幻觉最有效的方法之一,就是给 AI 提供一个可靠的知识库。


2. 什么是知识库?怎么搭?

知识库的本质很简单:把你信任的文档放进去,让 AI 从这些文档中找答案,而不是自己编。

搭建知识库有几种方式:

方式难度适用场景
IMA 知识库(本课重点)⭐ 最简单直接使用现成的共享知识库,零部署
FastGPT / RagFlow⭐⭐⭐需要自己部署,对硬件要求较高
本地向量数据库⭐⭐轻量级,适合单个文件
直接把文件转 Markdown 让 AI 读少量文件可以,大量文件只能关键词搜索

今天我们介绍的是最简单的方案:IMA 知识库


3. IMA 知识库:免费的现成知识库

IMA 是腾讯推出的免费 AI 知识库产品(ima.qq.com)。它有一个「知识广场」,里面有大量别人已经搭好的专业知识库:

  • 审计、财务相关的知识库
  • 法律法规知识库
  • 上市公司年报、IPO 问询反馈
  • 按行业分类的专业资料

你不需要自己上传文档,直接在知识广场里搜索、关注别人建好的知识库就能用。

但问题来了:在 IMA 网页上直接查,查出来的结果没法跟你的 AI 工具联动。比如你查了一段法规原文,想让它帮你生成报告或者写底稿,还得手动复制粘贴。

我们需要的是:让 AI 工具直接调用 IMA 知识库。

这就需要用到 MCP。


4. MCP 是什么?AI 的「USB-C 接口」

在讲怎么连接 IMA 知识库之前,先了解一下 MCP。

MCP(Model Context Protocol,模型上下文协议) 是一个开放协议,由 Anthropic 在 2024 年 11 月发布(2025 年已捐赠给 Linux 基金会)。它定义了一套标准,让 AI 应用能够连接外部数据源和工具。

你可以把 MCP 理解为 AI 的 USB-C 接口

  • 以前,每个外部工具(数据库、搜索引擎、知识库……)都要跟每个 AI 应用单独做一次集成,就像以前每个手机用不同的充电器
  • 有了 MCP,所有工具都用同一种标准接口,插上去就能用,就像 USB-C 统一了充电接口

MCP 的核心概念

MCP 是客户端-服务器架构:

  • AI 应用(如 OpenCode、Claude Code)是客户端
  • MCP 服务器是提供能力的那一方,每个服务器专注于一种能力
  • 连接方式:本地进程通过标准输入输出(stdio)通信,远程服务通过 HTTP 通信

MCP 服务器可以提供三种能力:

能力说明类比
Tools(工具)AI 可以调用的函数,比如搜索知识库、查询数据库AI 主动调用
Resources(资源)提供给 AI 的参考文档,比如文件内容被动附加上下文
Prompts(提示模板)预定义的提示指令,用户选择后触发斜杠命令

对于我们连接 IMA 知识库来说,MCP 服务器提供的是 Tools(工具)——AI 可以调用 ask 函数去查询知识库。


5. 实战:安装 IMA 知识库 MCP

项目地址

这是一个开源项目,我 fork 了别人的版本并做了改造:

我的改进:添加了浏览器自动登录功能,不需要手动去网页上复制 Cookie 了。

安装步骤

在 OpenCode 中直接给 AI 发一条消息(指令里已经把两个最容易踩的坑写明白了,照抄即可):

按 https://github.com/nigo81/tencent-ima-copilot-mcp 的「快速安装」章节装 ima mcp。两个要求:①写入 opencode.jsonc 时,mcp 里的 tencent-ima-copilot 必须同时包含 "type": "local" 和 "enabled": true 两个字段,缺任何一个重启后 OpenCode 都会打不开;②不要覆盖或删除我已有的配置(比如 DeepSeek 的 API Key),只在 mcp 部分新增这一段。

AI 会自动完成以下操作:

  1. 克隆项目 — 把代码下载到本地
  2. 安装 Python 依赖 — 包括 Playwright(用于浏览器自动登录)
  3. 配置 MCP 服务 — 写入 OpenCode 的配置文件

安装完成后需要重启 OpenCode 才能生效。

⚠️ 重启前先花 30 秒检查配置(很重要,能避免打不开!)

AI 写入配置时偶尔会漏掉必填字段,导致重启后 OpenCode 直接打不开(这是群里反馈最多的问题)。重启前先自查一下:

用记事本打开配置文件(Mac:~/.config/opencode/opencode.jsonc;Windows:%USERPROFILE%\.config\opencode\opencode.jsonc),搜索 "mcp",确认 tencent-ima-copilot 这一段里同时有这两个字段:

jsonc
"tencent-ima-copilot": {
    "type": "local",        // ← 必须有!
    "enabled": true,         // ← 必须有!
    // ... 其他配置
}

缺了就手动补上,保存后再重启,就不会出错了。万一重启后还是打不开,按下面的问题 1 处理。

登录 IMA

重启后,告诉 AI:

帮我登录 IMA 知识库

AI 会调用 MCP 的 login 工具,自动打开浏览器,跳转到 IMA 登录页面。你只需要:

  1. 用手机扫码登录
  2. 登录成功后浏览器自动关闭
  3. Cookie 信息自动保存到本地,下次不用再登录

这就是我改造的核心:免去了手动从浏览器开发者工具里找 Cookie 的麻烦操作

🔄 打不开浏览器登录? 如果自动登录总是失败(弹不出窗口、公司电脑装了安全软件、浏览器版本太旧),直接跳到下面的「打不开浏览器?手动获取 Cookie」,用第二种方式登录,完全不用弹窗。

浏览器自动登录是推荐方式,但有些同学的电脑环境特殊——公司电脑装了安全软件、浏览器版本太旧、或者怎么都弹不出登录窗口——自动登录就是用不了。

别担心,项目作者早就考虑到了,提供了完全手动的方式:自己在浏览器里登录 IMA 网页版,把登录信息复制出来,填进配置文件就行。整个过程不依赖任何自动弹窗,跟着下面三步做。

第一步:在浏览器里登录 IMA

  1. 打开你平时用的浏览器(Chrome、Edge 都行),访问 ima.qq.com
  2. 扫码或用 QQ/微信登录,确保你已经进了 IMA 主界面(能看到左侧知识库列表的那个页面)

第二步:提取登录信息

登录信息藏在浏览器的「开发者工具」里,听起来很高级,其实就是按一个键的事:

  1. 在 IMA 页面上按 F12(笔记本可能需要 Fn + F12),屏幕右侧或下方会弹出一个面板,这就是「开发者工具」

    💡 如果按 F12 没反应,试试在网页空白处右键 → 检查(检查元素),效果一样。

  2. 在弹出的面板顶部,找到 网络(Network) 标签页,点一下

  3. 回到 IMA 页面,随便发一条消息(比如问一句「你好」),目的是让浏览器产生请求记录

  4. 回到「网络」面板,下方会出现一堆请求。在搜索框里输入 qa 过滤一下,找到名字带 qa 的那一条,点它一下

  5. 点开后,在右侧找 标头(Headers) 标签,往下翻找到 请求标头(Request Headers)

  6. 在里面找到这两个名字,把后面的值分别复制下来(是很长的字符串,别漏复制):

    • x-ima-cookie 后面那一大串 → 这是你的登录凭证
    • x-ima-bkn 后面那一串数字 → 这是你的校验码

    ⚠️ x-ima-cookie 的值比较长,里面必须包含 IMA-REFRESH-TOKEN 这个字段(复制下来后搜一下有没有这几个字)。如果没有,说明复制不完整,重新登录一次再试。

第三步:把信息填进配置文件

IMA MCP 项目里有一个专门存配置的文件,叫 .env,我们需要把刚才复制的两个值放进去。

  1. 找到项目文件夹:就是安装 IMA MCP 时克隆下来的那个文件夹(名字类似 tencent-ima-copilot-mcp)。如果忘了在哪,直接问 AI:

    我装了 IMA MCP 但忘了克隆到哪了,帮我找一下 tencent-ima-copilot-mcp 这个文件夹在哪

  2. 在这个文件夹里找 .env 文件。如果没有,就新建一个文本文件,把名字改成 .env(注意前面有个点,没有 .txt 之类的后缀)

    ⚠️ Windows:如果看不到文件后缀,在文件夹顶部「查看」里勾选「文件扩展名」。 Mac.env 是隐藏文件,在 Finder 里按 Cmd + Shift + . 显示。

  3. 用记事本(Windows)或文本编辑(Mac)打开 .env,把刚才复制的两个值填进去(把引号里的内容换成你复制的值):

    bash
    IMA_X_IMA_COOKIE="你复制的 x-ima-cookie 的值"
    IMA_X_IMA_BKN="你复制的 x-ima-bkn 的值"
  4. 保存文件,重启 OpenCode,直接向 AI 提问即可——不需要再执行「帮我登录 IMA」那一步了

💡 Cookie 会过期,一般几天到几周。过期后如果自动登录能用就重新登录;如果自动登录一直用不了,就重复上面三步重新复制一次。

切换知识库

登录后,你可以让 AI 列出可用的知识库:

我有哪些知识库可以用?

然后用 set_knowledge_base 切换到你想用的知识库。比如:

把默认知识库切换到信永中和专业知识库

6. 使用知识库提问

一切就绪后,直接向 AI 提问即可。AI 会自动调用 IMA 知识库搜索相关内容,然后基于真实文档给你回答:

芯片行业 IPO 问询反馈中,交易所通常关注哪些问题?

AI 的回答会标注参考资料来自哪个文件,你还可以让它返回原文,确保可追溯。

这种方式跟直接在 IMA 网页上提问的效果是一样的,但优势在于:

  • 可以跟其他 AI 能力联动 — 查完知识库后,让 AI 帮你生成报告、写底稿、做分析
  • 可以写进 Skill 里 — 把知识库查询串联到自动化流程中
  • 可以同时查多个来源 — 知识库 + 网页搜索 + 陈版主问答,综合回答

7. 知识库的典型应用场景

场景一:审计风险评估

田老师的知识库里按行业整理了各交易所的 IPO 问询反馈。做风险评估时:

  1. 切换到对应行业的知识库
  2. 让 AI 总结这个行业常见的监管关注点
  3. 结合你项目的具体情况,生成风险评估分析

场景二:内控测试

把公司的制度文件上传到 IMA 个人知识库,然后:

  1. 让 AI 根据关键控制矩阵的要求,从制度中提取控制活动描述
  2. 自动识别设计人和执行人
  3. 判断是否存在设计缺陷

场景三:制度合规性比对

把公司内规上传到知识库,让 AI 与外部法规(上位制度)逐条比对,找出差异。

场景四:自动化串联

最强大的用法是把知识库写进 Skill 里。比如我每天的「知识星球整理」Skill:

  1. 自动下载群友分享的文件,归类上传到网盘
  2. 检测到审计相关的专业问题时,自动调用 IMA 知识库 + 陈版主问答
  3. 综合三个来源(知识库、陈版主、网页搜索)生成专业回答
  4. 等我确认后自动回复

这就是 MCP + Skill 的组合拳——知识库解决「答得准」的问题,Skill 解决「流程化」的问题


⚠️ 常见问题与避坑指南

这是安装 IMA MCP 后群里反馈最多的问题,按频率排序。如果你遇到了问题,从这里找答案。

问题 1:安装 IMA MCP 后 OpenCode 打不开了

症状:安装完 IMA MCP 重启后,OpenCode 完全无法启动,或者能启动但发不了消息。

原因:AI 在配置 MCP 服务器时,写入 opencode.jsonc 的配置格式不完整,缺少必填字段。OpenCode 对配置文件格式要求很严格,只要有一处不对就启动不了。

解决方法(从简单到彻底)

方法 1:让另一个 AI 帮你修

如果你装了 WorkBuddy(下载地址:https://www.codebuddy.cn/work/),直接在里面说:

我安装 IMA MCP 后 OpenCode 打不开了,请帮我检查 opencode.jsonc 配置文件,确保 MCP 配置正确。

方法 2:手动修复配置文件

  1. 找到配置文件夹(详见第5课的说明):

    • Windows:按 Win+R,输入 %USERPROFILE%\.config\opencode
    • Mac:Finder 按 Cmd+Shift+G,输入 ~/.config/opencode
  2. 找到 opencode.jsonc 文件,右键 → 打开方式 → 记事本打开

  3. 搜索 "mcp",找到 MCP 配置部分,检查是否包含这两个必填字段:

jsonc
"mcp": {
    "tencent-ima-copilot": {
        "type": "local",        // ← 必须有!
        "enabled": true,         // ← 必须有!
        "command": "python",
        // ... 其他配置
    }
}

如果缺少 "type": "local""enabled": true,手动补上,保存后重启 OpenCode。

  1. 同时检查文件里你的 API Key 配置(如 DeepSeek)是否还在,如果被覆盖了,重新添加(方法同第3课)。

方法 3:删掉 MCP 配置,恢复 OpenCode(最稳)

  1. 打开 opencode.jsonc,找到整个 "mcp" 部分
  2. tencent-ima-copilot 这一段删掉
  3. 保存,重启 OpenCode
  4. 确认 OpenCode 恢复正常后,再重新安装 IMA MCP

💡 群友 HHc 的经验:用 WorkBuddy 修复好了配置,但再在 OpenCode 里配置 MCP 又崩了。如果反复安装失败,建议先用方法 3 删掉 MCP 配置,等稍微熟练了再装。

问题 2:浏览器登录没弹出来 / 提示浏览器错误

症状:执行登录时浏览器没弹出来,或者提示找不到浏览器。

原因:这个 MCP 会自动检测你电脑上已安装的浏览器(Chrome、Edge、QQ浏览器、360浏览器、Firefox),用你已有的浏览器来打开登录页面。不需要额外安装新浏览器。

如果你电脑上一个浏览器都没有(很罕见),才会提示需要安装。

解决方法

确认你电脑上至少装了以下浏览器中的一个就行(绝大多数 Windows 电脑自带 Edge,不需要额外装):

  • ✅ Google Chrome
  • ✅ Microsoft Edge(Windows 自带)
  • ✅ QQ 浏览器
  • ✅ 360 浏览器
  • ✅ Firefox

如果你的浏览器安装在非默认位置(比如装在 D 盘),可以告诉 AI:

我安装了 Chrome/Edge 浏览器,但登录时提示找不到浏览器。请帮我把 IMA MCP 的浏览器路径改成我的安装路径:你的浏览器实际路径

症状:登录时浏览器弹出来了也扫码了,但提示 Cookie 获取失败;或者根本弹不出浏览器登录窗口。

解决方法:放弃自动登录,改用手动获取 Cookie 的方式——自己在浏览器里登录 IMA 网页版,把登录信息复制出来填到配置文件里。完整步骤见上面的「打不开浏览器?手动获取 Cookie」一节。

💡 手动方式不依赖任何自动弹窗,公司电脑、受限环境也能用。配好后不需要再执行登录,直接提问即可。

问题 3.5:各种登录报错都试了还是不行?检查路径里有没有中文

症状:IMA 登录怎么都登不上,浏览器能弹出、Cookie 也获取了,但就是报错;或者报一些看不懂的错误,折腾半天没头绪。

隐藏元凶:安装路径或项目路径里包含了中文。OpenCode 和它调用的工具对中文路径支持不好,路径里有中文(比如文件夹叫「我的项目」「学习资料」,或者桌面路径里有中文名)会导致各种莫名其妙的失败。

解决方法:

把 OpenCode 和你的项目放到纯英文路径下,比如 D:\projects\,或者新建一个英文名的文件夹(比如 ai-study)再放进去。

💡 群友 Noah 验证:IMA 怎么都登录不上,折腾半天最后发现是路径里有中文,改成英文路径立刻就好了。养成习惯:所有跟代码、AI 工具有关的文件夹,一律用英文名,能少踩一大半莫名其妙的坑。

问题 4:安装后 DeepSeek API Key 不见了

症状:IMA MCP 安装完后,OpenCode 提示没有配置 API Key,之前好好的 DeepSeek 用不了了。

原因:AI 在修改配置文件添加 MCP 时,不小心把 API Key 配置覆盖了(跟第5课的问题类似)。

解决方法:打开 opencode.jsonc,检查 provider 部分是否还在:

jsonc
"provider": {
    "deepseek": {
        "name": "DeepSeek",
        "api": "https://api.deepseek.com/v1",
        "options": {
            "apiKey": "sk-你的Key"
        }
    }
}

如果不见了,重新添加。然后保存重启。

💡 彭程的教训:每次修改配置文件前先备份(复制一份改名为 opencode.jsonc.bak),修改后对比一下,确认只有预期的变更。

问题 5:IMA 知识库有容量限制吗?

有,最大约 100GB。如果上传大量 PDF 可能会占满空间。建议用 MinerU 把 PDF 转成 Markdown 再上传,体积小很多,搜索效果也更好。

另外,IMA 调用频率过高会被限制。如果你需要大量查询,可以考虑后续课程会介绍的 local-rag 项目(本地知识库),没有调用限制。

问题 6:为什么不直接在 IMA 网页上查?

在 IMA 网页上查只能得到答案,没法跟后续工作流联动。通过 MCP 连接后,AI 可以查完知识库直接帮你写报告、做分析、生成底稿,一步到位。

问题 7:除了 IMA 还有其他知识库方案吗?

有。FastGPT、RagFlow 都是开源的知识库项目,但需要自己部署,对硬件要求较高。IMA 方案最简单,适合大多数人先用起来。后续课程会介绍 local-rag 项目,可以本地搭建知识库,不依赖网络。


关键收获

TIP

AI 幻觉是专业领域最大的风险。解决方法是给 AI 提供一个可信的知识库。MCP 是连接 AI 和外部工具的标准协议,就像 USB-C 统一了充电接口。通过 IMA 知识库 MCP,你可以让 AI 直接查询专业知识库,回答有据可查。更重要的是,把知识库写进 Skill 里,可以实现自动化的专业问答流程。


下一步

你已经学会了让 AI 从知识库中获取可靠信息。但知识库只能解决「查资料」的问题,在工作中你还需要 AI 帮你做更多事情——比如联网搜索最新信息、获取实时数据。

下一节课,我们会学习如何让 AI 联网搜索,获取最新的信息。

更多课程:课程大纲

© 2025 逆行的狗