selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

GoGogot logo

Self-host GoGogot

v0.1.1

Lightweight self-hosted AI agent in Go

BetaOpen SourceMIT
Updated9 hours ago
LanguageGo
Setup difficultyModerate
Stars
263
CPU
any
RAM
~10 MB
Storage
minimal
Docker
octagonlab/gogogot
Install with Docker

What is GoGogot?

GoGogot is a lightweight, self-hosted AI agent written in Go (~8,800 lines) that lives on your server and communicates via Telegram. It provides 34 built-in tools including shell command execution, file operations, web search and fetching, persistent memory and skills, identity management, task scheduling, and conversation recall. The agent runs as a single ~15 MB binary using ~10 MB RAM at idle, deployed via Docker or Docker Compose. It supports Anthropic, OpenAI, and OpenRouter models with your own API keys. All data (conversations, memory, skills, identity files) stays on your mounted volumes as plain files. The agent polls Telegram for messages and makes outbound calls to LLM providers — it opens no inbound ports. Authentication is via a single Telegram owner ID. It is MIT licensed and has no paid tiers.

Should you self-host GoGogot?

GoGogot scores 42/100 on selfhost.directory (how scoring works) and ranks #79 of 120 in AI Assistant. It has 263 GitHub stars.

It shipped 11 stable releases in the past year. The latest, v0.1.1, came out on 28 October 2026. New versions land roughly every 1 days.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is MIT-licensed and written mostly in Go.

Its closest alternative on selfhost.directory is hermes-agent (89/100, 257 885 stars). It scores higher overall, so compare the two before you pick. See GoGogot vs hermes-agent side by side.

Features

  • Context Compaction
  • Conversation recallUses LLM to select relevant past chats, not vector embeddings
  • Extensible Architecture
  • File operations
  • Identity Management
  • Multi-Model Support
  • No inbound ports
  • Persistent memory
  • Shell command execution
  • Skills System
  • Task Scheduling
  • Telegram Interface
  • Web search and fetchweb_search requires BRAVE_API_KEY

GoGogot README

How to install GoGogot

Install GoGogot with Docker

Docker
Environment variables
TELEGRAM_BOT_TOKEN, TELEGRAM_OWNER_ID, GOGOGOT_PROVIDER, GOGOGOT_MODEL, ANTHROPIC_API_KEY/OPENAI_API_KEY/OPENROUTER_API_KEY, BRAVE_API_KEY, GOGOGOT_DATA_DIR, GOGOGOT_LLM_TIMEOUT, TZ, LOG_LEVEL

docker run -d --restart unless-stopped
--name gogogot
-e TELEGRAM_BOT_TOKEN=...
-e TELEGRAM_OWNER_ID=...
-e GOGOGOT_PROVIDER=anthropic
-e ANTHROPIC_API_KEY=...
-e GOGOGOT_MODEL=claude-sonnet-4-6
-v ./data:/data
-v ./work:/work
octagonlab/gogogot:latest

Supports linux/amd64 and linux/arm64

How to configure GoGogot

  • ANTHROPIC_API_KEYAPI key for Anthropic (when provider=anthropic)

    API key for Anthropic (when provider=anthropic)

  • BRAVE_API_KEYEnables web_search tool (optional)

    Enables web_search tool (optional)

  • GOGOGOT_DATA_DIR/dataDirectory for soul.md, memory, skills, episodes (default /data)

    Directory for soul.md, memory, skills, episodes (default /data)

  • GOGOGOT_LLM_TIMEOUT3mPer-call LLM timeout (default 3m)

    Per-call LLM timeout (default 3m)

  • GOGOGOT_MODELModel slug for the chosen provider

    Model slug for the chosen provider

  • GOGOGOT_PROVIDERLLM provider: anthropic, openai, or openrouter

    LLM provider: anthropic, openai, or openrouter

    values: anthropic|openai|openrouter

  • LOG_LEVELdebugLog level (default debug)

    Log level (default debug)

  • OPENAI_API_KEYAPI key for OpenAI (when provider=openai)

    API key for OpenAI (when provider=openai)

  • OPENROUTER_API_KEYAPI key for OpenRouter (when provider=openrouter)

    API key for OpenRouter (when provider=openrouter)

  • TELEGRAM_BOT_TOKENBot token from @BotFather on Telegram

    Bot token from @BotFather on Telegram

  • TELEGRAM_OWNER_IDYour personal Telegram user ID from @userinfobot

    Your personal Telegram user ID from @userinfobot

  • TZUTCTimezone for scheduler (default UTC)

    Timezone for scheduler (default UTC)

GoGogot releases & version history

More in AI Assistant

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…