Repolode
oguzbilgic

oguzbilgic/kern-ai

A long-running agent runtime that lives in your chat apps (Slack, Matrix, Telegram, Discord, IRC, Nostr) with persistent memory and background jobs.

Stars
72
Forks
13
Open issues
72
Last commit
14 days ago

What is it?

kern runs an AI agent as a long-lived process with a single persistent memory, reachable from Slack, Matrix, Telegram, Discord, IRC, Nostr and a terminal interface. Each agent is configured with a name, a model provider key and a bot account, and runs in its own Docker container with a volume that stores sessions, memory, notes and installed tools.

The agent segments conversations by topic, summarizes them into a hierarchy and recalls older context semantically. It can run long shell commands as background jobs that report back in the channel where they were started, and it can hand bounded read-only tasks to sub-agents. Scheduled heartbeats let it review its notes and message the operator.

A team of agents is simply a set of containers, one per agent, each with its own bot identity. Providers include OpenRouter, Anthropic, OpenAI, OpenAI-compatible endpoints and Ollama for local models.

Key features

  • 01Connects one persistent agent session to Slack, Matrix, Telegram, Discord, IRC, Nostr and a terminal.
  • 02Runs long shell commands as background jobs and reports results in the originating chat.
  • 03Segments and summarizes conversations, with semantic recall over past messages.
  • 04Keeps notes and knowledge files in a git repo the agent maintains.
  • 05Spawns parallel read-only sub-agents and supports skills and MCP servers.
  • 06Deploys each agent as its own Docker container with a persistent volume.

Use cases

  • Running an ops or build-monitoring assistant that posts job results into a Slack channel.
  • Giving a team a shared research agent reachable from Telegram or Discord.
  • Operating a self-hosted agent on a homelab with local models through Ollama.

Quick start

  1. 1

    Start an agent on Slack with Docker, passing your model key and Slack bot tokens

    docker run -d --restart=unless-stopped \ --name ops \ -v ops-home:/home/agent \ -e KERN_NAME=ops \ -e OPENROUTER_API_KEY=sk-or-... \ -e SLACK_BOT_TOKEN=xoxb-... \ -e SLACK_APP_TOKEN=xapp-... \ ghcr.io/oguzbilgic/kern-ai
  2. 2

    Message the bot; the first person to DM it becomes the operator

  3. 3

    Restart later without environment variables, since config is saved in the volume

    docker run -d --restart=unless-stopped -v ops-home:/home/agent ghcr.io/oguzbilgic/kern-ai

Things to know

  • Needs an LLM API key (for example OpenRouter) or a local Ollama setup to run.
  • The README says MIT licensed, but the repository metadata lists no license, so check the license file before relying on it.

Topics

FAQ

What is kern-ai?
A long-running agent runtime that lives in your chat apps (Slack, Matrix, Telegram, Discord, IRC, Nostr) with persistent memory and background jobs. kern runs an AI agent as a long-lived process with a single persistent memory, reachable from Slack, Matrix, Telegram, Discord, IRC, Nostr and a terminal interface. Each agent is configured with a name, a model provider key and a bot account, and runs in its own Docker container with a volume that stores sessions, memory, notes and installed tools.
Is kern-ai free to use? What license does it have?
kern-ai has no declared license. Its code is public, but without a license you have no explicit permission to reuse it; ask the author before relying on it.
Is kern-ai still maintained?
Actively maintained. The last commit to kern-ai was on Oct 8, 2026.
What can I use kern-ai for?
Running an ops or build-monitoring assistant that posts job results into a Slack channel. Giving a team a shared research agent reachable from Telegram or Discord. Operating a self-hosted agent on a homelab with local models through Ollama.
How do I install kern-ai?
Start an agent on Slack with Docker, passing your model key and Slack bot tokens: docker run -d --restart=unless-stopped \ --name ops \ -v ops-home:/home/agent \ -e KERN_NAME=ops \ -e OPENROUTER_API_KEY=sk-or-... \ -e SLACK_BOT_TOKEN=xoxb-... \ -e SLACK_APP_TOKEN=xapp-... \ ghcr.io/oguzbilgic/kern-ai Message the bot; the first person to DM it becomes the operator Restart later without environment variables, since config is saved in the volume: docker run -d --restart=unless-stopped -v ops-home:/home/agent ghcr.io/oguzbilgic/kern-ai
Where can I get kern-ai?
The source code and installation instructions are on GitHub: https://github.com/oguzbilgic/kern-ai

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects