dayofyear

ima skills(中文-精煉版)

知識管理v1.0.2
作者:dayofyear更新於 2026-05-11共 3 個版本 · 最新版本釋出於 2026-03-29ima-skill-ref@clawhub_dayofyear/ima-skill-ref
資料整理資訊檢索筆記整理#Knowledge Base#知识库#知识#笔记

據 AlphaMoat 統計,截至 2026-09,ima skills(中文-精煉版) 累計下載 2,632 次、獲 1 個星標,在全部 5,078 個 AI 技能中排名第 3,996 位,在「知識管理」分類(442 個)中排名第 345 位。

累計安裝
162
累計下載
2632
星標
1
全站排名
#3,996
全站前 79% · 「知識管理」前 79%
平台累計安裝累計下載星標評論
ClawHub ↗3713461-
SkillHub ↗16226321—

各平台的計數口徑不同,統計時間不一致。

這個技能是做什麼的

該技能支援讀取、建立和追加筆記,也可上傳檔案、匯入網頁及搜尋知識庫;主文將憑證目標限制在 IMA 與騰訊雲 COS 域名。技能卡指出通用 Node helper 在接收不可信絕對路徑時可能把憑證發往任意 URL,上傳流程也會處理臨時 COS 憑證;追加和入庫操作會修改使用者內容。優先使用模組專用 helper,寫入或上傳前確認目標筆記、知識庫和檔案,並避免在命令參數或日誌中暴露憑證。 需要已設定 IMA 用戶端 ID、API Key 及所選 helper 對應的 Node 或 Python。上傳先做檔案預檢及同名檢查,再執行文件 COS 上傳和知識登錄步驟;保護並清理暫時憑證檔案,不可信執行後輪換憑證。

資料釋出於 2026-10-27

可以用來做什麼

  • 搜尋、瀏覽或讀取筆記
  • 建立筆記或向已有筆記追加內容
  • 上傳檔案、匯入網頁或搜尋知識庫

什麼時候用

  • 需要在已授權 IMA 帳戶中管理筆記或知識庫時
  • 確認請求僅發往可信域名,並在寫入、上傳前核對具體目標時

示例提示詞

以下是根據技能文件生成的示例,不代表實際執行結果。

先唯讀搜尋指定知識庫並返回匹配結果;不要建立、追加或上傳內容,也不要在輸出中顯示憑證。

月度資料趨勢

累計下載2632
335156928022026-03 · 累計下載 5052026-05 · 累計下載 9222026-06 · 累計下載 12042026-07 · 累計下載 16012026-08 · 累計下載 18762026-09 · 累計下載 263226-0326-09
星標1
0122026-03 · 星標 12026-05 · 星標 12026-06 · 星標 12026-07 · 星標 12026-08 · 星標 12026-09 · 星標 126-0326-09

2026-09 起統計方法調整:同名技能按作者分別統計,並覆蓋全部技能。圖中虛線為調整前的月份,與之後的資料不直接比較,也不計算跨越調整的增長。

月份累計下載環比星標
2026-092632—1
2026-081876+17.2%1
2026-071601+33.0%1
2026-061204+30.6%1
2026-05922—1
2026-03505—1

SKILL.md 原文

以下是作者釋出的原始檔案,按純文字顯示,本站未做修改或稽核;其中的連結不可點選,命令請核實後再執行。抓取於 2026-10-23。

14 KB · ClawHub v1.0.2
---
name: ima-skill
description: |
  统一IMA OpenAPI技能,支持笔记管理和知识库操作。
  触发:知识库、资料库、笔记、上传文件、添加网页、搜索内容。
homepage: https://ima.qq.com
metadata:
  openclaw:
    emoji: '🔧'
    requires: { env: ['IMA_OPENAPI_CLIENTID', 'IMA_OPENAPI_APIKEY'] }
展開全部(共 496 行)
    primaryEnv: 'IMA_OPENAPI_CLIENTID'
  security:
    credentials_usage: 凭证仅发往ima.qq.com
    allowed_domains: [ima.qq.com, '*.myqcloud.com']
    config_paths: ['~/.config/ima/client_id', '~/.config/ima/api_key']
