Navop:用 Rust + GPUI 把数据库、SSH、远程桌面和 AI 揉进一个原生工作台

项目地址:github.com/feigeCode/navop · Apache-2.0 + 补充协议 · 894 Stars · 写于 2026 年 9 月
开源项目数据库工具SSH 终端远程桌面RustMCP

一句话结论:Navop 用 Rust + GPUI 把数据库、SSH/SFTP、终端、远程桌面、监控和 AI 塞进同一个原生桌面工作台,界面走 GPU 加速渲染;更特别的是它通过 Public MCP 把这些能力开放给 Codex、Claude Code 等外部 Agent,却把权限、审批和审计留在自己手里。需要注意的是:它在 Apache-2.0 之外还叠了一份补充协议,允许企业内部与商业项目使用,但禁止转售、付费平台托管和做竞争性产品

小黑坐在一张工作台前,一个窗口里同时伸出数据库、终端和远程桌面三根线
一个窗口管住数据库、终端和远程桌面——Navop 想收拢的就是运维台上那些散落的窗口

一、它不是 Electron 壳:Rust + GPUI 的原生工作台

README 给自己的定位是一句话:「数据库、SSH、SFTP、终端、远程桌面、监控与 AI 一体化的原生桌面工作台。」下面还有一行小字——基于 GPUI 与 Rust 构建,GPU 加速渲染。这里的 GPUI 是 Zed 编辑器那个 GPUI 框架,不是 Electron 套壳,所以它在启动速度、内存占用和滚动流畅度上的底子和常见的跨平台运维工具不是一类。

项目 2026 年 7 月 10 日创建,到现在 894 Stars、105 Forks,主语言 Rust,代码用的已经是 Rust 2024 edition。作者在社区一节里留了旧仓库 feigeCode/onetcli(OnetCli),说明这不是一时兴起的新项目,而是老工具的一次彻底重写。README 也直说了:Navop 由个人长期维护

二、数据库:内置 7 种,扩展再补 7 种国产库

先看覆盖面。内置支持 MySQL、PostgreSQL、SQLite、DuckDB、SQL Server、Oracle 和 ClickHouse;需要国产库时,再通过扩展装达梦 DM、金仓 KingbaseES、GBase 8s、OceanBase、openGauss、Apache IoTDB 和神通 Oscar 的驱动。这个”内置 + 扩展驱动”的切法很务实:主流库开箱即用,国产库作为驱动插件从 navop-extensions 仓库独立构建发布,不至于把主程序撑肥。

类型 数据库 获取方式
关系型(内置) MySQL / PostgreSQL / SQLite / DuckDB / SQL Server / Oracle / ClickHouse 开箱即用
国产与时序(扩展) 达梦 DM / 金仓 KingbaseES / GBase 8s / OceanBase / openGauss / Apache IoTDB / 神通 Oscar 扩展市场装驱动
NoSQL(专用界面) Redis / MongoDB 内置专用界面

功能层面不止”能连上”:浏览数据库对象、编辑执行 SQL 并查看执行计划、导入导出数据、比较 Schema 与 Data,以及用 ER 图看关系(README 致谢里说明 ER 图渲染基于 ferrum-flow)。此外还有持久化 SQL 执行历史、存储过程与函数编辑,以及代理与 SSH 隧道路由——最后这条对库只开在内网的场景很关键。

小黑面对一排数据库罐子,其中几个贴着扩展标签
主流库开箱即用,国产库从扩展市场补驱动——这个切法很务实

三、终端与文件:分屏、广播输入、ZMODEM 和端口转发

终端这块写得比多数同类工具细。SSH 与本地终端支持可拖拽分屏、快捷命令、广播输入(一次输入发到多个会话)、Shell integration、会话锁定,以及录制回放与会话日志;连不上的老设备也照顾到了,Telnet 与串口连接同样支持。

