Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

ryantsai/KKTerm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

1,873 Commits

Repository files navigation

KKTerm

KKTerm

One native desktop window for terminals, SSH, SFTP, RDP/VNC, and a dashboard — plus an AI that builds your own little tools on request.

Because your taskbar shouldn't look like a Vegas slot machine.

Named after 乖乖 (Kuāi Kuāi), the green coconut snack Taiwanese sysadmins place on servers to keep them well-behaved. We hope this app earns its place on the rack.

Download the latest release

GitHub stars GitHub forks GitHub downloads Open issues MIT License
Cross-platform desktop Local-first
English · 繁體中文 · 简体中文 · 日本語 · 한국어 · Français · Deutsch · Español · Español (MX) · Italiano · Português (BR) · ไทย · Bahasa Indonesia · Tiếng Việt


The 45-Second Pitch

You're a sysadmin / DevOps / homelab tinkerer / vibe-coder. Right now you've got:

  • A terminal emulator
  • A separate SSH client (with a profile list it took you a weekend to build)
  • An SFTP client from 2007 that somehow still ships
  • Remote Desktop in a window you keep losing on the wrong monitor
  • A VNC viewer for that one Linux box
  • A browser tab for the router's admin page
  • A claude / codex session on a remote box that dies every time your Wi-Fi sneezes
  • A sticky note with passwords (don't worry, we won't tell)

KKTerm is one window for all of that. Native on Windows, macOS, and Linux, with a local-first design that refuses to phone home.

Plus a few things you didn't know you wanted:

  • A Dashboard where you tell an AI "build me a widget that pings my router every 30 seconds" and it appears, in its own sandbox, on your grid.
  • SSH panes that reattach to your remote claude / codex session after every Wi-Fi tantrum, so a six-hour job survives a dropped connection.
  • An AI usage meter so you stop hitting the rate-limit wall at 3 AM by surprise.
  • An Install Helper that finds, installs, updates, and launches the Windows dev tools you usually chase through ten browser tabs.
  • Twenty-six animated backgrounds for the dashboard (yes, including matrix), because we are not above it.

And the best part: the AI assistant can turn a single sentence into a tiny dashboard tool you actually keep using.

If this sounds like the app you've been meaning to build for the last six years — star the repo so we know someone's watching. It genuinely helps.

Have an opinion on what should come next? Join the public feedback thread: What should KKTerm prioritize for cross-platform admin workflows?


Why "KKTerm"?

Walk into any Taiwanese data center and look at the top of the racks. Past TSMC fabs, Taipei Metro control rooms, Cathay Bank server halls, Chunghwa Telecom switching gear — you will spot a small green bag of 乖乖 (Kuāi Kuāi), a coconut-flavored corn snack from the 1960s.

The name literally means "be good", "behave". The IT tradition is straightforward and absolutely serious:

  • Must be green flavor (coconut). Yellow (curry) means stay home from work; red (spicy) makes the server angry. Green only.
  • Must be unexpired. A stale Kuai Kuai works against you. Engineers diligently swap them out.
  • Must be visible. The server has to know it's there.
  • Do not eat it. That bag is on duty.

Some of the largest, most boring, most uptime-obsessed systems in Asia run with a bag of corn puffs taped to the chassis. It works because the people who maintain them believe it works, which is a remarkably honest description of most IT culture.

KKTerm is Kuai Kuai Term — an admin workspace that aspires to the same job as the snack: to sit quietly next to your important machines and help them behave. Local-first. No telemetry. Approval-gated AI. The boring, dependable kind of software.

We have not yet been able to ship an actual bag of Kuai Kuai with the installer. That's a v2 item.


See It Move

KKTerm demo

(Demo GIF goes here. A picture is worth a thousand bullet points, and we ran out of bullet points.)


One Window, Every Connection

