IMA 知识库自动分类整理与 RAG 检索增强生成技能。扫描 IMA 知识库内容,按自定义规则自动分类,生成分类索引文档(Word + Markdown),支持定期自动整理,以及基于分类索引的精准 RAG 文档生成。当用户需要整理 IMA 知识库、定期分类知识库内容、使用 IMA 知识库资料辅助撰写文档、或设置知识库自动分类整理流程时触发此技能。关键词:IMA、知识库整理、分类索引、RAG、定期扫描、检索增强生成。
记忆
Ima Knowledge Base
试用腾讯IMA知识库技能。封装IMA智能知识库的完整接口,支持OpenAPI和Cookie两种认证方式。功能包括知识库管理、笔记CRUD、RAG问答、文件夹操作、订阅知识库管理等。
它能做什么
腾讯IMA知识库技能。封装IMA智能知识库的完整接口,支持OpenAPI和Cookie两种认证方式。功能包括知识库管理、笔记CRUD、RAG问答、文件夹操作、订阅知识库管理等。
技能文档
IMA 知识库技能
概述
本技能封装了腾讯 IMA 智能知识库的完整接口,支持两种认证方式:
| 认证方式 | 接口前缀 | 功能范围 |
|---|---|---|
| OpenAPI (Client ID + API Key) | /openapi/ | 仅个人笔记操作 |
| Cookie 认证 | /cgi-bin/ | 完整知识库 + 问答 |
功能特性
Cookie 认证(全功能)
- ✅ 获取知识库列表 - 个人、订阅、公开知识库
- ✅ 知识库问答 - 基于知识库的 RAG 问答
- ✅ 笔记搜索 - 搜索笔记本和笔记内容
- ✅ 文件夹管理 - 创建/读取文件夹结构
- ✅ 订阅知识库操作 - 操作他人分享的知识库
OpenAPI 认证(基础功能)
- ✅ 创建笔记 - 将内容保存到 IMA 知识库
- ✅ 读取笔记 - 获取知识库中的笔记内容
- ✅ 追加内容 - 向已有笔记追加新内容
快速开始
第一步:获取 Cookie(激活完整功能)
cd ./skills/ima_knowledge_base
# 方案A:Playwright 自动获取
python get_ima_cookie_playwright.py
# 方案B:手动获取后验证
python test_cookie.py "你的_Cookie_字符串"
手动获取 Cookie(3步)
- 打开 https://ima.qq.com ,用微信扫码登录
- 按 F12 → Network → 刷新页面
- 点击任意请求 → 复制 Headers 中的 Cookie
第二步:测试接口
# 验证 Cookie + 查看知识库
python test_cookie.py "你的_Cookie"
# 批量测试所有端点
python test_endpoints.py "你的_Cookie"
第三步:环境变量持久化
验证成功后,Cookie 自动保存到 ~/.hermes/.env
# 或者手动添加
echo 'IMA_COOKIE="你的_Cookie"' >> ~/.hermes/.env
使用方法
Python SDK - Cookie 认证
import requests
import re
from pathlib import Path
# 读取 Cookie
env_file = Path.home() / ".hermes" / ".env"
content = env_file.read_text()
cookie = re.search(r'IMA_COOKIE=["\'](.+?)["\']', content).group(1)
# 通用 Headers
headers = {
'x-ima-cookie': cookie,
'x-ima-bkn': '212004022',
'From_browser_ima': '1',
'Content-Type': 'application/json'
}
# 1. 获取知识库列表
resp = requests.post(
'https://ima.qq.com/cgi-bin/knowledge_tab_reader/get_home_page_data',
headers=headers,
json={"knowledge_base_id": "", "need_folder_number": True}
)
data = resp.json()
print(f"知识库列表: {data['data']}")
# 2. 知识库问答
resp = requests.post(
'https://ima.qq.com/cgi-bin/assistant/qa',
headers=headers,
json={"query": "你的问题", "knowledge_base_id": "知识库ID"}
)
# 返回 SSE 流式数据
Python SDK - OpenAPI 认证
from ima_sdk import IMAKnowledgeBase
# 初始化客户端
ima = IMAKnowledgeBase(
client_id="your_client_id",
api_key="your_api_key"
)
# 1. 创建笔记
result = ima.create_note(
content="# 我的笔记\n\n这是笔记内容...",
title="笔记标题"
)
note_id = result["data"]["note_id"]
# 2. 读取笔记
note = ima.get_note(note_id)
print(note["data"]["content"])
# 3. 追加内容
ima.append_note(note_id, "\n\n## 新增章节\n\n追加的内容...")
API 接口列表
/cgi-bin/ 接口(Cookie 认证)
| 接口 | 方法 | 说明 |
|---|---|---|
/cgi-bin/knowledge_tab_reader/get_home_page_data | POST | 获取首页数据(知识库列表) |
/cgi-bin/knowledge_tab_reader/get_knowledge_base_info | POST | 获取知识库详情 |
/cgi-bin/knowledge_tab_reader/list_knowledge_bases | POST | 列出知识库 |
/cgi-bin/knowledge_tab_reader/search_knowledge | POST | 搜索知识库内容 |
/cgi-bin/knowledge_tab_reader/get_folder_list | POST | 获取文件夹列表 |
/cgi-bin/note/search_note_book | POST | 搜索笔记本 |
/cgi-bin/note/get_note_content | POST | 获取笔记内容 |
/cgi-bin/note/save_note | POST | 保存笔记 |
/cgi-bin/assistant/qa | POST | 知识库问答(SSE流) |
/openapi/ 接口(OpenAPI 认证)
| 接口 | 方法 | 说明 |
|---|---|---|
/openapi/note/v1/import_doc | POST | 创建/导入笔记(支持markdown) |
/openapi/note/v1/get_doc_content | POST | 获取笔记内容 |
/openapi/note/v1/append_doc | POST | 追加笔记内容 |
请求头
Cookie 认证 Headers
headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36',
'Content-Type': 'application/json',
'From_browser_ima': '1',
'Extension_version': '999.999.999',
'Referer': 'https://ima.qq.com/wikis',
'x-ima-bkn': '212004022',
'x-ima-cookie': '你的_Cookie',
'accept': 'application/json',
}
OpenAPI 认证 Headers
ima-openapi-clientid: {CLIENT_ID}
ima-openapi-apikey: {API_KEY}
Content-Type: application/json; charset=utf-8
配置文件
环境变量
# Cookie 认证(完整功能)
IMA_COOKIE="你的_Cookie"
# OpenAPI 认证(仅笔记)
IMA_CLIENT_ID="your_client_id"
IMA_API_KEY="your_api_key"
典型场景
场景1:自动搜集 + 存入知识库
# 让 WorkBuddy 每天自动搜索行业动态并存入 IMA
# 1. 搜索公众号文章
# 2. 筛选相关内容
# 3. 调用 /cgi-bin/note/save_note 保存到知识库
场景2:知识库 RAG 问答
# 基于知识库内容回答问题
resp = requests.post(
'https://ima.qq.com/cgi-bin/assistant/qa',
headers=headers,
json={
"query": "上周会议的主要结论是什么?",
"knowledge_base_id": "你的知识库ID"
},
stream=True
)
# 解析 SSE 流
for line in resp.iter_lines():
if line:
data = json.loads(line.decode('utf-8').replace('data: ', ''))
print(data.get('content', ''), end='', flush=True)
场景3:定时推送摘要
# 设置每日自动化任务:
# 1. 读取知识库最新内容
# 2. 生成摘要
# 3. 推送到微信/企微
常见问题
Q: Cookie 获取失败?
- 从 Request Headers 复制,不是 Response Headers
- Cookie 应包含
IMA-TOKEN= - 尝试刷新页面后重新获取
Q: 接口返回 401/403?
- Cookie 已过期,需要重新登录获取
Q: x-ima-bkn 是什么?
- IMA 校验参数,当前固定值:
212004022
Q: Cookie 和 OpenAPI 如何选择?
- 需要知识库问答或订阅知识库:必须用 Cookie
- 仅操作个人笔记:两者皆可,OpenAPI 更稳定
文件说明
| 文件 | 说明 |
|---|---|
test_cookie.py | ⭐ Cookie 验证 + 知识库查看 |
test_endpoints.py | 批量测试 /cgi-bin/ 端点 |
get_ima_cookie_playwright.py | Playwright 自动获取 Cookie |
test_knowledge_base.py | 简单测试脚本 |
get_ima_cookie_guide.py | 完整功能测试 |
ima_sdk.py | OpenAPI SDK(仅笔记) |
相关技能
IMA.plus 技能(V1.0.8)——凭证来源于改成了环境变量需要重新设置,同时加入了自然语言目录和kb_id的缓存减少调用api的次数开销,缓存保存位置需要在安装skill后配置,否则无法正常使用。同时有任何skill的问题或建议,请到QQ频道:pd86156007。笔记管理与知识库操作。支持自然语言目录路径、上传/导出文件、打包导出知识库为 zip、创建文件夹、移动/重命名/置顶知识条目、创建与修改知识库、标签管理、权限管理、广场发现、添加网页到知识库、搜索/浏览/创建/编辑笔记。
教发老兵实测沉淀的 IMA 知识库补料流水线:按主题检索搜狗微信文章→筛选编码→分批导入 IMA 知识库。仅在你显式要求时运行,导入幂等(不重复)、尊重站点限流,适合给指定知识库文件夹批量补充文章素材。
个人知识库(LLM Wiki)操作 skill。 当用户提到以下意图时触发: - Ingest:处理新内容、更新知识库、"处理IMA新内容"、"处理印象笔记"、"处理raw里的文件"、"帮我ingest" - Query:查 wiki、"wiki里有没有关于XX"、"从知识库里找XX" - Lint:整理wiki...
腾讯 IMA 知识库 Wiki 编译——将原始资料系统化组织为结构清晰的Wiki知识体系,并支持标签体系管理与按文件夹层级结构归类。当用户说"建知识库""整理资料库""编译知识库""搭建wiki""知识体系化""把资料整理成wiki""给知识库打标签""按标签分类""标签整理""按文件夹归类""整理散落文件"时触...
对比 FAQ 知识库与金牌客服对话记录,识别口径不一致、过时内容、缺失条目,生成差异报告与优化建议。反馈与定制联系:zenobiazizi.skills@foxmail.com