文件管理走 SFTP,动作很全:上传下载、搜索、收藏、远程编辑、拖拽传输、ZMODEM 传输和服务器到服务器的跨机复制。网络侧则是可复用的本地、远程(ssh -R)与动态 SOCKS 端口转发,外加 X11 转发。

有一处细节说明作者真干过运维:主机密钥变更时给出指纹并要求显式确认,而不是默默接受;同时允许按连接启用旧版 SSH 算法——老交换机、老堡垒机那种”算法协商不上”的现场,靠的就是这一档开关。另外还能导入 SecureCRT 的会话,并做服务器监控。

小黑面对一块被劈成好几格的终端屏,声音同时传进每一格,旁边接出几根端口转发管道
分屏 + 广播输入 + 端口转发,几件运维天天用的事放在了一起

四、远程桌面:Windows 上直接内嵌 MSTSC,跨平台用纯 Rust 后端

远程桌面支持 RDP 与 VNC,但 Windows 上做了件不常见的事:通过 C++ 宿主把微软 RDP ActiveX 控件直接内嵌进应用,于是你可以在一个页签里连远程桌面,也可以全屏,或者一键拉起原生 mstsc.exe。好处是和 Windows 自带的 RDP 行为完全一致,不用重新适应一套实现。

macOS 和 Linux 上则由纯 Rust 的 IronRDP canvas 后端渲染 RDP 会话——不依赖系统组件,跨平台体验一致。

五、AI 不是贴上去的:从 SQL 生成到 Agent Hub 的并排 Diff

AI 部分覆盖的场景是贴着运维工作流走的:生成和解释 SQL、数据分析、生成图表、终端操作辅助、工具调用,以及跑 Agent 工作流;外部 Agent 则通过 ACP 接入 Codex、Claude Code 和 OpenCode

真正体现设计取向的是 Agent Hub:它把终端 Agent、项目文件、Git 分支、变更列表和并排 Diff 放在同一个工作区里。也就是说,AI 改了什么、改在哪个分支、diff 长什么样,你不用在终端、编辑器、Git 工具之间来回切——这是”AI 嵌进工作台”和”工作台外挂一个聊天框”的根本差别。

其余还有扩展市场(数据库驱动、远程桌面 provider、文档渲染器、连接导入器、外部编辑器),以及本地 Markdown 笔记:支持 Mermaid 图与数学公式,可导出 HTML、PDF 或 DOCX。界面层也给足了:亮色、深色、跟随系统,可导入主题,还能调强调色和窗口透明度;中英繁三语;不同设备间加密同步连接、凭据与设置。

六、Public MCP:把工具交给外部 Agent,权限仍握在自己手里

这是 Navop 最值得单独说的一节。它可以在设置 > 通用 > MCP > MCP Server 里开启服务,把选定的宿主工具开放给外部的 Codex、Claude、各类 MCP 客户端和自动化程序。开启时要选一个权限档位——安全 / 确认 / 自动——并在 Tool Exposure 里只勾选需要的工具组。

安全上的做法相当克制:runtime 只监听动态的 loopback 端口,客户端要用用户专属的 discovery token 才能连上;更重要的是这句——实时工具、Schema、权限、审批和审计始终由正在运行的 Navop 控制。换句话说,Agent 拿到的是一根牵在 Navop 手里的线,不是一把万能钥匙。给 AI 开数据库和终端权限这件事,这个设计是对的。

终端型 Agent 需要装 CLI 和自带的 Skill:

npm install -g @navop/cli@latest

# 为 Codex 安装 Skill;Agents 兼容客户端可改用 --target agents
navop skill install --target codex --scope user

# 只想给原生 MCP 客户端做 stdio bridge:
npx -y @navop/mcp@latest

注意 CLI / MCP 是单独的 feigeCode/navop-mcp 仓库,主程序本体不受影响。

小黑把几根工具线递给门外的 Agent,但线的另一头仍攥在自己手里
工具可以借给 Agent 用,但审批和审计这头仍攥在 Navop 手里