---

# ima-skill

IMA笔记和知识库管理技能。

## 所需配置路径

- `~/.config/ima/client_id` (可选,IMA API 客户端 ID)
- `~/.config/ima/api_key` (可选,IMA API 密钥)

## 网络访问域名

- `ima.qq.com` (主要 API 服务)
- `*.myqcloud.com` (腾讯云 COS 文件上传服务)

## 安全说明

详细权限说明请参阅 [PERMISSIONS.md](PERMISSIONS.md),包括:
- 配置文件访问说明
- 网络访问域名说明
- 凭证安全存储建议
- COS服务安全措施

## 模块路由

| 用户意图 | 模块 | 脚本 |
|----------|------|------|
| 搜索/浏览/读取笔记、追加到笔记 | notes | notes/scripts/notes-ops.cjs |
| 上传文件、添加网页、搜索/管理知识库 | knowledge-base | knowledge-base/scripts/kb-ops.cjs |

## 意图判断

| 用户说的 | 实际意图 | 路由 |
|----------|----------|------|
| "搜索我的笔记" | 搜索笔记 | notes → search |
| "新建一篇笔记" | 创建笔记 | notes → create |
| "追加到XX笔记" | 追加内容 | notes → append |
| "上传文件到知识库" | 上传文件 | kb (多步骤) |
| "添加到知识库" | 添加网页/笔记 | kb → add-urls/add-note |
| "搜索知识库内容" | 知识库搜索 | kb → search |

## 易混淆场景

| 用户说的 | 实际意图 | 路由 |
|----------|----------|------|
| "添加到知识库XX的笔记YY" | 追加到笔记 | notes → append |
| "把这篇笔记添加到知识库" | 关联笔记到知识库 | kb → add-note |
| "帮我记一下" | 需确认 | notes → 先询问 |

## 多语言调用方式

| 语言/环境 | 脚本 |
|-----------|------|
| Node.js | scripts/ima-api.cjs |
| Python | scripts/ima-api.py |

## 快速调用

### 笔记操作
```bash
node notes/scripts/notes-ops.cjs search --query "关键词"
node notes/scripts/notes-ops.cjs search --query "关键词" --type content
node notes/scripts/notes-ops.cjs list-folders
node notes/scripts/notes-ops.cjs list-notes --folder-id <id>
node notes/scripts/notes-ops.cjs read --doc-id <id>
node notes/scripts/notes-ops.cjs create --content "# 标题\n\n正文"
node notes/scripts/notes-ops.cjs append --doc-id <id> --content "\n\n补充内容"
```

### 知识库操作
```bash
node knowledge-base/scripts/kb-ops.cjs list-kbs
node knowledge-base/scripts/kb-ops.cjs list --kb-id <id>
node knowledge-base/scripts/kb-ops.cjs search --kb-id <id> --query "关键词"
node knowledge-base/scripts/kb-ops.cjs add-urls --kb-id <id> --urls "https://..."
node knowledge-base/scripts/kb-ops.cjs add-note --kb-id <id> --doc-id <笔记ID> --title "标题"
```

### 文件上传(完整5步)
```bash
node knowledge-base/scripts/preflight-check.cjs --file "/path/report.pdf"
node knowledge-base/scripts/check-repeated-names.cjs --kb-id "kb_xxx" --names "report.pdf:1"
node knowledge-base/scripts/create-media.cjs --kb-id "kb_xxx" --file-name "report.pdf" --file-size 1048576 --content-type "application/pdf" --file-ext "pdf"
node knowledge-base/scripts/cos-upload.cjs --file "/path/report.pdf" ...
node knowledge-base/scripts/add-knowledge.cjs --kb-id "kb_xxx" --media-type 1 --title "报告" --media-id "media_xxx" --cos-key "xxx" --file-size 1048576 --file-name "report.pdf"
```

## 凭证配置

获取:https://ima.qq.com/agent-interface

配置(二选一):
```bash
# 环境变量
export IMA_OPENAPI_CLIENTID="id"
export IMA_OPENAPI_APIKEY="key"

# 配置文件(自动加载)
mkdir -p ~/.config/ima
echo "id" > ~/.config/ima/client_id
echo "key" > ~/.config/ima/api_key
```

