← Back to home@dabaicai001

starhub

StarHub — All-in-One DevOps Desktop Command Center。把开发运维每天要用到的工具收进同一个窗口:数据库客户端 · SSH 终端 · SFTP · Docker · Android 真机 · AI 助手。

Stars
12
Language
Rust
Created
Jun 4, 2026
Updated
Oct 15, 2026

Introduction

StarHub

StarHub

All-in-One DevOps Desktop Command Center

数据库 · 终端 · 文件 · 容器 · 真机 · AI —— 收进同一个窗口

License: MIT Version Platform Downloads 官网

你的桌面上一半是"生产力工具":Navicat 连库、Xshell 开终端、WinSCP 传文件、Portainer 看容器、网页里挂着个 AI 对话框——每天在五六个窗口之间来回切,复制粘贴当"集成"。StarHub 把这些收进同一个窗口:左边是资产,中间是工作台,AI 在侧栏待命——@ 一下把服务器交给它,# 一下把日志贴给它;它每一次动手,都要先弹一张确认卡问你。

不是把五个图标摆进一个启动器,而是让它们共享同一套资产、同一条连接、同一份 AI 上下文。

官网:starthub.waouzzz.cc

为什么是 StarHub

痛点别人的做法StarHub 的做法
工具多Navicat + Xshell + Portainer + 资源管理器同时开一个窗口:数据库 / SSH / SFTP / Docker / Android / AI
连接碎终端连一次、SFTP 再连一次、Docker 又配一套SFTP 与终端共用同一条 SSH 连接;Docker 可经 SSH 通道连远程主机
上下文丢操作 A 时被 B 打断,错误信息靠人肉搬运同屏三栏、命令广播;@ 绑资产、# 绑上下文直接喂给 AI
AI 只会聊天问答归问答,执行归执行Function Calling 直连真实资产,自然语言 → 自动拆解 → 跨工具执行
操作不可追溯出了事翻聊天记录写操作必经确认卡(超时按拒绝),全程落审计日志;真机直播可回放

功能

数据库:MySQL、PostgreSQL、SQLite、Redis、ClickHouse、SQL Server、Elasticsearch。表结构浏览、SQL 编辑器(CodeMirror 6,补全/格式化/历史)、虚拟滚动结果网格(可编辑、按主键批量保存)、DDL 生成、监控 Dashboard、Excel 导入导出、备份恢复、审计与告警。Oracle / MongoDB / 国产库 ODBC 在规划中。

SSH 终端:xterm.js 6,跳板机、端口转发、分屏、命令广播、危险命令拦截、ZMODEM(rz/sz)、Xshell 快捷命令导入、MFA/2FA、cwd 跟踪、断线重连。命令面板(Ctrl/⌘+K)、输出查找、主机监控页签、终端设置浮层一应俱全。

SFTP:与终端共用同一条连接,三栏浏览、拖拽传输、断点续传、暂停/继续、全局传输任务条。

Docker:容器/镜像管理、交互式 Exec TTY、日志查看、Compose、支持经 SSH 通道连远程 Docker 主机。

AI 助手:OpenAI 兼容协议(可接 GPT / Claude / DeepSeek / Ollama 等),Function Calling 直接驱动 SSH / 数据库 / SFTP / Docker / 本地文件 / Android 真机等工具;@ 绑定资产、# 绑定上下文;三级记忆卡 + 会话全文存档;所有 AI 发起的写操作都要经过确认卡审批并落审计日志。

Android 实体机直连(adb):AI 直接操作用户真实的 Android 手机(开发者模式 → USB 调试 / 无线调试)——截屏看画面、点按/滑动/滚动、按键、输入文本、按包名启动 App、设备文件传输、无线配对,共 19 个 android_* 工具;直播画面在壳内直播面板里看(scrcpy-server 的 H.264 实时,不可用自动降级截图轮询),支持围观/接管;任务级授权(60 分钟)、任意 shell 恒确认 hard 档、每次写操作自动截屏留档可回放——真实设备,每一步都有据可查。

其他:Kafka/NSQ 元数据、深浅双主题、自动更新。

架构

