前言:为什么会有这篇文章

之前在公众号「平野先生」发了那篇 TRAE SOLO 的入门文章后,有个读者留言说:"TRAE SOLO 能不能接入我自己的知识库?我存了很多技术文档在 ima 里,每次写代码还得切出去搜。"

我当时第一反应是:好问题。TRAE SOLO 虽然很强大,但它默认只能用上传的文件做上下文。如果我们做项目的过程中某些内容已经整理好放在了 ima 知识库里,每次手工复制粘贴简直太反人类了。

所以今天这篇教程,就是教你怎么让 TRAE SOLO 直接调用 ima 知识库的内容。一句话总结:把你的个人知识库变成 TRAE SOLO 的"外挂大脑"。

前提条件:你已经安装好了 TRAE SOLO(如果还没装,翻我上一篇文章)。ima 账号需要先注册好(免费)。

什么是 ima 知识库

ima 是腾讯推出的一款知识管理产品(ima.qq.com),你可以把它理解为个人/团队的"智能知识仓库"。

用大白话说:你平时看文章、写笔记、存文档,随手丢进 ima 里,它就帮你做好整理、索引、搜索。等你想用的时候,直接搜就行,还能让 AI 帮你提炼总结。

ima 的几个核心能力:

第一步:获取 ima API 凭证

要让 TRAE SOLO 能访问你的 ima 知识库,首先要去 ima 开放平台申请 API 密钥。

操作流程

  1. 打开 ima.qq.com/agent-interface
  2. 使用你的 ima 账号登录
  3. 点击 "创建应用",填写应用名称(比如 "TRAE SOLO 知识库助手")
  4. 创建成功后,你会得到两个关键信息:
    • Client ID — 应用的唯一标识
    • API Key — 调用接口的身份凭证,请妥善保管
注意: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_IDIMA_API_KEY 添加到你的 .bashrc.zshrc 中,避免在代码中暴露密钥。

第三步:创建斜杠命令

技能注册后,在 TRAE SOLO 的对话窗口中输入 / 就能看到我们定义的三个命令:

/ima-search

这是最常用的命令。在写代码时,输入 /ima-search 如何实现微信支付,TRAE SOLO 就会自动去你的 ima 知识库里搜相关文档,然后把结果给你做参考。

使用场景:

/ima-note

在 TRAE SOLO 里遇到有价值的内容,直接保存到 ima 知识库里。

使用场景:

/ima-save

快速保存当前编辑的文件内容到 ima 知识库。适合批量整理笔记。

常见问题 FAQ

Q1: 提示 API 密钥无效怎么办?

检查一下你的 IMA_CLIENT_IDIMA_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 年最值得做的配置之一。

J
John Chow
一个自学AI、在职场摸爬滚打的中登。关注我,让你的AI之路少踩坑。