## 通用错误码

| 码 | 含义 | 处理 |
|----|------|------|
| 0 | 成功 | — |
| 110001 | 参数非法 | 检查参数 |
| 110010 | 网络错误 | 可重试 |
| 110011 | 逻辑错误 | 不可重试 |
| 110021 | 频控 | 降低频率 |
| 110030 | 无权限 | 确认权限 |

> 响应字段为 `code`/`msg`,不是 `retcode`/`errmsg`

## 通用脚本参数

| 参数 | 说明 |
|------|------|
| `--json` | 输出完整JSON响应 |
| `--help` | 显示帮助信息 |

## 游标分页

适用于:list、search等接口
1. 首次:`cursor: ""`
2. 检查 `is_end`:`false`=还有更多
3. 用 `next_cursor` 继续
4. `is_end=true` 停止

## 实测经验

| 问题 | 解决方案 |
|------|----------|
| search_note_book空标题报错 | query_info.title不可为空 |
| import_urls根目录处理 | folder_id省略,不要传kb_id |
| 笔记搜索必须带关键词 | query_info至少一个非空字段 |

## 脚本列表

```
scripts/
  ima-api.cjs, ima-api.py

notes/scripts/
  notes-ops.cjs, notes-ops.py

knowledge-base/scripts/
  kb-ops.cjs, kb-ops.py
  preflight-check.cjs, check-repeated-names.cjs
  create-media.cjs, cos-upload.cjs, add-knowledge.cjs
```

## Python接口详细文档

### 环境准备
```bash
# 设置环境变量
export IMA_OPENAPI_CLIENTID="your_client_id"
export IMA_OPENAPI_APIKEY="your_api_key"

# 或创建配置文件
mkdir -p ~/.config/ima
echo "your_client_id" > ~/.config/ima/client_id
echo "your_api_key" > ~/.config/ima/api_key
```

---

### 一、笔记操作接口 (notes-ops.py)

#### 1. search - 搜索笔记
**入参:**
| 参数 | 必需 | 类型 | 说明 |
|------|------|------|------|
| `--query` | 是 | string | 搜索关键词 |
| `--type` | 否 | string | 搜索类型:`title`(标题) 或 `content`(内容),默认 `title` |
| `--start` | 否 | int | 起始位置,默认 0 |
| `--end` | 否 | int | 结束位置,默认 20 |
| `--json` | 否 | flag | 输出完整JSON响应 |

**出参(JSON结构):**
```json
{
  "is_end": true,           // 是否最后一页
  "total_hit_num": "6",     // 总命中数
  "docs": [                 // 笔记列表
    {
      "doc": {
        "basic_info": {
          "docid": "7439576008228970",
          "title": "笔记标题",
          "summary": "笔记摘要",
          "create_time": "1773733141678",
          "modify_time": "1773758324793",
          "status": 0,
          "folder_id": "",
          "folder_name": "",
          "summary_style": {}
        }
      }
    }
  ]
}
```

**示例:**
```bash
# 搜索标题包含"工作"的笔记
python3 notes/scripts/notes-ops.py search --query "工作"

# 搜索内容包含"会议"的笔记,输出JSON
python3 notes/scripts/notes-ops.py search --query "会议" --type content --json

# 分页搜索
python3 notes/scripts/notes-ops.py search --query "项目" --start 0 --end 10
```

#### 2. list-folders - 列出文件夹
**入参:**
| 参数 | 必需 | 类型 | 说明 |
|------|------|------|------|
| `--cursor` | 否 | string | 分页游标,默认 "0" |
| `--limit` | 否 | int | 返回数量,默认 20 |
| `--json` | 否 | flag | 输出完整JSON响应 |

**出参(JSON结构):**
```json
{
  "cursor": "next_cursor",
  "has_more": false,
  "folder_list": [
    {
      "folder_id": "folder_xxx",
      "folder_name": "文件夹名称",
      "create_time": "1773733141678",
      "modify_time": "1773758324793"
    }
  ]
}
```

