每天刷到优质文章顺手收藏,一周后完全想不起在哪;产品文档散落在各个文件夹,急需时永远找不到最新版;调研竞品时复制粘贴了几十段素材,最后乱成一团。
知识管理的本质从来不是"有没有工具",而是"信息进来之后,能不能被自动消化、归类、再利用"。本文将介绍如何用 Hermes Agent + 腾讯 ima 知识库打造一套"输入即分类"的自动化知识管理体系。
为什么选择 Hermes Agent + ima?
两个工具的分工非常清晰:
- Hermes Agent:拥有持久记忆、技能系统(Skill)、定时任务(Cron)、MCP 协议扩展。它是一个会"越用越聪明"的自动化引擎。
- ima 知识库(腾讯出品):支持个人/共享知识库、笔记、文件上传、网页收藏。最关键的是提供了官方 OpenAPI,专门为 Agent 集成设计。
两者结合的效果:你说一句话,Hermes 自动在 ima 里完成所有操作。
第一步:安装 Hermes Agent
一行命令完成安装:
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
安装完成后验证:
hermes --version
hermes doctor --fix
第二步:获取 ima API 密钥
访问 ima 的 Agent 接口配置页面:https://ima.qq.com/agent-interface
点击「获取 API Key」按钮,会获得两个凭证:
- Client ID — 应用标识
- API Key — 接口调用密钥
配置到 Hermes 环境变量:
echo 'export IMA_OPENAPI_CLIENTID="你的ClientID"' >> ~/.hermes/.env
echo 'export IMA_OPENAPI_APIKEY="你的APIKey"' >> ~/.hermes/.env
也可以用配置文件方式:
mkdir -p ~/.config/ima
echo "你的ClientID" > ~/.config/ima/client_id
echo "你的APIKey" > ~/.config/ima/api_key
注意:~/.hermes/.env 重启后自动加载。API Key 勿分享,泄露后可到 ima.qq.com/agent-interface 重新生成。
第三步:下载 ima 官方技能包
腾讯已发布 ima-skill v1.1.7 技能包。确保已安装 Node.js 后下载:
curl -o /tmp/ima-skills.zip "https://app-dl.ima.qq.com/skills/ima-skills-1.1.7.zip"
cd /tmp && unzip -o ima-skills.zip
技能包目录结构:
ima-skill/
├── SKILL.md # 主技能说明
├── ima_api.cjs # API 调用客户端
├── meta.json # 版本和依赖信息
├── notes/ # 笔记模块
│ ├── SKILL.md
│ └── references/api.md
└── knowledge-base/ # 知识库模块
├── SKILL.md
├── references/api.md
└── scripts/
├── cos-upload.cjs # COS 上传脚本
└── preflight-check.cjs # 文件类型预检
第四步:验证连接
确认凭证配置正确:
test -f ~/.config/ima/client_id && test -f ~/.config/ima/api_key \
&& echo "✅ Credentials configured" \
|| echo "⚠️ NO CREDENTIALS"
测试 API 连通性(查看知识库列表):
SKILL_DIR="/tmp/ima-skill"
OPTS=$(printf '{"clientId":"%s","apiKey":"%s"}' \
"$IMA_OPENAPI_CLIENTID" "$IMA_OPENAPI_APIKEY")
node "$SKILL_DIR/ima_api.cjs" \
"openapi/wiki/v1/search_knowledge_base" \
'{"query":"","cursor":"","limit":20}' \
"$OPTS"
返回 JSON 格式的知识库列表即表示连接成功。
5 个高频自动化场景
场景 1:搜索知识库内容
对 Hermes 说"搜索我的知识库里关于产品设计的文件",底层调用:
node "$SKILL_DIR/ima_api.cjs" \
"openapi/wiki/v1/search_knowledge" \
'{"query":"产品设计","knowledge_base_id":"","cursor":""}' \
"$OPTS"
场景 2:添加网页到知识库
看到好文章,说"把这篇文章添加到行业研究库":
# 搜索知识库获取 ID
RESULT=$(node "$SKILL_DIR/ima_api.cjs" \
"openapi/wiki/v1/search_knowledge_base" \
'{"query":"行业研究","cursor":"","limit":5}' "$OPTS")
KB_ID=$(echo "$RESULT" | python3 -c \
"import sys,json; d=json.load(sys.stdin); print(d['data']['knowledge_bases'][0]['knowledge_base_id'])")
# 添加网页
node "$SKILL_DIR/ima_api.cjs" \
"openapi/wiki/v1/import_urls" \
'{"knowledge_base_id":"'"$KB_ID"'","urls":["https://mp.weixin.qq.com/s/xxx"]}' \
"$OPTS"
场景 3:上传文件到知识库
上传文件需要四个步骤,Hermes 会自动完成全流程:
Step 1 — 类型预检
PREFLIGHT=$(node "$SKILL_DIR/knowledge-base/scripts/preflight-check.cjs" --file "/path/to/report.pdf")
echo "$PREFLIGHT" | python3 -m json.tool
Step 2 — 创建媒体记录
CREATE_RESP=$(node "$SKILL_DIR/ima_api.cjs" \
"openapi/wiki/v1/create_media" \
'{"file_name":"report.pdf","file_size":204800,"content_type":"application/pdf","file_ext":"pdf","knowledge_base_id":"'"$KB_ID"'"}' "$OPTS")
Step 3 — COS 上传
node "$SKILL_DIR/knowledge-base/scripts/cos-upload.cjs" \
--file "/path/to/report.pdf" \
--secret-id "$SECRET_ID" \
--secret-key "$SECRET_KEY" \
--token "$TOKEN" \
--bucket "$BUCKET" \
--region "$REGION" \
--cos-key "$COS_KEY" \
--content-type "application/pdf" \
--timeout 300000
Step 4 — 添加到知识库
node "$SKILL_DIR/ima_api.cjs" \
"openapi/wiki/v1/add_knowledge" \
'{"media_type":1,"media_id":"'"$MEDIA_ID"'","title":"report.pdf","knowledge_base_id":"'"$KB_ID"'"}' "$OPTS"
场景 4:创建 / 编辑笔记
创建笔记(说"帮我记录今天的会议纪要"):
node "$SKILL_DIR/ima_api.cjs" \
"openapi/note/v1/import_doc" \
'{"content_format":1,"content":"# 产品评审纪要\n\n## 参会人\n...","folder_name":"周会纪要"}' "$OPTS"
追加内容到已有笔记:
node "$SKILL_DIR/ima_api.cjs" \
"openapi/note/v1/append_doc" \
'{"note_id":"'"$NOTE_ID"'","content_format":1,"content":"\n## 新增内容\n..."}' "$OPTS"
读取笔记内容:
node "$SKILL_DIR/ima_api.cjs" \
"openapi/note/v1/get_doc_content" \
'{"note_id":"'"$NOTE_ID"'","target_content_format":0}' "$OPTS"
场景 5:笔记关联知识库
关联后,在知识库中搜索时也会命中笔记内容:
node "$SKILL_DIR/ima_api.cjs" \
"openapi/wiki/v1/add_knowledge" \
'{"media_type":11,"note_info":{"content_id":"'"$CONTENT_ID"'"},"title":"产品评审纪要","knowledge_base_id":"'"$KB_ID"'"}' "$OPTS"
进阶:Cron 定时自动化
用 Cron 实现无人值守的知识管理流水线:
# 每 6 小时自动搜索 AI 文章添加到知识库
hermes cron create "every 6h" \
--name "AI文章自动入库" \
--prompt "搜索最新的 AI Agent 技术文章,将链接批量添加到 ima 技术方案库" \
--skills ima-knowledge-base
更多实用场景:
| 场景 | 命令 | 效果 |
|---|---|---|
| 日报自动归档 | hermes cron create "0 18 * * *" |
每天 18:00 自动写当日总结笔记 |
| 周报知识库同步 | hermes cron create "0 17 * * 5" |
每周五 17:00 关联周报到知识库 |
管理任务:
hermes cron list # 查看所有任务
hermes cron pause # 暂停
hermes cron remove # 删除
hermes cron run # 立即触发
使用体验与注意事项
体验亮点
- 零学习成本 — 全部自然语言操作
- 全自动化 — Cron + Skills 实现无人值守
- 跨平台 — Telegram、飞书、Discord 均可遥控
- 越用越聪明 — Hermes 会记住你的偏好习惯
已知限制
- ❌ 视频、B站、YouTube 不支持 API 添加
- ⚠️ API Key 有频率限制(错误码 20002)
- ⚠️ 上传文件名不可修改
- ✅ 支持 15 种文件类型:PDF、Word、Excel、PPT、Markdown、图片等
总结
整个体系的核心逻辑:Hermes Agent 负责"智能调度",ima 知识库负责"持久存储",Cron 负责"定时触发",三者形成完整闭环。
过去管理知识是"人找信息"——打开文件夹、翻半天、不确定有没有最新版。现在变成了"信息自动流入"——一句话让 AI 完成从采集到检索的全流程。
这套方案完全基于免费开源工具(Hermes Agent MIT 协议,ima 个人版免费)和腾讯官方 API,数据全程掌握在自己手里。