第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 会自动完成以下操作:
- 克隆项目 — 把代码下载到本地
- 安装 Python 依赖 — 包括 Playwright(用于浏览器自动登录)
- 配置 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 登录页面。你只需要:
- 用手机扫码登录
- 登录成功后浏览器自动关闭
- Cookie 信息自动保存到本地,下次不用再登录
这就是我改造的核心:免去了手动从浏览器开发者工具里找 Cookie 的麻烦操作。
🔄 打不开浏览器登录? 如果自动登录总是失败(弹不出窗口、公司电脑装了安全软件、浏览器版本太旧),直接跳到下面的「打不开浏览器?手动获取 Cookie」,用第二种方式登录,完全不用弹窗。
打不开浏览器?手动获取 Cookie(备选方式)
浏览器自动登录是推荐方式,但有些同学的电脑环境特殊——公司电脑装了安全软件、浏览器版本太旧、或者怎么都弹不出登录窗口——自动登录就是用不了。
别担心,项目作者早就考虑到了,提供了完全手动的方式:自己在浏览器里登录 IMA 网页版,把登录信息复制出来,填进配置文件就行。整个过程不依赖任何自动弹窗,跟着下面三步做。
第一步:在浏览器里登录 IMA
- 打开你平时用的浏览器(Chrome、Edge 都行),访问 ima.qq.com
- 扫码或用 QQ/微信登录,确保你已经进了 IMA 主界面(能看到左侧知识库列表的那个页面)
第二步:提取登录信息
登录信息藏在浏览器的「开发者工具」里,听起来很高级,其实就是按一个键的事:
在 IMA 页面上按
F12键(笔记本可能需要Fn + F12),屏幕右侧或下方会弹出一个面板,这就是「开发者工具」💡 如果按 F12 没反应,试试在网页空白处右键 → 检查(检查元素),效果一样。
在弹出的面板顶部,找到 网络(Network) 标签页,点一下
回到 IMA 页面,随便发一条消息(比如问一句「你好」),目的是让浏览器产生请求记录
回到「网络」面板,下方会出现一堆请求。在搜索框里输入
qa过滤一下,找到名字带qa的那一条,点它一下点开后,在右侧找 标头(Headers) 标签,往下翻找到 请求标头(Request Headers) 栏
在里面找到这两个名字,把后面的值分别复制下来(是很长的字符串,别漏复制):
x-ima-cookie后面那一大串 → 这是你的登录凭证x-ima-bkn后面那一串数字 → 这是你的校验码
⚠️
x-ima-cookie的值比较长,里面必须包含IMA-REFRESH-TOKEN这个字段(复制下来后搜一下有没有这几个字)。如果没有,说明复制不完整,重新登录一次再试。
第三步:把信息填进配置文件
IMA MCP 项目里有一个专门存配置的文件,叫 .env,我们需要把刚才复制的两个值放进去。
找到项目文件夹:就是安装 IMA MCP 时克隆下来的那个文件夹(名字类似
tencent-ima-copilot-mcp)。如果忘了在哪,直接问 AI:我装了 IMA MCP 但忘了克隆到哪了,帮我找一下 tencent-ima-copilot-mcp 这个文件夹在哪
在这个文件夹里找
.env文件。如果没有,就新建一个文本文件,把名字改成.env(注意前面有个点,没有.txt之类的后缀)⚠️ Windows:如果看不到文件后缀,在文件夹顶部「查看」里勾选「文件扩展名」。 Mac:
.env是隐藏文件,在 Finder 里按Cmd + Shift + .显示。用记事本(Windows)或文本编辑(Mac)打开
.env,把刚才复制的两个值填进去(把引号里的内容换成你复制的值):bashIMA_X_IMA_COOKIE="你复制的 x-ima-cookie 的值" IMA_X_IMA_BKN="你复制的 x-ima-bkn 的值"保存文件,重启 OpenCode,直接向 AI 提问即可——不需要再执行「帮我登录 IMA」那一步了。
💡 Cookie 会过期,一般几天到几周。过期后如果自动登录能用就重新登录;如果自动登录一直用不了,就重复上面三步重新复制一次。
切换知识库
登录后,你可以让 AI 列出可用的知识库:
我有哪些知识库可以用?然后用 set_knowledge_base 切换到你想用的知识库。比如:
把默认知识库切换到信永中和专业知识库6. 使用知识库提问
一切就绪后,直接向 AI 提问即可。AI 会自动调用 IMA 知识库搜索相关内容,然后基于真实文档给你回答:
芯片行业 IPO 问询反馈中,交易所通常关注哪些问题?AI 的回答会标注参考资料来自哪个文件,你还可以让它返回原文,确保可追溯。
这种方式跟直接在 IMA 网页上提问的效果是一样的,但优势在于:
- 可以跟其他 AI 能力联动 — 查完知识库后,让 AI 帮你生成报告、写底稿、做分析
- 可以写进 Skill 里 — 把知识库查询串联到自动化流程中
- 可以同时查多个来源 — 知识库 + 网页搜索 + 陈版主问答,综合回答
7. 知识库的典型应用场景
场景一:审计风险评估
田老师的知识库里按行业整理了各交易所的 IPO 问询反馈。做风险评估时:
- 切换到对应行业的知识库
- 让 AI 总结这个行业常见的监管关注点
- 结合你项目的具体情况,生成风险评估分析
场景二:内控测试
把公司的制度文件上传到 IMA 个人知识库,然后:
- 让 AI 根据关键控制矩阵的要求,从制度中提取控制活动描述
- 自动识别设计人和执行人
- 判断是否存在设计缺陷
场景三:制度合规性比对
把公司内规上传到知识库,让 AI 与外部法规(上位制度)逐条比对,找出差异。
场景四:自动化串联
最强大的用法是把知识库写进 Skill 里。比如我每天的「知识星球整理」Skill:
- 自动下载群友分享的文件,归类上传到网盘
- 检测到审计相关的专业问题时,自动调用 IMA 知识库 + 陈版主问答
- 综合三个来源(知识库、陈版主、网页搜索)生成专业回答
- 等我确认后自动回复
这就是 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:手动修复配置文件
找到配置文件夹(详见第5课的说明):
- Windows:按
Win+R,输入%USERPROFILE%\.config\opencode - Mac:Finder 按
Cmd+Shift+G,输入~/.config/opencode
- Windows:按
找到
opencode.jsonc文件,右键 → 打开方式 → 记事本打开搜索
"mcp",找到 MCP 配置部分,检查是否包含这两个必填字段:
"mcp": {
"tencent-ima-copilot": {
"type": "local", // ← 必须有!
"enabled": true, // ← 必须有!
"command": "python",
// ... 其他配置
}
}如果缺少 "type": "local" 或 "enabled": true,手动补上,保存后重启 OpenCode。
- 同时检查文件里你的 API Key 配置(如 DeepSeek)是否还在,如果被覆盖了,重新添加(方法同第3课)。
方法 3:删掉 MCP 配置,恢复 OpenCode(最稳)
- 打开
opencode.jsonc,找到整个"mcp"部分 - 把
tencent-ima-copilot这一段删掉 - 保存,重启 OpenCode
- 确认 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 的浏览器路径改成我的安装路径:
你的浏览器实际路径
问题 3:Cookie 自动获取失败 / 浏览器登录用不了
症状:登录时浏览器弹出来了也扫码了,但提示 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 部分是否还在:
"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 联网搜索,获取最新的信息。
更多课程:课程大纲