#### 3. list-notes - 列出笔记
**入参:**
| 参数 | 必需 | 类型 | 说明 |
|------|------|------|------|
| `--folder-id` | 否 | string | 文件夹ID,不指定则列出所有笔记 |
| `--cursor` | 否 | string | 分页游标,默认 "" |
| `--limit` | 否 | int | 返回数量,默认 20 |
| `--json` | 否 | flag | 输出完整JSON响应 |

#### 4. read - 读取笔记
**入参:**
| 参数 | 必需 | 类型 | 说明 |
|------|------|------|------|
| `--doc-id` | 是 | string | 笔记文档ID |
| `--format` | 否 | int | 格式:0=文本(默认),1=HTML |
| `--json` | 否 | flag | 输出完整JSON响应 |

**出参(JSON结构):**
```json
{
  "doc": {
    "basic_info": {
      "docid": "7439576008228970",
      "title": "笔记标题",
      "summary": "摘要",
      "create_time": "1773733141678",
      "modify_time": "1773758324793"
    },
    "content": "笔记完整内容"
  }
}
```

#### 5. create - 创建笔记
**入参:**
| 参数 | 必需 | 类型 | 说明 |
|------|------|------|------|
| `--title` | 是 | string | 笔记标题 |
| `--body` | 是 | string | 笔记内容 |
| `--folder-id` | 否 | string | 目标文件夹ID |
| `--json` | 否 | flag | 输出完整JSON响应 |

#### 6. append - 追加到笔记
**入参:**
| 参数 | 必需 | 类型 | 说明 |
|------|------|------|------|
| `--doc-id` | 是 | string | 笔记文档ID |
| `--body` | 是 | string | 要追加的内容 |
| `--json` | 否 | flag | 输出完整JSON响应 |

---

### 二、知识库操作接口 (kb-ops.py)

#### 1. list-kbs - 列出所有知识库
**入参:**
| 参数 | 必需 | 类型 | 说明 |
|------|------|------|------|
| `--query` | 否 | string | 搜索关键词 |
| `--json` | 否 | flag | 输出完整JSON响应 |

**出参(JSON结构):**
```json
{
  "info_list": [
    {
      "id": "64VbjCXIm3XittrNBDZxkwI5I4KV9suC5LQYa6wGuDY=",
      "name": "知识库名称",
      "cover_url": "https://ima-media-pub-prod.image.myqcloud.com/..."
    }
  ]
}
```

#### 2. get-kb - 获取知识库信息
**入参:**
| 参数 | 必需 | 类型 | 说明 |
|------|------|------|------|
| `--kb-id` | 是 | string | 知识库ID |
| `--json` | 否 | flag | 输出完整JSON响应 |

#### 3. list - 列出知识库内容
**入参:**
| 参数 | 必需 | 类型 | 说明 |
|------|------|------|------|
| `--kb-id` | 是 | string | 知识库ID |
| `--query` | 否 | string | 搜索关键词 |
| `--cursor` | 否 | string | 分页游标,默认 "" |
| `--limit` | 否 | int | 返回数量,默认 50 |
| `--json` | 否 | flag | 输出完整JSON响应 |

**出参(JSON结构):**
```json
{
  "is_end": true,
  "next_cursor": "",
  "doc_list": [
    {
      "doc_id": "doc_xxx",
      "title": "文档标题",
      "summary": "文档摘要",
      "create_time": "1773733141678",
      "modify_time": "1773758324793",
      "media_type": "document"
    }
  ]
}
```

#### 4. search - 搜索知识库
**入参:**
| 参数 | 必需 | 类型 | 说明 |
|------|------|------|------|
| `--kb-id` | 是 | string | 知识库ID |
| `--query` | 是 | string | 搜索关键词 |
| `--cursor` | 否 | string | 分页游标,默认 "" |
| `--limit` | 否 | int | 返回数量,默认 20 |
| `--json` | 否 | flag | 输出完整JSON响应 |

#### 5. create-kb - 创建知识库
**入参:**
| 参数 | 必需 | 类型 | 说明 |
|------|------|------|------|
| `--name` | 是 | string | 知识库名称 |
| `--desc` | 否 | string | 知识库描述 |
| `--json` | 否 | flag | 输出完整JSON响应 |