You wanted to... KKTerm does it
Open a local PowerShell / cmd / WSL shell Local terminals, side by side
SSH into a server SSH with keys, agent, passwords, jump hosts, and port forwarding
Browse files on that server SFTP from the SSH connection — dual-pane, drag to transfer
FTP to a NAS from 2012 FTP / FTPS in the same file browser
Telnet to ancient gear Yes, Telnet's in there too
Talk to a serial port Serial connections — pick a COM port and baud
Remote into a Windows box The real Microsoft Remote Desktop, built right in
VNC into a Pi VNC, rendered straight into the workspace
Open the router's web UI An embedded browser tab with saved logins
Watch CPU on the host A live status bar and a dashboard you can build on

Same app. Same window. Same hotkeys. Same hopefully-not-eye-bleeding theme.


Why People Keep It Open All Day

Tiny download, instant launch

KKTerm is built to feel like a utility, not a platform. Current desktop builds land around 10-13 MB-ish, install quickly, and launch fast enough that opening your admin workspace does not feel like starting a second operating system.

The small footprint matters on jump boxes, old laptops, and VMs where every extra background service is one more thing to distrust. KKTerm opens, restores your workspace, and gets out of the way.

Multi-pane grids, mixed however you work

A Tab can hold a grid of Panes, and those Panes do not have to be the same kind. Put SSH next to SFTP, a local PowerShell below an RDP Session, VNC beside the router's web UI, or a file browser next to the terminal that is moving the files.

It is one workspace for the messy real shape of admin work: mix Connection types, resize the grid, keep the live Sessions alive, and stop alt-tabbing through a pile of windows.

An AI assistant that builds your tools

