DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
O

dsh-offexplorer

Offexplorer

DeepSeek Harness (dsh) 插件:kafka 浏览和管理工具,迁移 offexplorer_rs 功能。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:awol2005ex3/dsh-offexplorer#43ff805ede6e689846769f0657793079cf37b7d8
README兼容性版本

兼容性与来源证明

Offexplorer 以 dsh-offexplorer 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/10/27

版本

0.1.0stable
2026/10/27

相关插件

正在加载相关插件…

最新版
0.1.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
Apache-2.0
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/11/3
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 integrations-communication 分类下经过校验的插件。

Acp App@deepseek-ai/dsh-acp-appdsh ACP 配置文件包:基于 dsh-base 的仅限自动化的 JSON-RPC stdio 和进程生命周期管理Ds Botds-botDS Bot:DeepSeek Harness 的一组长期运行的 Bot,支持主 Bot、Bot 间消息和群聊Free Searchdsh-free-searchDeepSeek Harness 的免费网页搜索:27 个引擎(Bing/DuckDuckGo/AnySearch/SearXNG/Exa/Tavily/Keenable/Firecrawl/Parallel/You.com 无需密钥;通过 MCP 支持 Zhihu 全局/站内搜索,以及 Perplexity/SerpBase/DeepSeek(官方 + 原生工具/搜索)/Baidu/Kimi/Aliyun/Douba)Ab Wechat Scrapedsh-ab-wechat-scrape--- description: "树外 wechat_scrape 工具:获取微信公众号文章,过滤推广区块,并将每篇文章保存为 Markdown 文件,供此机器的 dsh 配置文件维护者使用。" kind: "package-reference" ---

README

dsh-offexplorer

DeepSeek Harness (dsh) 插件:把 offexplorer_rs 的 Kafka 浏览 / 管理能力移植进 dsh。Rust 半基于 rdkafka,经 napi-rs 暴露给 Node 宿主, 再以 /api/offexplorer/* 精确 Fetch 路由和一个 kafka agent 工具对外提供。

结构

src/
  index.ts         插件入口:name / inject / Config / apply
  settings.ts      Config schema + 集群 JSON 规范化(兼容 connections.json PascalCase)
  native.ts        原生模块加载(createRequire → lib/native/index.cjs)
  native-types.ts  原生函数面手写类型
  rpc.ts           RPC 分发器 + connection.fetch.register 路由
  tool.ts          kafka agent 工具
rust/
  src/config.rs    集群配置解析 / 校验 / kinit / GSSAPI 环境
  src/kafka.rs     rdkafka 封装(无状态,每次调用新建客户端)
  src/types.rs     napi 返回结构
  src/lib.rs       #[napi] 导出
  vendor/rdkafka-sys  Windows MIT Kerberos 补丁版(见下)
scripts/
  check-native.mjs 原生模块加载冒烟
  check-plugin.mjs 宿主半冒烟(假 cordis ctx,不连集群)

构建

npm install
npm run build:native   # cargo + napi,产物 lib/native/index.cjs 与 .node
npm run build          # tsc → lib/
npm run check          # check:native + check:plugin

build:native 需要 Rust 工具链、CMake(librdkafka 用 cmake-build 特性现场编译)。 Windows 上首次构建会编译 vendored 的 librdkafka,耗时较长。

配置

插件配置(设置 → 插件 → Offset Explorer):

{
  "clusters": "[{\"id\":\"prod\",\"name\":\"生产\",\"bootstrapServers\":[\"broker1:9092\"],\"security\":\"SASL_PLAINTEXT\",\"sasl\":\"GSSAPI\",\"krb\":{\"principal\":\"user@REALM\",\"keytabPath\":\"C:/keys/user.keytab\",\"autoKinit\":true}}]",
  "defaultCluster": "prod",
  "maxRows": 100,
  "maxPerPartition": 50,
  "maxValueBytes": 4096
}
  • clusters 是 JSON 字符串(schemastery 无数组对象编辑能力),元素兼容 Offset Explorer connections.json 的 PascalCase 字段(BootstrapServers / SASL / TLS / CCachePath / CAPemPath …)。
  • security:PLAINTEXT | SSL | SASL_PLAINTEXT | SASL_SSL;sasl: GSSAPI | PLAIN | SCRAM-SHA-256 | SCRAM-SHA-512。
  • keytab / 密码等敏感信息只放在 dsh 配置里,不要提交进仓库。

RPC 端点

全部为 POST /api/offexplorer/<endpoint>,信封 {type:'client-request',rpcId,method,payload:{args}} → {type:'server-response',rpcId,result},result 为 {ok:true,value} 或 {ok:false,error:{code,message,details}}。

endpoint说明
version / clusters原生版本 / 集群清单(无需集群连接)
kinit按集群配置执行一次 Kerberos 取票
ping / clusterInfo / brokers连通性、cluster id + controller、broker 列表
topics / topicDetail / topicConfigs / brokerConfigstopic 列表 / 分区明细 / 动态配置
groups / groupDetail消费者组列表 / 成员与分配
watermarks单分区 earliest / latest
browse拉取消息(start: OLDEST / NEWEST / SPECIFIC / TIMESTAMP)
produce / createTopic / deleteTopic / increasePartitions写入与管理
health离线分区 / 副本不足 / 离线副本巡检

Agent 工具

宿主半注册一个名为 kafka 的 agent 工具,参数为 { endpoint, args, cluster? }, 直接复用上面的 RPC 分发器(与面板同一条校验路径)。省略 cluster 时用默认集群。 endpoint 在 schema 里是枚举,传错会被参数校验直接拒绝。

列出已配置的 Kafka 集群          → {endpoint:"clusters"}
orders 有哪些分区                → {endpoint:"topicDetail",args:{topic:"orders"}}
看看 orders 最新 20 条消息       → {endpoint:"browse",args:{topic:"orders",start:"NEWEST",limit:20}}
检查集群健康                     → {endpoint:"health"}
往 orders 发一条 hello           → {endpoint:"produce",args:{topic:"orders",value:"hello"}}

produce / createTopic / deleteTopic / increasePartitions 会改动集群, 工具描述里要求模型先与用户确认。GSSAPI 集群在 autoKinit 打开时自动 kinit。

Windows Kerberos 说明

rust/vendor/rdkafka-sys 是打过补丁的 rdkafka-sys 4.10(librdkafka 2.12.1): 新增 rdkafka_sasl_mit.c,当环境变量 RDKAFKA_SASL_MIT=1 时使用 MIT Kerberos (gssapi64.dll)而不是 SSPI,避免 SSPI 把 SPN 大写导致认证失败。

宿主进程会设置:

  • RDKAFKA_SASL_MIT=1(Windows GSSAPI);
  • KRB5_CONFIG(若配置了 krb.krb5ConfPath);
  • KRB5CCNAME=FILE:<ccache>(autoKinit 或 kinit 端点成功后)。

autoKinit 使用 kinit -c FILE:<ccache> -k -t <keytab> <principal>。 默认 ccache 为 %TEMP%\dsh_offexplorer_krb5cc_<principal>。

安全 / 开发约定

  • 冒烟脚本只做本地断言,不连接任何集群;联调请使用本地或测试集群。
  • TLS / SCRAM 相关配置项已归一化传递,但当前构建未启用 rdkafka 的 ssl / sasl 扩展特性(与 offexplorer_rs 的构建面保持一致),连接时若服务端强制 TLS 会得到明确的客户端错误。
  • 原生模块加载失败不会让 apply 抛错:version / clusters 仍可用,其余端点 返回可读错误。