Agent Skills
返回列表
IMA 知识库上传

IMA 知识库上传

知识管理 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_af179082/ima-file-upload。

技能介绍

解决 IMA 知识库文件入库的工程痛点

直接通过 IMA MCP 上传大文件或批量文件时,常面临几个工程痛点:原生接口不支持新建知识库与移动/删除文件,COS 官方 SDK 依赖安装缓慢,且临时凭证的签名与生命周期管理容易出错。本技能通过封装底层的 COS 签名直传逻辑,补齐了这些原生能力缺失,让文件入库流程具备确定性和可脚本化能力。

核心能力与关键步骤

技能将上传拆解为三个严谨的步骤,确保数据一致性与安全性:

  1. 前置校验与目标定位:首先确认 ima-mcp 连接器已连接。由于无法新建知识库,需通过 get_addable_knowledge_base_list 获取可写库列表。同时,利用 get_knowledge_list 排查用户口中的“知识库”是否实为文件夹(media_type: 99),避免错传。
  2. 零依赖 COS 直传:调用 create_media 获取临时凭证(需严格传入精确字节数与 content_type)。随后,利用内置的零依赖脚本 scripts/cos_put.py 执行 PUT 请求。脚本实现了 COS Signature v5 签名算法,串行处理 tasks.json 中的上传任务,大幅省去了安装 cos-python-sdk-v5 的时间。
  3. 入库与目录归置:调用 add_knowledge 完成最终入库。若需将文件移入特定文件夹,可直接复用 media_id 并传入目标 folder_id,配合 DUPLICATE_NAME_STRATEGY_REPLACE 策略,即可实现“移动”效果(原生无 move 工具)。

适用边界与安全注意点

该方案不适用于新建知识库场景,且无法删除已入库文件。在处理扫描版 PDF 时,需注意单文件体积上限,建议先用 Pillow 将每页缩放至 1240px 宽并采用 JPEG q72 压缩,控制在 30MB 以内。此外,tasks.json 中包含明文临时密钥,上传完成后必须立即从工作区删除,以防凭证泄露。入库后可通过 get_knowledge_list 轮询 media_state 与 parse_progress 验证解析状态。

使用场景

  • 运维人员需将多份技术文档批量上传至已有IMA知识库指定文件夹,因无移动工具需复用媒体ID实现归置
  • 开发者需上传大体积扫描版PDF至知识库,需先压缩至30MB内并通过精确字节校验避免凭证失效
  • 资料管理员需将文件快速入库至知识库子文件夹,需用首次调用带folder_id的方式省去后续移动步骤
  • 技术支持需验证文件上传后解析状态,需通过轮询media_state与parse_progress确认内容正确

适合人员

  • 知识库运维工程师:需批量上传技术文档至IMA知识库,需解决无移动工具时的文件夹归置问题
  • 文档工程师:需上传扫描版PDF至知识库,需掌握大文件压缩与COS签名直传的零依赖实现
  • AI应用开发者:需构建IMA知识库文件上传流程,需处理临时凭证生命周期与入库目录定位
  • 内容管理员:需将文件快速入库至指定文件夹,需用首次调用带folder_id的高效入库方式