前言:为什么会有这篇文章
之前在公众号「平野先生」发了那篇 TRAE SOLO 的入门文章后,有个读者留言说:"TRAE SOLO 能不能接入我自己的知识库?我存了很多技术文档在 ima 里,每次写代码还得切出去搜。"
我当时第一反应是:好问题。TRAE SOLO 虽然很强大,但它默认只能用上传的文件做上下文。如果我们做项目的过程中某些内容已经整理好放在了 ima 知识库里,每次手工复制粘贴简直太反人类了。
所以今天这篇教程,就是教你怎么让 TRAE SOLO 直接调用 ima 知识库的内容。一句话总结:把你的个人知识库变成 TRAE SOLO 的"外挂大脑"。
什么是 ima 知识库
ima 是腾讯推出的一款知识管理产品(ima.qq.com),你可以把它理解为个人/团队的"智能知识仓库"。
用大白话说:你平时看文章、写笔记、存文档,随手丢进 ima 里,它就帮你做好整理、索引、搜索。等你想用的时候,直接搜就行,还能让 AI 帮你提炼总结。
ima 的几个核心能力:
- 多格式入库:PDF、Word、公众号文章、网页链接……通通可以存进去
- AI 检索:自然语言提问,ima 会自动搜相关知识
- API 接口:这也是我们今天要用到的——ima 提供了 Agent 接口,第三方可以调用
- 免费:个人版基础功能免费,足够我们用
第一步:获取 ima API 凭证
要让 TRAE SOLO 能访问你的 ima 知识库,首先要去 ima 开放平台申请 API 密钥。
操作流程
- 打开 ima.qq.com/agent-interface
- 使用你的 ima 账号登录
- 点击 "创建应用",填写应用名称(比如 "TRAE SOLO 知识库助手")
- 创建成功后,你会得到两个关键信息:
- Client ID — 应用的唯一标识
- API Key — 调用接口的身份凭证,请妥善保管
第二步:创建 TRAE SOLO 技能
TRAE SOLO 支持通过自定义"技能(Skill)"扩展能力。我们需要创建一个 ima 知识库技能,让 TRAE SOLO 能通过它调用 ima 的搜索和记忆接口。
2.1 创建技能目录
在 TRAE SOLO 的项目目录下,创建文件夹结构:
项目根目录/
└── .trae/
└── skills/
└── ima-knowledge/
├── SKILL.md
└── ima_api.py
2.2 编写 SKILL.md
SKILL.md 是技能的定义文件,TRAE SOLO 通过它识别技能的名称、描述和要注册的命令。
# ima-knowledge
## Name
ima 知识库
## Description
通过 ima API 搜索和读取个人知识库中的内容,让 TRAE SOLO 具备联网知识库检索能力。
## Slash Commands
### /ima-search
在 ima 知识库中搜索相关内容
**Arguments**: query (搜索关键词)
### /ima-note
将当前对话内容保存到 ima 知识库
**Arguments**: title (标题), content (正文)
### /ima-save
保存当前文件或选中文本到 ima 知识库
**Arguments**: text (需要保存的内容)
2.3 编写 ima_api.py
这是核心的 Python 脚本,负责调用 ima 的 API 接口。
#!/usr/bin/env python3
"""ima 知识库 API 封装 - 供 TRAE SOLO 技能调用"""
import os
import json
import requests
# ===== 配置 =====
# 建议通过环境变量注入,不要硬编码
CLIENT_ID = os.environ.get("IMA_CLIENT_ID", "your_client_id_here")
API_KEY = os.environ.get("IMA_API_KEY", "your_api_key_here")
BASE_URL = "https://api.ima.qq.com/v1"
HEADERS = {
"Content-Type": "application/json",
"X-Client-ID": CLIENT_ID,
"Authorization": f"Bearer {API_KEY}"
}
def search_knowledge(query: str, top_k: int = 5) -> list:
"""在 ima 知识库中搜索"""
url = f"{BASE_URL}/knowledge/search"
payload = {"query": query, "top_k": top_k}
resp = requests.post(url, headers=HEADERS, json=payload)
resp.raise_for_status()
data = resp.json()
return data.get("results", [])
def save_to_knowledge(title: str, content: str, source: str = "TRAE SOLO"):
"""保存内容到 ima 知识库"""
url = f"{BASE_URL}/knowledge/save"
payload = {
"title": title,
"content": content,
"source": source
}
resp = requests.post(url, headers=HEADERS, json=payload)
resp.raise_for_status()
return resp.json()
if __name__ == "__main__":
# 简单测试
result = search_knowledge("TRAE SOLO 使用教程")
print(json.dumps(result, ensure_ascii=False, indent=2))
IMA_CLIENT_ID 和 IMA_API_KEY 添加到你的 .bashrc 或 .zshrc 中,避免在代码中暴露密钥。
第三步:创建斜杠命令
技能注册后,在 TRAE SOLO 的对话窗口中输入 / 就能看到我们定义的三个命令:
/ima-search
这是最常用的命令。在写代码时,输入 /ima-search 如何实现微信支付,TRAE SOLO 就会自动去你的 ima 知识库里搜相关文档,然后把结果给你做参考。
使用场景:
- 写代码遇到某个功能不知道怎么实现 → 搜之前积累的文档
- 忘记某个框架的配置 → 直接搜自己的笔记
- 需要参考之前项目的代码规范 → 搜知识库
/ima-note
在 TRAE SOLO 里遇到有价值的内容,直接保存到 ima 知识库里。
使用场景:
- TRAE SOLO 帮你解决了一个 bug → 把解决方案保存下来
- TRAE SOLO 生成了好用的代码片段 → 保存到知识库
- 学到了新的技术点 → 顺手存一下
/ima-save
快速保存当前编辑的文件内容到 ima 知识库。适合批量整理笔记。
常见问题 FAQ
Q1: 提示 API 密钥无效怎么办?
检查一下你的 IMA_CLIENT_ID 和 IMA_API_KEY 是否设置正确,或者密钥是否已过期。去 ima 开放平台重新生成一个新密钥试试。
Q2: 搜索不到内容?
先确认你的 ima 知识库里确实有相关内容。另外注意 ima 的搜索默认只搜你自己的知识库,共享库需要额外配置。可以先在 ima 网页版搜一下确认数据存在。
Q3: TRAE SOLO 识别不了技能?
检查目录结构是否正确,SKILL.md 文件名大小写有没有写错(必须全大写)。技能目录必须放在 .trae/skills/ 下面。修改后重启 TRAE SOLO。
Q4: 保存内容时报 403 错误?
检查 API 密钥的权限范围。有些 API Key 只有读取权限,需要在 ima 开放平台后台给应用添加"写入"权限。
Q5: 会不会影响 TRAE SOLO 的速度?
每次搜索会额外请求 ima 的服务器,网络正常情况下增加 1-2 秒延迟。如果不需要,不使用斜杠命令就不会触发,完全不影响正常编码体验。
总结
通过这几步配置,你的 TRAE SOLO 现在就有了"外挂大脑"——你的 ima 知识库里所有的技术文档、笔记、代码片段,写代码时随手可查。
真正的效率提升不在于 AI 有多强,而在于 AI 能访问你积累了多少知识。把个人知识库和 AI 编程工具打通,这可能是 2026 年最值得做的配置之一。