Memory

Ima Knowledge Base

Try it

腾讯IMA知识库技能。封装IMA智能知识库的完整接口,支持OpenAPI和Cookie两种认证方式。功能包括知识库管理、笔记CRUD、RAG问答、文件夹操作、订阅知识库管理等。

What it does

腾讯IMA知识库技能。封装IMA智能知识库的完整接口,支持OpenAPI和Cookie两种认证方式。功能包括知识库管理、笔记CRUD、RAG问答、文件夹操作、订阅知识库管理等。

The skill document

IMA 知识库技能

概述

本技能封装了腾讯 IMA 智能知识库的完整接口,支持两种认证方式:

认证方式接口前缀功能范围
OpenAPI (Client ID + API Key)/openapi/仅个人笔记操作
Cookie 认证/cgi-bin/完整知识库 + 问答

功能特性

  • 获取知识库列表 - 个人、订阅、公开知识库
  • 知识库问答 - 基于知识库的 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步)

  1. 打开 https://ima.qq.com ,用微信扫码登录
  2. F12Network → 刷新页面
  3. 点击任意请求 → 复制 Headers 中的 Cookie

第二步:测试接口

# 验证 Cookie + 查看知识库
python test_cookie.py "你的_Cookie"

# 批量测试所有端点
python test_endpoints.py "你的_Cookie"

第三步:环境变量持久化

验证成功后,Cookie 自动保存到 ~/.hermes/.env

# 或者手动添加
echo 'IMA_COOKIE="你的_Cookie"' >> ~/.hermes/.env

使用方法

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_dataPOST获取首页数据(知识库列表)
/cgi-bin/knowledge_tab_reader/get_knowledge_base_infoPOST获取知识库详情
/cgi-bin/knowledge_tab_reader/list_knowledge_basesPOST列出知识库
/cgi-bin/knowledge_tab_reader/search_knowledgePOST搜索知识库内容
/cgi-bin/knowledge_tab_reader/get_folder_listPOST获取文件夹列表
/cgi-bin/note/search_note_bookPOST搜索笔记本
/cgi-bin/note/get_note_contentPOST获取笔记内容
/cgi-bin/note/save_notePOST保存笔记
/cgi-bin/assistant/qaPOST知识库问答(SSE流)

/openapi/ 接口(OpenAPI 认证)

接口方法说明
/openapi/note/v1/import_docPOST创建/导入笔记(支持markdown)
/openapi/note/v1/get_doc_contentPOST获取笔记内容
/openapi/note/v1/append_docPOST追加笔记内容

请求头

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. 推送到微信/企微

常见问题

  • Request Headers 复制,不是 Response Headers
  • Cookie 应包含 IMA-TOKEN=
  • 尝试刷新页面后重新获取

Q: 接口返回 401/403?

  • Cookie 已过期,需要重新登录获取

Q: x-ima-bkn 是什么?

  • IMA 校验参数,当前固定值:212004022
  • 需要知识库问答订阅知识库:必须用 Cookie
  • 仅操作个人笔记:两者皆可,OpenAPI 更稳定

文件说明

文件说明
test_cookie.py⭐ Cookie 验证 + 知识库查看
test_endpoints.py批量测试 /cgi-bin/ 端点
get_ima_cookie_playwright.pyPlaywright 自动获取 Cookie
test_knowledge_base.py简单测试脚本
get_ima_cookie_guide.py完整功能测试
ima_sdk.pyOpenAPI SDK(仅笔记)

Related skills

IMA 知识库自动分类整理与 RAG 检索增强生成技能。扫描 IMA 知识库内容,按自定义规则自动分类,生成分类索引文档(Word + Markdown),支持定期自动整理,以及基于分类索引的精准 RAG 文档生成。当用户需要整理 IMA 知识库、定期分类知识库内容、使用 IMA 知识库资料辅助撰写文档、或设置知识库自动分类整理流程时触发此技能。关键词:IMA、知识库整理、分类索引、RAG、定期扫描、检索增强生成。

1 installs

IMA.plus 技能(V1.0.8)——凭证来源于改成了环境变量需要重新设置,同时加入了自然语言目录和kb_id的缓存减少调用api的次数开销,缓存保存位置需要在安装skill后配置,否则无法正常使用。同时有任何skill的问题或建议,请到QQ频道:pd86156007。笔记管理与知识库操作。支持自然语言目录路径、上传/导出文件、打包导出知识库为 zip、创建文件夹、移动/重命名/置顶知识条目、创建与修改知识库、标签管理、权限管理、广场发现、添加网页到知识库、搜索/浏览/创建/编辑笔记。

1 installs

教发老兵实测沉淀的 IMA 知识库补料流水线:按主题检索搜狗微信文章→筛选编码→分批导入 IMA 知识库。仅在你显式要求时运行,导入幂等(不重复)、尊重站点限流,适合给指定知识库文件夹批量补充文章素材。

个人知识库(LLM Wiki)操作 skill。 当用户提到以下意图时触发: - Ingest:处理新内容、更新知识库、"处理IMA新内容"、"处理印象笔记"、"处理raw里的文件"、"帮我ingest" - Query:查 wiki、"wiki里有没有关于XX"、"从知识库里找XX" - Lint:整理wiki...

13 installs

腾讯 IMA 知识库 Wiki 编译——将原始资料系统化组织为结构清晰的Wiki知识体系,并支持标签体系管理与按文件夹层级结构归类。当用户说"建知识库""整理资料库""编译知识库""搭建wiki""知识体系化""把资料整理成wiki""给知识库打标签""按标签分类""标签整理""按文件夹归类""整理散落文件"时触...

15 installs

对比 FAQ 知识库与金牌客服对话记录,识别口径不一致、过时内容、缺失条目,生成差异报告与优化建议。反馈与定制联系:zenobiazizi.skills@foxmail.com