#### 6. delete-kb - 删除知识库
**入参:**
| 参数 | 必需 | 类型 | 说明 |
|------|------|------|------|
| `--kb-id` | 是 | string | 知识库ID |
| `--json` | 否 | flag | 输出完整JSON响应 |

#### 7. create-note - 创建知识库笔记
**入参:**
| 参数 | 必需 | 类型 | 说明 |
|------|------|------|------|
| `--kb-id` | 是 | string | 知识库ID |
| `--title` | 是 | string | 笔记标题 |
| `--body` | 是 | string | 笔记内容 |
| `--json` | 否 | flag | 输出完整JSON响应 |

#### 8. add-urls - 添加网页到知识库
**入参:**
| 参数 | 必需 | 类型 | 说明 |
|------|------|------|------|
| `--kb-id` | 是 | string | 知识库ID |
| `--urls` | 是 | string | 网页URL,多个用逗号分隔 |
| `--json` | 否 | flag | 输出完整JSON响应 |

#### 9. import-urls - 导入网页
**入参:**
| 参数 | 必需 | 类型 | 说明 |
|------|------|------|------|
| `--urls` | 是 | string | 网页URL,多个用逗号分隔 |
| `--folder-id` | 否 | string | 目标文件夹ID,不指定则导入到根目录 |
| `--json` | 否 | flag | 输出完整JSON响应 |

---

### 三、通用API调用 (ima-api.py)

#### 用法:
```bash
python3 scripts/ima-api.py --path <API路径> --body <JSON字符串> [--json]
```

#### 常用API路径:
| 接口 | 路径 | 说明 |
|------|------|------|
| 搜索笔记 | `openapi/note/v1/search_note_book` | 搜索笔记 |
| 列出知识库 | `openapi/wiki/v1/search_knowledge_base` | 获取知识库列表 |
| 获取知识库内容 | `openapi/wiki/v1/search_knowledge` | 搜索知识库内容 |

#### 示例:
```bash
# 搜索笔记
python3 scripts/ima-api.py --path openapi/note/v1/search_note_book \
  --body '{"search_type":0,"query_info":{"title":"工作"},"start":0,"end":20}'

# 列出知识库
python3 scripts/ima-api.py --path openapi/wiki/v1/search_knowledge_base \
  --body '{"limit":50}'
```

---

### 四、错误码说明

| 错误码 | 含义 | 处理建议 |
|--------|------|----------|
| 0 | 成功 | - |
| 110001 | 参数非法 | 检查参数格式 |
| 110010 | 网络错误 | 可重试 |
| 110011 | 逻辑错误 | 检查业务逻辑 |
| 110021 | 频控 | 降低调用频率 |
| 110030 | 无权限 | 确认权限设置 |

---

### 五、调用技巧

1. **环境检查**:调用前检查环境变量或配置文件
2. **参数验证**:使用 `--help` 查看参数格式
3. **分页处理**:大数据量使用游标分页
4. **JSON解析**:添加 `--json` 参数获取完整响应
5. **错误处理**:网络错误可重试,参数错误需检查

---

### 六、快速调用示例

#### 笔记操作:
```bash
# 搜索笔记
python3 notes/scripts/notes-ops.py search --query "关键词" --json

# 读取笔记
python3 notes/scripts/notes-ops.py read --doc-id "doc_xxx" --json

# 创建笔记
python3 notes/scripts/notes-ops.py create --title "标题" --body "内容"
```

#### 知识库操作:
```bash
# 列出知识库
python3 knowledge-base/scripts/kb-ops.py list-kbs --json

# 搜索知识库
python3 knowledge-base/scripts/kb-ops.py search --kb-id "kb_xxx" --query "关键词" --json

# 创建知识库笔记
python3 knowledge-base/scripts/kb-ops.py create-note --kb-id "kb_xxx" --title "标题" --body "内容"
```

「知識管理」分類下的熱門技能

資料月份:2026-09 · 下載/星標/安裝數聚合自公開技能註冊庫(ClawHub、SkillHub),按月更新。口徑說明見資料方法。