Back to home@ABccgh

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 动态插件)

  1. 打开 src/plugin-body.js,复制全部内容(含文件头注释);
  2. 在 DSH 会话中调用 cordis_define
    • plugin: { "kind": "new", "idPrefix": "imakb" }
    • code.host: 粘贴上一步的内容
    • code.client: 留空(本插件为纯 Host 插件)
  3. 调用 cordis_run 激活返回的 pluginId / packageId
  4. 在对话中直接使用 ima_kb 工具,例如:
「用 configure 配置我的 IMA 凭证:clientId=xxx apiKey=yyy」
「列出我的 IMA 知识库」
「把 https://example.com/article 导入知识库 <ID>」
「把本地的 report.pdf 上传到知识库 <ID>」
「在知识库 <ID> 中搜索:deepseek」
「新建一篇笔记,内容是 # 会议纪要 …」

凭证获取

  • OpenAPI 凭证:在 IMA 开放平台申请 Client IDAPI Key,几乎所有操作使用;
  • Cookie(仅 qa):登录 ima.qq.com 后从浏览器开发者工具复制完整 Cookie,通过 cookie 参数传入。

实现要点

  • 纯 JavaScript:无 import/require,仅使用 DSH Host 内建符号(ctxharnessconsoleTextEncoder 等);
  • 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

License

MIT