dsh-ima-plugin
DeepSeek Harness dynamic Cordis plugin: ima_kb tool for Tencent IMA knowledge base, notes and experimental RAG qa
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 23, 2026
- Updated
- Aug 23, 2026
Introduction
dsh-ima-plugin
一个面向 DeepSeek Harness (DSH) 的动态 Cordis Host 插件:注册 ima_kb 模型工具,完整调用腾讯 IMA(ima.qq.com)知识库与笔记开放接口。
动态插件以纯 JavaScript 函数体交付,无构建、无依赖、无需 TypeScript/JSX,直接粘贴进 DSH 的
cordis_define即可运行。
功能总览(17 种操作)
知识库(/openapi/wiki/v1)
| 操作 | 说明 |
|---|---|
configure | 在插件内存中保存 clientId / apiKey / 默认知识库 ID |
list_knowledge_bases | 列出可添加内容的知识库 |
search_knowledge_bases | 按名称搜索知识库 |
get_knowledge_base_info | 查询知识库信息(名称/描述/推荐问题) |
browse | 浏览知识库内容(支持 folder_id、游标翻页) |
search | 按关键词搜索知识(含高亮片段) |
import_urls | 导入网页 / 公众号文章 URL(1-10 个/次) |
upload_file | 上传本地文件(create_media → COS 签名直传 → add_knowledge) |
get_media_info | 查询媒体访问链接 |
check_repeated_names | 上传前检查文件名重复 |
笔记(/openapi/note/v1)
| 操作 | 说明 |
|---|---|
list_notebooks | 列出笔记本 |
list_notes | 列出笔记本内的笔记 |
search_notes | 搜索笔记(标题/正文、窗口式翻页) |
get_note_content | 读取笔记内容(纯文本 / JSON) |
create_note | 从 Markdown 新建笔记 |
append_note | 在笔记末尾追加 Markdown 内容 |
问答(实验性)
| 操作 | 说明 |
|---|---|
qa | 基于知识库的 RAG 问答(Cookie 认证,解析 SSE 流式回答) |
所有翻页类操作均支持 maxPages(默认 1,最大 10)自动翻页,合并结果上限 500 条。
安装(DSH 动态插件)
- 打开 src/plugin-body.js,复制全部内容(含文件头注释);
- 在 DSH 会话中调用
cordis_define:plugin:{ "kind": "new", "idPrefix": "imakb" }code.host: 粘贴上一步的内容code.client: 留空(本插件为纯 Host 插件)
- 调用
cordis_run激活返回的pluginId/packageId; - 在对话中直接使用
ima_kb工具,例如:
「用 configure 配置我的 IMA 凭证:clientId=xxx apiKey=yyy」
「列出我的 IMA 知识库」
「把 https://example.com/article 导入知识库 <ID>」
「把本地的 report.pdf 上传到知识库 <ID>」
「在知识库 <ID> 中搜索:deepseek」
「新建一篇笔记,内容是 # 会议纪要 …」
凭证获取
- OpenAPI 凭证:在 IMA 开放平台申请 Client ID 与 API Key,几乎所有操作使用;
- Cookie(仅 qa):登录 ima.qq.com 后从浏览器开发者工具复制完整 Cookie,通过
cookie参数传入。
实现要点
- 纯 JavaScript:无 import/require,仅使用 DSH Host 内建符号(
ctx、harness、console、TextEncoder等); - HTTP 调用:通过
ctx.shell执行curl.exe(win32 pwsh 执行器),JSON 体经单引号转义后走 argv,规避 PowerShell 吞 stdin 的问题;凭证与所有外部输入均做字符白名单校验防命令注入; - COS 直传签名:沙箱无 crypto 模块,SHA1 / HMAC-SHA1 为纯 JS 实现(已通过 RFC 标准测试向量验证),q-signature 使用服务端返回的
start_time/expired_time作 KeyTime,避免本机时钟偏差; - 生命周期可逆:工具注册归属插件 Fiber,停止/更新自动移除;凭证仅存插件运行内存,不落盘。
安全提示
configure保存的凭证只存在插件运行内存中,插件停止即失效;qa依赖的 Cookie 属于网页内部接口,为实验性能力,可能随 IMA 更新失效;- 请勿在公开渠道泄露 Client ID / API Key / Cookie。
Topics
dsh-plugin · deepseek-harness · cordis · tencent-ima · knowledge-base · rag · agent-tool