https://github.com/opskat/opskat
OpsKat — Infrastructure Ops, Reimagined with AI
https://github.com/opskat/opskat
agent ops ssh-client
Last synced: 9 days ago
JSON representation
OpsKat — Infrastructure Ops, Reimagined with AI
- Host: GitHub
- URL: https://github.com/opskat/opskat
- Owner: opskat
- License: gpl-3.0
- Created: 2026-03-23T09:30:36.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2026-05-07T19:35:27.000Z (19 days ago)
- Last Synced: 2026-05-07T21:30:44.156Z (19 days ago)
- Topics: agent, ops, ssh-client
- Language: TypeScript
- Homepage: https://opskat.dev
- Size: 7.74 MB
- Stars: 274
- Watchers: 1
- Forks: 24
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Agents: AGENTS.md
Awesome Lists containing this project
README

OpsKat
An open-source, AI-first desktop application for managing remote infrastructure. Describe what you need — the AI agent handles the rest, with policy enforcement and full audit logging.
## About
Managing servers often means juggling multiple tools — SSH clients, database GUIs, Redis managers, and Kafka consoles — constantly switching between them. OpsKat brings everything together in one place. With its AI agent, you can describe what you need in natural language, and it handles the rest. Even without the AI features, all common asset operations are unified in a single interface.
Currently supports SSH servers, MySQL/PostgreSQL databases, Redis, MongoDB, and Kafka, with more asset types planned via a plugin system.
**If you find it useful, please give us a Star ⭐ — it means a lot!**
## Intro Video
https://github.com/user-attachments/assets/2af6e52e-637c-4398-9c8b-8b39b4238b12
## Demo
https://github.com/user-attachments/assets/035fc0df-230c-456b-87bd-8a4a125feaec
## ✨ Use Cases
- **"Show me the recent nginx error logs on web-01"** → AI automatically SSHs in, runs the command, and returns the results
- **"Count users by status in the db-prod users table"** → AI connects to the database via SSH tunnel and executes the SQL query
- **"List lagging Kafka consumer groups in kafka-prod"** → AI checks Kafka metadata and group lag under policy control
- **"Check the health of the k3s cluster"** → AI runs kubectl commands and summarizes node and pod status
## 🛡️ Security & Audit
Giving AI permission to operate on your servers — how do you keep it safe?
- **Operation policies** — SSH commands, SQL statements, Redis operations, MongoDB operations, and Kafka actions all support allow/deny lists. SQL is analyzed by a parser that automatically blocks dangerous operations like DELETE/UPDATE without WHERE clauses
- **Policy groups** — Built-in templates (Linux read-only, dangerous command deny, etc.) plus custom user-defined groups
- **Pre-approved permissions** — AI or opsctl can request a batch of command patterns upfront. Once approved, matching commands execute automatically without per-command confirmation
- **Audit logs** — Every operation is automatically recorded: who, when, which server, what command, and the full decision trail
## 🖥️ Also a Full-Featured Terminal & Asset Manager
Beyond the AI, OpsKat is a complete terminal and asset management tool:
- Tree-structured grouping for SSH servers, databases, Redis, MongoDB, and Kafka
- Split pane terminal with customizable themes
- SFTP file browser
- Jump host chain connections
- SQL query editor (MySQL/PostgreSQL via SSH tunnel)
- Redis command execution with key browser
- MongoDB collection browsing and query execution
- Kafka cluster, topic, message, consumer group, ACL, Schema Registry, and Kafka Connect management
- Port forwarding and SOCKS proxy
- Encrypted credential storage
- Import from SSH config / Tabby
## ⌨️ opsctl CLI + AI Coding Tool Integration
OpsKat ships a standalone CLI tool (`opsctl`), primarily designed for AI coding assistants like **Claude Code**, **Codex**, and **Gemini CLI**. One-click skill installation from the desktop app teaches these AI assistants to use `opsctl` — so they can directly manage servers, check logs, query databases, and troubleshoot production issues.
When the desktop app is running, opsctl reuses its connection pool and approval workflow, with all operations subject to the same policy enforcement and audit logging.
You can also use it manually:
```bash
opsctl exec web-01 -- tail -n 100 /var/log/nginx/error.log
opsctl sql db-prod "SELECT status, COUNT(*) FROM users GROUP BY status"
opsctl ssh web-01
```
## 🛠️ Tech Stack
| | |
|---------|------------|
| Desktop | [Wails v2](https://wails.io/) (Go + Web) |
| Frontend | React 19 + TypeScript + Tailwind CSS |
| Backend | Go 1.25, SQLite |
## 🚀 Getting Started
**Prerequisites:** [Go 1.25+](https://go.dev/), [Node.js 22+](https://nodejs.org/) with [pnpm](https://pnpm.io/), [Wails v2 CLI](https://wails.io/docs/gettingstarted/installation)
```bash
make install # Install frontend dependencies
make dev # Development mode (hot reload)
make build # Production build
make build-embed # Production build with embedded opsctl
make build-cli # Build opsctl CLI only
```
---
## 🤝 Contributing
We welcome all forms of contribution! Check out the issues or submit a pull request.
---
## 📄 License
This project is open-sourced under the [GPLv3](./LICENSE) license.
## 🔗 Links
- [LINUX DO](https://linux.do/)