七、安装与构建:包很全,几个坑 README 里写明了

从 Releases 下载即可,每个版本都带 sha256sums.txt 供校验。覆盖范围:macOS(DMG 与 tar.gz,Apple Silicon / Intel)、Windows(MSI 与 EXE 安装版,另有普通与便携 ZIP)、Linux(tar.gz、deb、rpm、AppImage),命名遵循 navop-<version>-<平台>-<架构>.<扩展名>

Linux 用户还能从社区 Flatpak 源 FlatPark 装:flatpak --user install flatpark dev.navop.Navop(需先 remote-add)。macOS 若提示”Apple 无法检查其是否包含恶意软件”,执行 sudo xattr -rd com.apple.quarantine /Applications/Navop.app

两个 README 特意点到、文档里才展开的细节:v0.10.1 及更早版本的 ZIP 需要走升级迁移,别直接覆盖;Oracle 连接涉及 Instant Client 与纯 Go 驱动的选择。想从源码跑,需要 Rust 2024 edition 与平台依赖:

# Linux 先装依赖
./script/bootstrap
cargo run -p main

# Windows 在 PowerShell 中装依赖
.\script\install-window.ps1

# 常用检查
cargo build
cargo test --all
cargo clippy --workspace --all-targets
cargo fmt --check

八、写在最后:Apache-2.0 之外那一份补充协议,务必读一遍

这一节我不敢只凭 README 的摘要下结论,专门去读了 NAVOP_LICENSE 原文。准确的说法是:补充协议明确允许你在个人或企业内部安装使用,也允许用于商业目的,包括在商业项目中把它当工具用;同时允许经 GitHub Releases、Flatpak 仓库、免费应用商店这类免费分发渠道免费分发给第三方。

被禁止的是另一类行为,条款写得很具体:不得出售、转售、租赁,或以任何直接或间接收取费用(订阅费、许可费、捆绑搭售)的方式分发副本;不得把它作为独立商业产品或任何商业产品、套件、平台的组成部分再分发;不得托管在向用户收费或要求付费订阅的下载站、应用商店或分发平台;不得基于其全部或部分代码创建竞争性产品或服务。此外还有:不得用于军事或非法目的;不得反编译、反汇编或逆向工程(法律明确允许的除外);违约则许可自动终止。争议管辖是北京市海淀区人民法院。

说句客观评价:对习惯了标准 Apache-2.0 / OSI 许可的人来说,这份”Apache-2.0 + 补充条款”并不等价——GitHub API 也因此把它的许可证识别为 NOASSERTION普通用户自用、企业内部用完全没问题;想二次分发或做商业化产品,就得先按上面的条款对一遍。

小黑指着两条路:一条写着免费分发的通道放行,另一条写着转售的通道被红叉挡住
自用与内部商用都放行,转售、付费平台托管与竞争性产品被明确划掉

抛开许可,工具本身是扎实的:Rust + GPUI 的原生底子、覆盖到国产库的数据库支持、细节到位的终端与端口转发、内嵌 MSTSC 的远程桌面,以及那套”开放给 Agent 但握紧审批权”的 MCP 设计。它由个人长期维护,Star、聚焦的小型 PR、Bug 报告和捐赠都能帮它走下去,社区入口在 QQ 群 860670605 和微信群。

如果你每天要在数据库客户端、SSH 工具、SFTP、远程桌面和监控之间切来切去,它值得一试——装上先连一个库、开一个终端,再决定要不要把 MCP 那扇门打开。

项目地址:github.com/feigeCode/navop · 文档:docs.navop.dev · 安装包:Releases · 协议:Apache-2.0 + Navop 补充协议

未经允许不得转载:AI TOOL PUSH » Navop:用 Rust + GPUI 把数据库、SSH、远程桌面和 AI 揉进一个原生工作台

评论 抢沙发

登录

找回密码

注册