Stop Alt-Tabbing: Build an All-in-One Development Workstation with Navop in 30 Minutes

32 views 0 likes 0 comments 21 minutesOriginalTutorial

Say goodbye to jumping between terminals, databases, and remote servers. This hands-on guide walks you through installing Navop, connecting to your first database and SSH host, optimizing slow SQL queries with AI, and managing remote files via SFTP—all within a single, GPU-accelerated native desktop app.

#Developer Tools # Navop # SSH Client # Database Management # AI-Assisted Development # Remote Desktop # Rust Open Source
Stop Alt-Tabbing: Build an All-in-One Development Workstation with Navop in 30 Minutes

Does this happen to you daily: checking logs in one terminal, editing configs via SFTP in another, managing databases in DBeaver, and occasionally remote-desktopping into a test machine? Seven or eight windows open, Alt-Tabbing until your fingers cramp.

After 8 years as a Java backend developer, this has plagued me for at least 3 years. Until recently, I discovered an open-source project called Navop. Built with Rust + GPUI, it delivers a native desktop workspace that integrates database management, SSH/SFTP, terminal, remote desktop, system monitoring, and an AI assistant. The best part? It doesn't rely on WebView. It features GPU-accelerated rendering with a native-app-like fluidity.

Today, we won't dive into architecture or source code. We'll focus on one thing: installing Navop from scratch and completing a full workflow: "connect to a database + SSH into a server + use AI to assist with SQL". Follow along, and your workflow efficiency will noticeably improve.


Prerequisites

  • Operating System: macOS, Windows, or Linux. This guide uses Linux (Ubuntu) as an example, but steps are nearly identical across platforms.
  • Network: Stable internet access to download packages from GitHub Releases.
  • Basic Setup: You'll need access to a database (MySQL/PostgreSQL) and an SSH-reachable server. If you don't have one handy, a local MySQL instance + openssh-server works perfectly for practice.

Navop provides ready-to-use installers for every platform. Head to the GitHub Releases page and pick the artifact matching your OS:

Platform Recommended Package
macOS DMG or tar.gz (Apple Silicon / Intel)
Windows MSI Installer or Portable ZIP
Linux deb / rpm / AppImage / tar.gz

Using Ubuntu as an example, download the .deb package and install it:

bash 复制代码
## 1. Download the latest deb package (adjust version number if necessary)
wget https://github.com/feigeCode/navop/releases/latest/download/navop-0.12.0-linux-x86_64.deb

## 2. Install the package
sudo dpkg -i navop-0.12.0-linux-x86_64.deb

## 3. Auto-fix any missing dependencies
sudo apt install -f -y

Why prefer deb/rpm over tar.gz? Package managers automatically handle desktop shortcuts, file associations, and future updates.

For macOS users encountering Gatekeeper warnings, bypass it with a single command:

bash 复制代码
sudo xattr -rd com.apple.quarantine /Applications/Navop.app

Windows users can simplify the process with Scoop:

powershell 复制代码
scoop bucket add extras
scoop install navop

Once installed, launch Navop from your application menu. On first launch, you'll see a grid-based unified layout: a connection management tree on the left, and a main workspace on the right. Everything starts here.


Step 2: Connect Your First Database

Navop natively supports MySQL, PostgreSQL, SQLite, DuckDB, ClickHouse, SQL Server, Oracle, Redis, MongoDB, and over a dozen other data sources. Domestic databases like Dameng, Kingbase, and OceanBase are also supported via extensions.

Let's connect to MySQL:

  1. Click New Connection on the homepage (or hit the + icon at the top-right of the left sidebar).
  2. Select MySQL and fill in: Host, Port (default 3306), Username, Password, and Target Database.
  3. Click Test Connection. Once you see the green checkmark, hit Save & Connect.

After a successful connection, a tree structure of database objects appears on the left: Databases → Tables → Columns → Indexes. Right-click any table to Open Data, Design Table, or View ER Diagram.

Pro Tip: Navop's data grid supports cell-level batch editing, dedicated editors for dates/numbers, and right-click copying of table/column names. Extremely handy for SQL writing.


Step 3: Hands-on: AI-Assisted Slow Query Diagnosis & Optimization

Merely connecting to a database isn't enough. Let's tackle something practical.

Scenario: You've inherited a legacy project. The order table holds 5 million rows, and a specific query is painfully slow. We'll use Navop's AI capabilities to analyze and optimize it.

3.1 Open the SQL Editor

Under your database connection in the left tree, right-click any database → Open SQL Editor. You'll see a syntax-highlighted editor with execution plan support. Start by running this suspect query:

sql 复制代码
SELECT customer_id, COUNT(*) AS order_cnt
FROM `order`
WHERE status = 'PAID'
  AND create_time BETWEEN '2024-01-01' AND '2024-12-31'
GROUP BY customer_id
ORDER BY order_cnt DESC
LIMIT 10;

3.2 Invoke AI Assistant for Analysis