三层进程模型:

  • 上游 Electron 桌面壳 — DeepSeek Harness 自家的 Electron 壳,零改动原样使用;品牌、签名、自动更新都是它的。StarHub 不做自己的桌面项目。
  • dsh Host + starhub-bridge 插件 — Host(Node)进程里的 bridge 插件 spawn 两个 sidecar,把 sidecar 的方法面暴露成模型工具与工作台命令面。
  • 两个 sidecar — Rust sidecar(sidecar-rust/)承载 SSH/SFTP、Android 真机与直播帧枢纽;Go Sidecar(sidecar/)承载 MySQL / PostgreSQL / SQLite / Redis / ClickHouse / SQL Server / Elasticsearch / Docker / Kafka 等适配器和连接池。均经 stdio 换行分帧 JSON-RPC 通信。
  • 前端 — DeepSeek Harness(dsh)主壳,StarHub 的工作台和插件住在 vendor/deepseek-harness 里:apps/starhub-window 是资产工作台构建入口,packages/starhub/* 是 10 个内置插件(导航、工具桥、直播、审批、领域事件等),经 dsh 的槽位系统接入,不改上游内核。

当前版本

v0.136.5 (2026-10-15)

  • 🐛 🐛 Redis「保存即删 key」P0 + 三处数据正确性 bug:① 根因——值编辑器保存时若 TTL 输入为 0,会下发 EXPIRE key 0,而 Redis 的 EXPIRE key 0 语义是「立即删除该 key」;校验此前只拦了负数(expiration < 0)漏了 0,于是一保存 key 就消失,且 string(走 SET 不带 EX)与结构类型(走 EXPIRE)行为不一致。现在 0 与空串一律归一为「持久化」,结构类型显式下发 PERSIST,绝不再出现 EXPIRE key 0;② zset 解析完全错位——sidecar 的 GetValue 对 zset 返回 [{value, score}] 对象数组(ZRangeWithScores 的结构化结果),前端却按 [[member, score]] 数组成员解析,导致成员列渲染成 JSON 串、分数列空白、保存时 ZADD 出一个垃圾成员(既有单测用 [['mem','5']] 假数据把 bug 掩盖了);rowsFromValue 现在同时兼容对象与数对两种形状;③ list 按值删错元素——删除走 LREM key 1 <originalValue>,按值删除,list 允许重复值,删索引 0 时若值重复会删到别的实例;改为哨兵值方案:先 LSET 把待删索引改写成唯一哨兵,再 LREM key 0 <哨兵> 一次清掉,删除精确落在标记的索引上,LSET 目标索引按已删行数重算的逻辑不变;④ SET k v EX 60 的 EX 60 被静默丢弃——Go 侧 Execute 的 SET 分支只取 parts[1..2],key 被写成永不过期,TTL 语义与用户意图相反;新增纯函数 parseSetOptions 支持 EX/PX/EXAT/PXAT/KEEPTTL/NX/XX(含参数缺失、零/负/非数字、冲突组合的完整错误路径),NX/XX/KEEPTTL 分别走 SetNX/SetXX/SetXX(KeepTTL);⑤ revertRows 空串原值还原不干净——旧版用 originalValue || value,''(falsy)会回退到编辑中的值。
  • 🔧 🎨 Redis / Elasticsearch 工作台交互重构:Redis 侧——键行补 TTL 徽标(SCAN 本就带回 ttl,旧版丢弃不用,用户无法分辨哪些 key 即将过期;-1 显示 ∞、超 1 小时折算小时)、补复制 key 名钮(hover 出现,剪贴板不可用时回退提示而非静默失败)、CLI 补命令历史(↑↓ 翻阅,去重连续重复,上限 100 条;SELECT 也入历史便于复查切库轨迹)、值编辑器保存后回调刷新(onSaved,修掉「保存成功但左侧树/头部计数还是旧值」的漂移)、集合将空的非阻塞警示(Redis 对空集合会自动移除 key,保存前在 footer 说明,避免静默数据丢失)、空态区分「暂无 key / 搜索无匹配 / 加载失败」、编辑器补 Mod-Enter 保存与快捷键提示、TTL 输入旁补人类可读的剩余时间描述。ES 侧——检索补每页条数选择(10/20/50/100,旧版 searchSize 硬编码 20,大结果集翻页成本高;条数变化后从第 0 页重查,否则 from 越界会跳过一整页)、DSL 按索引记忆(切索引时存回当前、载入目标的,修掉「在两个索引间来回切换时 DSL 被对方覆盖」)、聚合结果展示(响应带 aggregations 时在结果工具栏下展示 JSON,旧版完全丢弃)、概览补索引筛选框 + 总文档数、索引详情补递归映射树(旧版只渲染两层,object/nested 更深层级的字段看不到;按层级缩进全展开)与分片/文档数元信息和刷新入口、加载态(概览表格、索引详情在拉取中显示提示,不再是一片空白)、新建索引支持可选 mappings(传 JSON 即带映射创建,旧版只建空索引)、DSL 编辑器与 mappings 输入补 aria-label。

历史版本见 CHANGELOG.md。

下载

GitHub Releases 提供:

平台产物
WindowsNSIS .exe(未签名)

Linux / macOS 暫不发版(2026-10-09 决策 A:等上游)。桌面壳是上游 DeepSeek Harness 的 Electron 壳,它的 SUPPORTED_TARGETS 目前只有 mac-arm64 / mac-x64 / win-x64,没有 Linux target;原来的 deb/rpm 能力随 Tauri 壳一起退役。等上游出了 Linux target,加一个 CI job 即可,StarHub 不自己维护第二条打包路径。macOS 同理(缺签名/公证证书,证书就位后照抄 Windows job 改 target 名)。

开发

前置:Node 20 LTS、Rust 1.96+、Go 1.25+、pnpm 11+。Windows 需要 MSVC 构建环境。

git clone https://github.com/dabaicai001/starhub.git
cd starhub
npm install
pnpm --dir vendor/deepseek-harness install

npm run build:window && npm run sidecar:build && npm run sidecar-rust:build
npm run smoke:dsh-desktop   # provisioning + 宿主进程冒烟(五条断言)

常用命令:

命令作用
npm run build:window构建 React 工作台(输出 dist-starhub-react/)
npm run sidecar:build / :release构建 Go Sidecar
npm run sidecar-rust:build / :testRust sidecar 构建 / 测试(Windows 自动加载 MSVC)
npm run test:utils 等Node node --test 纯逻辑测试(见 package.json)
npm run test:provisionprovisioning 合并逻辑单测
npm run smoke:dsh-desktopprovisioning + 宿主进程冒烟
npm run package:dsh-runtime打包 dsh 运行时(输出 dsh-runtime/)
npm run provision:dsh把 StarHub 组合装进一个 dsh profile
npm run version版本号同步(四处)

上游 Electron 壳打包(发布链):

pnpm --dir vendor/deepseek-harness/apps/desktop run package:win:x64:unsigned

文档

安全

  • 密码、私钥、API Key 存 sidecar 的密钥存储(文件或内存;系统 Keyring 迁移见技术方案 §六)
  • AI 执行写操作(SSH 写、SQL 写、文件删除、传输等)一律弹确认卡,超时按拒绝处理
  • hostkey 自动接受不持久化,MFA 验证码不回写
  • 直播/接管的帧通道只绑 127.0.0.1,一次性令牌握手后即弃

关于(About)

StarHub — All-in-One DevOps Desktop Command Center。把开发运维每天要用到的工具收进同一个窗口:数据库客户端 · SSH 终端 · SFTP · Docker · Android 真机 · AI 助手。

三条产品原则:

  1. 一个窗口,而不是一个启动器。 工具切换是纯损耗。StarHub 让数据库、终端、SFTP、Docker、Android 真机共享同一套资产、同一条连接,AI 共享同一份上下文——不是把五个图标摆进一个格子。
  2. AI 是操作面,不是聊天框。 助手通过 Function Calling 直接驱动真实资产;每一次写操作(SSH 命令、SQL、文件删除、传输)都弹确认卡,超时按拒绝处理,全程落审计日志。
  3. 每一步都有据可查。 密码与私钥只进 sidecar 密钥存储,hostkey 自动接受不持久化,直播/接管的帧通道只绑 127.0.0.1——真实设备上的每个动作都自动截屏留档、可回放。
项值
当前版本v0.136.1
官网starthub.waouzzz.cc
仓库github.com/dabaicai001/starhub
问题反馈GitHub Issues
协议MIT · Copyright © 2026 StarHub Authors

致谢与依赖:

  • AI 主壳基于 DeepSeek Harness(插件化 agent harness,vendor/deepseek-harness 整树 vendored);
  • Android 直播的 H.264 通道使用 scrcpy server(Apache-2.0);
  • 终端 xterm.js,数据库/中间件适配由内置 Go sidecar 承载。

License

MIT · Copyright © 2026 StarHub Authors