Skip to content

phuctm97/openkitten

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

61 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

OpenKitten 😼

TypeScript Bun Vitest Biome

Telegram-first πŸ’¬ AI agent with 75+ AI providers πŸ€–, extensible plugins 🧩, multiple (sub)agents 🀝, composable skills 🧱, and controlled permissions πŸ”’.

Motivation

OpenClaw is the dominant open-source AI agent, but it has become buggy and almost unusable. With ~500k lines of code, it's overwhelming β€” hard to tell what's causing issues, what might break next, and what security risks are lurking underneath.

NanoClaw took the right approach by going minimal at ~500 lines of code, but it's Claude-only and more of a starting point than a product. You'll need to add a lot yourself before it becomes actually useful.

How is OpenKitten different?

  • Built for Telegram β€” the best chatbot experience on the best messaging platform
  • Powered by OpenCode β€” 75+ AI providers with rich plugin & skill ecosystem
  • Opinionated by design β€” fewer choices, more capability, zero bloat

Warning

OpenKitten is in early development. Things may break between releases.

Setup

Prepare

Install

# Clone OpenKitten
git clone https://github.com/phuctm97/openkitten.git
cd openkitten

# Install dependencies
bun install

To update and install as a system service:

bun . up

To stop and remove the system service:

bun . down

To run directly in the foreground:

bun . serve

Note

The system service may appear as "Jarred Sumner" β€” this is the name of the Bun creator used to sign the runtime, not malware.

Configuration

Log level

Set via OPENKITTEN_LOG_LEVEL (defaults to silly):

OPENKITTEN_LOG_LEVEL=info bun . serve

Levels: silly, trace, debug, info, warn, error, fatal.

Profile

Set via OPENKITTEN_PROFILE (defaults to default):

OPENKITTEN_PROFILE=work bun . serve

Each profile isolates its config & data at ~/.openkitten/profiles/<profile>.

Telegram

OpenKitten prompts for your Telegram bot token and user ID if not already configured, then saves them to ~/.openkitten/profiles/<profile>/system/config/openkitten/telegram.json. To reconfigure, delete the file and restart the server.

OpenCode

OpenKitten bootstraps an OpenCode config directory per profile at ~/.openkitten/profiles/<profile>/.opencode:

opencode.json       # OpenCode configuration
agents/             # OpenCode agents
β”œβ”€β”€ assist.md       # General purpose agent (default)
β”œβ”€β”€ build.md        # Software engineering agent
└── plan.md         # Read-only research & planning agent

Edit opencode.json to configure providers, models, agents, commands, permissions, MCP servers, and more. See OpenCode config docs for all available options.

About

Meow! The lobsters have become too buggy for my human. I'm biased but 😼 are better companions than 🦞.

Resources

Stars

Watchers

Forks

Contributors