以原版 Rocket.Chat 为内核、集成 Codex App Server、Deepseek…
数据截至 2026/10/29 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
dsh plugin --profile web add lusipad/RocketX状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
安装兼容性检查需源码安装缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/1 10:24:58
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
查看扫描证据(共 65 处,展示前 39 条)
- 写入剪贴板apps/web/src/lib/butlerTaskHandoff.ts:51
await navigator.clipboard.writeText(prompt); - 发起网络请求apps/web/src/lib/http.ts:82
: (((input: RequestInfo | URL, init?: RequestInit) => fetch(input, init)) as typeof fetch); - 写入剪贴板apps/web/src/lib/imageClipboard.ts:42
await navigator.clipboard.write([ - 发起网络请求apps/web/src/lib/stickerLoader.ts:168
fetchFn: FetchLike = (input) => fetch(input), - 发起网络请求apps/web/src/lib/stickerLoader.ts:214
fetchFn: FetchLike = (input) => fetch(input), - 发起网络请求apps/web/src/lib/workspaceConfigSource.ts:236
const response = await runtime.fetch(url); - 发起网络请求packages/app-sdk/src/types.ts:259
fetch(options: NetworkFetchOptions): Promise<NetworkFetchResponse>; - 读取本地文件packages/create-rcx-app/src/dev.ts:70
for (const entry of await readdir(directory, { withFileTypes: true })) { - 读取本地文件packages/create-rcx-app/src/dev.ts:75
const info = await stat(absolute); - 读取本地文件packages/create-rcx-app/src/dev.ts:126
const raw = await readFile(file); - 读取本地文件packages/create-rcx-app/src/project.ts:24
const manifest = parseManifestJson(await readFile(manifestPath, 'utf8')); - 读取本地文件packages/create-rcx-app/src/project.ts:30
if (!(await stat(entryPath)).isFile()) throw new Error(`App entry is not a file: ${manifest.entry}`); - 读取本地文件packages/create-rcx-app/src/project.ts:47
const existing = await readdir(root); - 写入本地文件packages/create-rcx-app/src/project.ts:51
await mkdir(root, { recursive: true }); - 读取本地文件packages/create-rcx-app/src/project.ts:57
await access(templateRoot); - 读取本地文件packages/create-rcx-app/src/project.ts:68
for (const entry of await readdir(templateRoot)) { - 读取本地文件packages/create-rcx-app/src/project.ts:76
const manifest = JSON.parse(await readFile(manifestPath, 'utf8')) as RcxAppManifest; - 写入本地文件packages/create-rcx-app/src/project.ts:80
await writeFile(manifestPath, `${JSON.stringify(manifest, null, 2)}\n`, 'utf8'); - 发起网络请求packages/rc-client/src/auth.ts:32
await context.request('POST', 'logout'); - 发起网络请求packages/rc-client/src/files.ts:484
await context.request('POST', `rooms.mediaConfirm/${rid}/${data.file._id}`, { - 发起网络请求packages/rc-client/src/messages.ts:53
await context.request('POST', 'commands.run', { command, roomId: rid, params, ...(tmid ? { tmid } : {}) }); - 发起网络请求packages/rc-client/src/messages.ts:80
return context.request('POST', 'chat.postMessage', params); - 发起网络请求packages/rc-client/src/messages.ts:84
return context.request('POST', 'chat.react', { messageId, emoji, shouldReact }); - 发起网络请求packages/rc-client/src/messages.ts:174
return context.request('POST', 'chat.followMessage', { mid }); - 发起网络请求packages/rc-client/src/messages.ts:178
return context.request('POST', 'chat.unfollowMessage', { mid }); - 发起网络请求packages/rc-client/src/messages.ts:182
return context.request('POST', 'chat.starMessage', { messageId }); - 发起网络请求packages/rc-client/src/preferences.ts:45
await context.request('POST', 'users.setPreferences', { userId, data }); - 发起网络请求packages/rc-client/src/rest.ts:263
request: (method, path, body, query) => this.request(method, path, body, query), - 发起网络请求packages/rc-client/src/rooms.ts:162
return context.request('POST', 'teams.addMembers', { teamId, members }); - 发起网络请求packages/rc-client/src/rooms.ts:171
return context.request('POST', 'teams.removeMember', { - 发起网络请求packages/rc-client/src/rooms.ts:185
return context.request('POST', 'teams.updateMember', { teamId, member: { userId, roles } }); - 发起网络请求packages/rc-client/src/rooms.ts:194
return context.request('POST', 'teams.addRooms', { teamId, rooms }); - 发起网络请求packages/rc-client/src/rooms.ts:203
return context.request('POST', 'teams.removeRoom', { teamId, roomId }); - 发起网络请求packages/rc-client/src/rooms.ts:216
return context.request('POST', 'teams.updateRoom', { roomId, isDefault }); - 发起网络请求packages/rc-client/src/search.ts:42
return context.request('GET', 'spotlight', undefined, { query }); - 发起网络请求packages/rc-client/src/users.ts:49
return context.request('POST', 'users.setStatus', { status, ...(message !== undefined ? { message } : {}) }); - 发起网络请求packages/rc-client/src/users.ts:137
return context.request('POST', 'users.delete', { userId }); - 发起网络请求packages/rc-client/src/users.ts:203
return context.request('POST', 'custom-user-status.delete', { customUserStatusId: id }); - 发起网络请求packages/rc-client/src/users.ts:213
await context.request('POST', 'users.resetAvatar', { userId: target });
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
界面预览
6 张 · 点击查看大图展开完整介绍(85 字)↓
以原版 Rocket.Chat 为内核、集成 Codex App Server、Deepseek Harness、Azure DevOps、体验对标飞书的团队协作客户端。
README
由 DeepSeek 最新模型翻译生成展开完整文档(README 剩余 1 节)
RocketX 基于原版 Rocket.Chat 的团队协作客户端,体验对齐飞书。 RocketX 不改 Rocket.Chat 服务端,只通过公开 API 通信。你可以直接在现有 Rocket.Chat 服务器上部署,官方客户端与 RocketX 数据互通、可同时登录。 ┌─────────────────────────────────────┐ │ RocketX 客户端 │ │ 消息 │ 管家 │ 待办 │ 日历 │ 工作台 │ 通讯录 │ └────────┬───────────────┬────────────┘ │ REST / WS │ Webhook ┌────────▼──────┐ ┌─────▼──────────────┐ │ Rocket.Chat │ │ ado-bridge │ │ (原版不改) │◄─┤ Azure DevOps │ └───────────────┘ │ Server 2022 事件 │ └────────────────────┘ 下载 从 GitHub Releases 下载最新版本: - Windows:slim 安装包(探测系统 Codex / DSH)或 full 安装包(内置固定版本运行时) - macOS:universal DMG(ad-hoc 签名,未经 Apple 公证) - Linux:AppImage / DEB / RPM - Web:直接用浏览器访问部署地址,无需安装 当前版本:v0.43.6 主要功能 - 飞书式团队消息:三栏布局、话题、表情回应、@ 提及、文件共享、讨论卡片、消息搜索。 - 完整斜杠命令:30 个命令全量中文说明、参数提示条与命令帮助(/help 或 Ctrl+/);参数化命令一律弹出图形界面(选人、选频道、确认框),不再要求手打 @用户名 语法。 - 原生团队功能:/poll 投票(点数字表情计票)、/kanban 频道看板(消息一键收纳成卡片)、/oncall 值班表——数据全部存服务端实时共享,官方 Rocket.Chat 客户端也能阅读和参与(例如用表情参与投票)。 - GTD 工作区:收件箱、待办、日历、通讯录,以及可直连 Azure DevOps Server 2022 的工作台。 - 本地 AI 管家:启动时从 OpenAI Codex、DeepSeek Harness(DSH)或“无 AI”中三选一。选择全局生效,保存后重启生效,不会同时跑两个后端。 - 房间共享 AI 托管:在房间或讨论里开启共享 AI,Web 和无 AI 客户端也能看到状态、用 @ai 提问。 - 局域网连续可用:认证点对点链路,Windows 上可选配 IPMSG / 内网通 Sidecar 插件。 快速上手 1. 启动 RocketX 桌面端或打开 Web 端。 2. 首次启动会介绍 GTD 流程:如何捕获事项、理清下一步、保护注意力。 3. 选择「加入团队」导入 rcx.workspace.json,或选择个人模式直接填写 Rocket.Chat 服务器地址。 4. 登录后即可使用消息、工作台、待办、日历;在设置 → AI 中选择想要的 AI 运行时,重启后生效。 团队配置文件示例见 docs/examples/rcx.workspace.sample.json。它只包含非敏感默认值,不会存放密码或 PAT。 截图 | 斜杠命令补全 | 命令帮助 | | 斜杠命令补全:30 个命令全量中文说明与参数提示 | 命令帮助(/help 或 Ctrl+/):可搜索、点击插入 | | 投票 | 消息看板 | | 投票:聊天内点数字表情计票,官方客户端用表情也能参与 | 频道消息看板:消息一键收纳成卡片,成员实时共享 | | 值班表 | 加入频道 | | 团队值班表:排班实时共享,可发布文本快照到频道 | 加入频道:无需命令语法,浏览或搜索公开频道 | 与官方 Rocket.Chat 客户端互通——投票在官方网页端显示为可读文本 + 表情回应,官方客户端投下的票实时计入 RocketX 的投票卡片: | 官方 Rocket.Chat 网页端 | RocketX 实时计票 | | 官方客户端投票 | 跨客户端计票 | 欢迎在 issue 中分享你使用 RocketX 的界面截图。 文档 - 功能规格:当前能力、平台限制和失败语义 - 能力矩阵:桌面端、Web、无 Runtime、性能模式下的可用性对照 - 团队配置说明:rcx.workspace.json 字段与安全规则 - 应用开发指南:如何开发 RocketX 应用 - 架构决策、兼容性说明、CHANGELOG.md 安全与兼容性 - 只使用 Rocket.Chat 公开 API(/api/v1/*、/websocket),不改服务端,不私建数据表。 - 已验证服务端版本:Rocket.Chat 8.6.x(docker 镜像已固定为 8.6.1)。 - 原生集成的密钥停留在本地密钥边界;DSH 0.2.1-rc.2 使用私有 DSH_HOME/.credentials.yaml,不会回显给 RocketX。 完整安全政策见 SECURITY.md。 参与开发 如果你想参与开发或本地调试,请阅读 CONTRIBUTING.md。开发环境需要 Node.js 22.19+、pnpm 11.12.0;桌面端开发还需要 Rust 和 Tauri 前置依赖。 许可 本项目使用 MIT License。 RocketX 是独立项目,与 Rocket.Chat Technologies Corp. 没有关联,也未获得其背书。
预览分享卡片长什么样 ↓
以原版 Rocket.Chat 为内核、集成 Codex App Server、Deepseek…
相关插件 · 对话 / 记忆
这是你的仓库?认领条目