Skip to content
Kelpy
Kelpy

AI-powered system administration.One binary.No installation required.

Lightweight AI assistant for system administrators in one single executable file.
Run it on the server, work in a local Web UI, stop it: nothing keeps running.

x86-64
$ curl -fsSL https://kelpy.io/install.sh | sh

Linux x86-64 and Windows x86-64MIT or Apache-2.0

How it works

For each conversation, two choices under the message box: what Kelpy may do, and how it goes about it.

System access
None
Answers only, and gives you the commands.
Read-only
Looks at the system, changes nothing.
Full
Also changes files, services, packages and databases.
Approval mode
Ask
You approve each action.
Plan
You approve the plan once; its steps run.
Auto
Kelpy goes ahead with its own operations.

What Kelpy can do

Runs without asking

    Waits for Approve or Deny

      An action not decided in 30 minutes counts as denied. What Kelpy reads goes to the AI service with the conversation.

      Preview, approve, run, check

      With System access Full, files, services, packages and databases change through operations Kelpy understands, always in this order. Here, a file change.

      1. 1Preview

        Change /etc/nginx/sites-available/wordpress

        php8.5-fpm is installed; the site still points at the PHP 8.4 socket.

        @@ -14,7 +14,7 @@ server {
        location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        - fastcgi_pass unix:/run/php/php8.4-fpm.sock;
        + fastcgi_pass unix:/run/php/php8.5-fpm.sock;
        }
        Check
        nginx -t, before and after
        Undo
        previous version kept in data/backups/
      2. 2Approve

        ApproveDeny
        Switch to PlanSwitch to Auto

        With Ask, the card waits for Approve or Deny.

      3. 3Run

        • Written only if the file is still as shown
        • Previous version backed up
        • Written atomically, owner and permissions kept
        • Read back
      4. 4Check

        $ nginx -t
        nginx: the configuration file
        /etc/nginx/nginx.conf syntax is ok
        nginx: configuration file
        /etc/nginx/nginx.conf test is
        successful

        If the check fails, the previous version is put back at once and the model is told why.

      Services

      State read before and after. If it does not settle in 30 seconds, Kelpy shows the log and restores the previous state where it can.

      Packages

      An apt simulation shows what is installed or removed. A removal the card did not show stops the installation.

      Databases

      MariaDB or MySQL. Generated passwords reach the model as {{secret:name}}, never as values.

      Command log

      Every action in order, with time, state, exit code and duration; its output on a click.

      Restore
      Puts a file back as it was before a change, after showing the diff.
      Report
      The handover report of the conversation, in Markdown.
      Export
      The operations that succeeded, as JSON; secrets as placeholders.

      Changed outside Kelpy

      Kelpy records what each change left. A file edited by hand shows in a bar with its diff, and the model is told. Kelpy never reverts it by itself.

      Accept keeps what is there. Put back writes Kelpy's version again, after a backup.

      Changed outside Kelpy: /etc/php/8.5/fpm/php.ini

      AcceptPut back
      @@ -694,1 +694,1 @@
      -upload_max_filesize = 64M
      +upload_max_filesize = 256M

      Handover report

      Report in the Command log downloads it in Markdown: what changed, what did not complete, where secrets went (never their values), what changed outside Kelpy, the ports listening now.

      # Handover report

      ## Installed

      - nginx, php8.5-fpm, mariadb-server

      ## Changed

      - /etc/nginx/sites-available/wordpress (backup kept)

      ## Created

      - database wordpress, user wordpress@localhost

      ## Secrets

      - wp_db_password: /var/www/wordpress/wp-config.php

      ## Did not complete

      - none

      ## Listening now

      - 80 nginx, 3306 mariadbd

      Install

      One command downloads Kelpy, checks it and starts it. No administrator rights needed.

      1

      Run the command

      Linux

      $ curl -fsSL https://kelpy.io/install.sh | sh

      Windows, in PowerShell

      PS> irm https://kelpy.io/install.ps1 | iex

      From the latest release, checked against its SHA-256. Or download it by hand.

      2

      First run

      Kelpy installs itself into one folder and can add it to PATH.

      ~/Kelpy/
        kelpy        the executable
        config.toml  AI provider and model
        data/        conversations and state
        memory/      notes about this server
        logs/
      3

      Open the Web UI

      Every start prints a sign-in link and a new access code. Kelpy listens on 127.0.0.1 only.

      Kelpy v0.1.0
      
      Agent runtime started.
      Web UI:   http://127.0.0.1:54321/#code=K7QM-4ZP2
      Code:     K7QM-4ZP2  (to sign in from another browser)
      Home:     /root/Kelpy
      Provider: Ollama (qwen3.5:9b) - ready (no API key needed)
      Account:  root
      
      Press Ctrl+C to stop.

      Over SSH it also prints the tunnel command to run on your computer. Nothing new is exposed on the server.

      Stop
      Ctrl+C: nothing keeps running.
      Remove
      Run kelpy cleanup.

      AI providers

      Choose the provider and model in the Web UI or run kelpy provider. API keys stay in memory until Kelpy stops.

      ChatGPT plan
      Sign in as Codex CLI, with a code, or as an agent.
      Free online service
      Google Gemini, Groq, OpenRouter, Mistral, within their limits; some may train on what they receive.
      API key
      Anthropic, OpenAI, any OpenAI-compatible service.
      Local model
      Ollama, with models downloaded from the Web UI, or any OpenAI-compatible server.