Skip to main content

Replace five apps with
one desktop workspace.

SSH, SFTP, a remote code editor, a browser, and contextual AI,
connected in one window.

No release yet
One incident. One workspace.
DockLab · prod-api-01
$ ssh deploy@prod-api-01
✓ Host key verified · connected
$ cd /etc/nginx
$ tail -n 1 /var/log/nginx/error.log
[error] upstream connection refused
upstream: http://127.0.0.1:3001
SFTP · /
etcnginx / nginx.conf
var
home
opt
usr
tmp

Connected to prod-api-01

Interactive demo

One window replaces your

  • SSH client
  • SFTP client
  • Remote editor
  • Browser
  • AI chat

Five apps replaced.
One connected workflow.

Your SSH terminal, remote files, editor, browser, and AI share one workspace. Follow a problem from the log to the fix.

01 / 06 · Connect

Connect to the whole server.

Open an SSH terminal and its SFTP file tree together. Your connection, files, and logs stay in the same workspace.

DockLab · prod-api-01
$ ssh deploy@prod-api-01
✓ Host key verified · connected
$ cd /etc/nginx
$ tail -n 1 /var/log/nginx/error.log
[error] upstream connection refused
upstream: http://127.0.0.1:3001
SFTP · /
etcnginx / nginx.conf
var
home
opt
usr
tmp

Connected to prod-api-01

01 / 06 · Connect

Connect to the whole server.

Open an SSH terminal and its SFTP file tree together. Your connection, files, and logs stay in the same workspace.

$ ssh deploy@prod-api-01
✓ Host key verified · connected
$ cd /etc/nginx
$ tail -n 1 /var/log/nginx/error.log
[error] upstream connection refused
upstream: http://127.0.0.1:3001
02 / 06 · Edit

Fix the file where it lives.

Open /etc/nginx/nginx.conf straight from SFTP. Change the upstream port from 3001 to 3000 in the Monaco editor, then save back to the server.

$ ss -ltn
LISTEN  127.0.0.1:3000
✓ nginx.conf saved via SFTP
✓ upstream port: 3001 → 3000
03 / 06 · Context

Get an answer with context.

Attach the error, listening ports, and nginx.conf to your AI conversation. Your chosen provider can explain the mismatch and the next check.

✓ Attached: nginx.conf
✓ Attached: terminal output
04 / 06 · Browse

Verify the fix beside your code.

Check the configuration, reload nginx, and open the health endpoint in the integrated browser. Keep the result beside the commands that got you there.

$ sudo nginx -t
syntax is ok · test is successful
$ sudo systemctl reload nginx
$ curl -s localhost/health
{"status":"ok"}
05 / 06 · Collaborate

Bring a teammate into the fix.

Share the live terminal and discuss the result in the same window. Your teammate follows the output while the conversation stays next to it.

✓ Live session started
✓ Invite link copied
✓ Teammate joined
06 / 06 · Workflow

Pick up where you left off.

Save the workspace with its tabs and split layout. Reopen it on this device; enable optional encrypted sync to carry supported workspace data across devices.

✓ Workspace saved: nginx-incident
✓ Tabs and split layout saved
✓ Ready to reopen on this device
Live sessions

Resolve the incident
together.

Keep the shared terminal and the conversation in one window. Bring a teammate into the investigation without setting up screen sharing or pasting logs into Slack.

If your workflow spans PuTTY or Termius, tmux, and a separate chat, DockLab brings live output and session chat together.

  • Follow the same terminal output, live
  • Discuss the fix in chat alongside the session
  • Share through an invite link
DockLab · prod-api-01
✓ Live session started
✓ Invite link copied
✓ Teammate joined
Live session · chat

YouUpstream corrected to port 3000. Health check is green.

TeammateConfirmed. I can see the successful reload.

Reply to the session…
DockLab Agent Manager showing Claude Code, Codex, and Antigravity, with context, subagent, skill, hook, and MCP controls.
Agent Manager

Manage your coding agents
in one place.

Claude Code, Codex, and Antigravity, on local or remote hosts. Keep each agent’s context, subagents, skills, hooks, and MCP servers together in the workspace.

  • Inspect the context each agent works with
  • Manage subagents and reusable skills
  • Configure hooks and MCP connections
  • Use the same tools on local and remote hosts
Built around your connection

Keep control of your keys
and your context.

Local storage, direct server connections, and clear boundaries for the data you choose to share.

Your credentials stay encrypted.

Hosts, credentials, and AI keys are stored locally in an AES-256-GCM encrypted vault.

Optional sync encrypts data on your device before upload. It requires an account; the server stores an encrypted blob.

Connect directly to your servers.

Your SSH connection goes from your device to your server. Host keys are pinned on first use; a changed key blocks the connection until you explicitly trust it.

Shared live sessions use a separate encrypted relay. That relay is distinct from your direct SSH connection.

Know what leaves the workspace.

Your chosen AI provider receives your prompts and the context sent with them, such as attached files and terminal output. Its usage charges and data policies apply.

App updates are cryptographically signed. macOS notarization is a separate status, explained beside the installer.

Read the privacy policy for data handling details.

The tools around your terminal

Manage the server.
Stay in the workspace.

Run services, ship changes, and diagnose failures without leaving your SSH workspace.

Keep services running

Inspect containers, restart failed services, and read process logs beside your SSH session.

Docker Assistant · Systemd Services · PM2 Manager

Ship code and configuration

Review remote changes, test your Nginx configuration, and catch missing environment variables before a restart.

Git Manager · Nginx Manager · Env Manager

Find the cause faster

Check CPU and memory, see which ports are exposed, and find the error lines behind a failing service.

Resource Monitor · Network Monitor · Log Viewer
Before you connect

Get to know
your workspace.

The connection, your data, and the tools around it.

What does DockLab replace?

DockLab combines an SSH terminal, SFTP file management, a Monaco remote editor, an integrated browser, and contextual AI in one desktop workspace. Saved layouts, shared live sessions, and plugins keep the rest of the workflow close.

Do I need an account?

Yes. A DockLab account is required to use the app. Encrypted sync across devices is optional.

How are my keys and credentials stored?

Credentials and AI keys are stored in a local AES-256-GCM encrypted vault. Optional sync encrypts data on your device before uploading it. SSH host key pinning helps detect when a server’s identity changes.

What does my AI provider receive?

Your chosen provider receives the conversation and the context sent with it, including attached files or terminal output. Bring your own API key. Provider usage charges and data policies apply.

Can a teammate join my session?

Yes. Shared live sessions let a teammate follow terminal output and chat alongside it. These sessions use a separate relay; your SSH connection still goes directly from your device to your server.

Can I reopen a saved workspace on another device?

Saved workspaces let you return to your layout on the same device. Moving supported workspace data between devices requires optional encrypted sync and an account. A saved layout does not preserve a running remote process by itself.

Which platforms and installers are available?

macOS has Apple Silicon and Intel installers. Windows has an x64 installer. Linux has x64 AppImage, Debian, and RPM packages. Current macOS builds are not notarized; the download section explains the first-launch steps.

macOS · Windows · Linux

Your next fix.
One workspace.

Connect, edit, and verify in DockLab.
Your server workflow starts here.

No release yet

Installers for macOS, Windows and Linux will appear here as soon as the first DockLab release is published.