SuperAPI AI 工具集

redis-insight-plugin

数据与分析

查看项目

更新于 10-16 09:48

技能介绍

本技能用于开发 Redis Insight Workbench 可视化插件:插件在 Workbench 的 iframe 内渲染 Redis 命令结果。适用触发场景包括插件清单、package.json 的 visualizations、activationMethod 函数、redisinsight-plugin-sdk 使用、Parcel/Vite 构建、iframe 渲染、Redis 命令解析、Docker 部署 RedisInsight、/api/plugins 验证及 Playwright 插件测试。

用途与插件类型:先确定类型。内部 monorepo 插件位于 redisinsight/ui/src/packages/<plugin-name>/,随 Redis Insight 发布,用 Vite(共享配置)构建,须遵循仓库前端、redis-ui-components、代码质量、测试与 e2e 规范,建议复制 geodata 或 redisearch 等同类包。外部独立插件安装到 ~/.redis-insight/plugins/<name>/,用 Parcel 构建并打包全部依赖,不得导入 uiSrc/ 或任何 RedisInsight 内部模块。

主要能力:外部插件结构含 package.json、src/index.html(含 #app)、main.tsx(激活函数默认导出)、components、styles 与 dist 产物。清单需声明 name、version、description、main(如 ./dist/index.js)、styles(如 ./dist/styles.css)及 visualizations 数组,每个描述符含 id、name、activationMethod、matchCommands、description、default(除非用户明确要求,否则 default: false)。activationMethod 须与 bundle 中默认导出的函数名完全一致。激活函数须获取 #app 根元素、防御性校验 props(command、data、modules、theme)、try/catch 渲染错误状态、无数据时渲染空状态,并使用 [MY_PLUGIN] 等日志前缀。UI 须使用 RedisInsight light/dark 主题(非 light2/dark2),内部插件通过 redis-ui-components 与 uiSrc/components/ui 封装构建,外部插件用本地 CSS 变量模拟产品令牌,通过 theme_LIGHT/theme_DARK body class 或 SDK 主题辅助函数检测主题;品牌红仅用于品牌场景。

使用方式:强制三阶段工作流——阶段 1 原生 DOM 接线,阶段 2 引入 React 渲染类型化组件,阶段 3 加入真实可视化库与完整 UX。构建验证:npm run build、test -f dist/index.js、test -f dist/styles.css、grep -c "process.env" dist/index.js(须为 0)、grep -o "renderMyView" dist/index.js。部署:mkdir -p ~/.redis-insight/plugins/<plugin-name>、复制 package.json 与 dist,重启 Redis Insight 后用 curl -s http://localhost:5540/api/plugins 验证。

限制与安全:插件在 Insight UI 进程执行代码,只应发布可信代码;不得嵌入密钥、令牌或凭证;不得隐藏网络调用;默认只读命令(HGETALL、LRANGE、XRANGE、INFO、FT.SEARCH),未经明确请求与确认不得运行破坏性命令(FLUSHDB、DEL、UNLINK、XTRIM、CLUSTER RESET、CONFIG SET)。须避免跳过阶段 1/2、将产物放在插件根目录、默认开启 default、部署清单含 scripts 或 devDependencies、外部插件使用 Vite 或外部化 React、使用内联品牌色、假设单一 Redis 响应结构。具体命令返回结构差异见 redis-command-parsing.md 等参考文件。