Most "AI in your terminal" demos stop at chat. KKTerm's assistant can also build small, durable dashboard widgets for the way you actually work — and it keeps the dangerous stuff behind a switch:

  • Pick what it can touch — toggle whole tool families (Dashboard / Connections / Live Sessions) on or off.
  • Pick how it asksPrompt (default, asks every time) or Allow All (you're an adult, you signed the waiver).

Anything that looks like rm -rf gets flagged as dangerous and waits for an explicit human yes. The AI can't quietly run a destructive command because somebody got clever with a prompt injection in a man page.

It talks to OpenAI, OpenRouter, DeepSeek, Gemini, Grok, Azure OpenAI, LiteLLM, GitHub Copilot, Ollama, NVIDIA, OpenCode, or anything OpenAI-compatible — and reaches Anthropic's Claude through the local Claude CLI. Your API keys go to the OS keychain.

A Dashboard that doesn't pretend to be Grafana

The Dashboard is a drag-and-resize grid of widgets. It's not for petabyte observability — it's for "I want a button to launch my five favorite apps and a panel showing my SSH host's uptime, next to my chat."

AI-Created Widgets — describe it, get it

This is the part we're genuinely excited about. You don't pick from a marketplace and you don't write JavaScript. You tell the AI assistant what you want, and it builds the widget right there on your dashboard:

"Add a widget showing the last 5 commits on my main repo as a list." "Make me a sticky-note widget that holds my on-call cheat sheet." "Build a widget that pings my home router every 30 seconds and shows green/red." "I need a stopwatch. Surprise me on the styling."

Some are simple display panels (markdown, checklists, a single big stat); others run live code in an isolated sandbox you approve. Every widget you keep is yours — it persists with its own color, icon, and title, and you can have several copies at different sizes. Delete one with a right-click when the magic wears off.

Animated dashboard backgrounds (because we wanted to)

Pick a mood per dashboard view from twenty-six canvas-animated backgrounds:

Mood Backgrounds
Calm fuji, aurora, clouds, ocean, raindrops, rainywindow, frostedWindow, snow, sakura, fireflies, bubbles, aquarium, ricefield, lanterns
Spacey starfield, nebula
Warm embers, lava
Geeky matrix, topo, synthwave
Erratic cyberpunk, taipei101, thunderstorm, confetti, particleCursor

They pause when you're elsewhere, so they cost roughly nothing. Pair matrix with your AI assistant for a vibe that says "I am extremely productive and also possibly in a Wachowski film." Or pick ocean and look like a serious person. We do not judge either choice.

Keep your remote AI agents alive

This is the second feature people fall in love with. KKTerm's SSH terminals can drop you straight into a named tmux session on the remote host that survives reconnect:

  • Open an SSH connection with tmux enabled and start claude, codex, gemini-cli, cursor-agent, or whatever long-running agent you like.
  • Close the laptop. Open it again. The pane silently re-attaches — the agent is still running, still has its scrollback, still in the middle of whatever it was doing.
  • Network blip? KKTerm quietly reconnects to the same session without bothering you.
  • Want the assistant to help? "Add terminal buffer to context" pulls the whole remote session into the conversation, so your local AI can reason about what your remote agent is doing.

If you've ever lost a six-hour claude or codex session to flaky hotel Wi-Fi, this one feature pays for the app. (The app is free. The feature is still worth it.)

Know how much AI you have left

Coding agents charge by plan window, not by month, and they'll happily eat your quota while you're in a meeting. The AI usage meter keeps it visible:

  • A Dashboard widget showing Claude Code and Codex side by side: connected account, plan, how much you've used in the current window and this week, and the next reset time.
  • A compact status-bar indicator mirroring the same numbers, so even with the Dashboard closed you can tell at a glance whether you've got headroom before the next big refactor.
  • It tells you up front if you need to re-login — before a long task, not in the middle of one.

Let other AIs drive KKTerm

KKTerm ships its own built-in MCP server, so external coding agents (Claude Code, Codex, Copilot, Antigravity, OpenCode) can use your workspace the way you do — list connections, open one, read a terminal buffer, place widgets on the dashboard. AI-to-AI, on your machine, no cloud relay. The mutating, riskier actions stay behind a single safety toggle that's off by default.

Settings → AI Assistant → Built-in MCP Server has a one-click "Show config" dialog with everything pre-filled, plus copyable claude mcp add / codex mcp add commands.


What KKTerm Is Not

A short list, because honesty earns trust:

  • Not a cloud product. No sync, no team accounts, no SaaS tier. If you ever see a "Sign in to KKTerm" dialog, something has gone catastrophically wrong.
  • Not pretending every OS is identical. KKTerm ships Windows, macOS, and Linux builds, but platform-specific features stay honest: Windows has the native RDP ActiveX path and Install Helper catalog, while macOS and Linux use the portable paths available on those systems.
  • Not an autonomous AI agent. The assistant proposes; the human disposes. Allow All is a choice you make, not a default.
  • Not a Grafana / Datadog replacement. The Dashboard is for personal control surfaces, not 10k-host observability.
  • Not a Kubernetes IDE. It is a terminal-first admin workspace. Please don't ask it to render a Helm chart.

If any of those was a dealbreaker — fair enough, we'll see you in v2.


Get KKTerm

Download the latest release for your platform and run it. Windows installers are currently unsigned — release signing is on the roadmap, so until then your antivirus may give you a stern look. That's normal.

Want to build from source or contribute? Everything you need is in CONTRIBUTING.md.


Roadmap (the short version)

  • Cross-platform release polish
  • Signed installer + auto-update
  • More file-transfer power (resume, folder sync, archive/extract)
  • Richer remote-desktop clipboard and device sharing
  • More built-in dashboard widgets

Full and frequently-updated version: docs/ROADMAP.md.


Contributing

We would love a hand. Genuinely. Even small things matter:

  • Try the dev build and file an issue when something feels off. "It felt off" is a legitimate bug report; we'll dig with you.
  • Translate a locale. English is the source of truth; thirteen other languages live next to it.
  • Add a Dashboard widget. Pick a small idea, ship it, learn the pattern.
  • Improve the manual. If you used a feature and the docs didn't help, a PR fixing that is gold.

Full setup, project layout, and the PR checklist live in CONTRIBUTING.md. Looking for an entry point? Filter open issues by good first issue or help wanted.


Project Docs


Star History

Star History Chart

If you got this far and you haven't starred it yet — what are you waiting for, a personal invitation? Consider this the personal invitation.

Star KKTerm on GitHub — it costs one click and makes the maintainer's whole week. Think of it as a digital 乖乖 on the rack.


License

MIT. See LICENSE. Use it, fork it, ship it, put it in a homelab nobody else can find — that's the deal.

AltStyle によって変換されたページ (->オリジナル) /