Navop's AI module supports SQL generation, SQL explanation, data analysis, and chart generation. Locate the AI Chat panel below or beside the editor (you'll need to configure your preferred AI provider API key on first use).

Send the query along with the table schema to the AI:

复制代码
Please analyze the performance issues of this SQL query and provide optimization suggestions:

Table Schema: CREATE TABLE `order` (
  id BIGINT PRIMARY KEY AUTO_INCREMENT,
  customer_id BIGINT NOT NULL,
  status VARCHAR(32),
  create_time DATETIME,
  amount DECIMAL(10,2),
  KEY idx_create_time (create_time)
);

Query: SELECT customer_id, COUNT(*) ... (same as above)

Navop's AI will help you analyze:

  • Current index coverage
  • Whether a composite index (status, create_time) is needed
  • Interpretation of the EXPLAIN execution plan

You can directly execute the AI's optimized SQL in the editor and compare response times. AI analysis + instant execution completes the entire feedback loop within a single window, eliminating the need to switch context.


Step 4: SSH Connection + SFTP Remote Editing

Database management is just one piece of the puzzle. Often, after analyzing SQL, you need to jump on the server to check logs or tweak configs.

4.1 Quickly Establish an SSH Session

  1. Left sidebar → New Connection → Select SSH.
  2. Fill in Host, Port (22), Username, and Authentication method (Password or Private Key).
  3. Save and connect.

Once connected, you get a full-featured terminal supporting split-screen drag-and-drop, command broadcasting, session locking, and screen recording/playback. Type commands in the bottom bar or use search to dig through historical session logs.

Why not use a standard Terminal? Navop's SSH terminal natively integrates with SFTP. Spot a config file path in your terminal? Double-click it, and Navop instantly pivots to that exact location in the SFTP panel.

4.2 Remote File Editing via SFTP

Open the SFTP connection for the same host. You can browse, search, download, and upload files just like a local file manager. For config files, right-click → Remote Edit to modify them directly in Navop's built-in editor. Press Ctrl+S to save, and it auto-uploads back to the server.

The editor leverages a WASM language parser for syntax highlighting. You can also configure an external editor or use ZMODEM for transfers.


Step 5: Extensions & Advanced Workflows

Navop's capabilities go far beyond the basics. Here's a quick rundown of highly useful features for backend developers:

  • Port Forwarding: Supports local, remote (ssh -R), and dynamic SOCKS forwarding. Map a remote database port to localhost, then connect directly via Navop. One config handles both SSH Tunnel + DB connection.
  • System Monitoring: Built-in native charts for real-time CPU, Memory, Disk, and Network metrics.
  • Remote Desktop (RDP/VNC): Windows uses MSTSC ActiveX embedded directly in tabs; cross-platform relies on pure Rust's IronRDP renderer.
  • AI Agent Hub: Aggregates terminal agents, project files, Git branches, and change diffs. Integrates with external AI agents like Codex or Claude Code via ACP.
  • MCP Server: Enable under Settings > General > MCP to expose Navop tools to Claude, MCP Clients, or automation scripts with granular permission control.

Troubleshooting & Pro Tips

  1. macOS Gatekeeper Block: App won't open after install? Run sudo xattr -rd com.apple.quarantine /Applications/Navop.app.
  2. Connecting to Oracle: Requires local Oracle Instant Client or the pure-Go driver plugin. See the Install & update guide.
  3. SSH Host Key Changed: After a server reinstallation, Navop will warn you with a new fingerprint. Verify and update it in the Known Hosts panel.
  4. AI Feature Setup: Requires entering your AI provider's API Key in Settings. Supports multiple external model endpoints.
  5. Upgrading from Older ZIP Versions: If migrating from v0.10.1 or earlier portable ZIP builds, follow the migration guide in the docs to ensure data persistence.

Summary

In under 30 minutes, we've built a complete workflow:

  1. Installed Navop — Picked the right package format for your OS.
  2. Connected a Database — Managed tables, ran SQL, inspected execution plans, and generated ER diagrams.
  3. AI-Assisted SQL Optimization — From problematic query → AI analysis → execution verification, all in one window.
  4. SSH + SFTP Sync — Checked logs in the terminal, edited configs via SFTP, and switched contexts seamlessly.

Navop's real value isn't just feature density; it's consolidating scattered workflows from 5-6 standalone tools into a single native desktop app, drastically reducing cognitive load from context switching.

To explore further, try:

  • Setting up port forwarding to SSH-tunnel a remote DB to localhost.
  • Configuring the MCP Server to let external AI agents interact with your dev environment.
  • Browsing the Extensions Marketplace for community drivers and tools.

Navop currently has 1.2k+ stars on GitHub and is actively maintained by an indie developer. Great open-source tools deserve a Star and community support. If you run into issues, open a GitHub Issue or join the author's QQ group (860670605) for discussions.

Next time, we'll explore deeper integrations—like using the Agent Hub for code reviews or building a lightweight ops dashboard with the monitoring panel. See you then!

Last Updated:2026-09-11 10:04:18

Comments (0)

Post Comment

Loading...
0/500
Loading comments...