Skip to content

gOps132/GigiDC

Repository files navigation

GigiDC logo

GigiDC

Docs Version Go Docker PostgreSQL

Gigi is being rebuilt as a Discord agent runtime for CS/IT Archive.

Purpose

Gigi is not just a chatbot with plugins. The target product is a Discord-native agent runtime: it receives guild messages and slash commands, understands the user request, chooses the right context and tools, checks permissions, executes deterministic tools, composes an answer, and audits the path.

The core loop is:

intake
  -> plan
  -> retrieve context
  -> run read tools
  -> compose answer
  -> propose or confirm write tools
  -> execute deterministic actions
  -> audit

Natural language should map onto tool calls instead of requiring one hard-coded parser for every phrasing. Exact features such as memory counts, message search, plugin dispatch, permission checks, and usage summaries still exist as deterministic tools. The LLM proposes what tool to use and how to explain the result; Go code validates, authorizes, executes, and records it.

Current Foundation

This branch intentionally removes the old Node/Supabase runtime. The current Go foundation exposes health/readiness endpoints plus Discord /ping, DM ping, guild mention ping, role-first admin-gated /permissions capability grants, /llm guild provider/model/routing policy management, /plugins manifest management, deterministic external app matching, policy-gated semantic routing, guild mention chat fallback through a configured chat model, opt-in public send_message prefix dispatch, and guild memory settings/status/current-channel count/search scaffolding. Agent runtime work has started with a bounded runner, policy/executor/answerer split, a general LLM planner over registered tools, dynamic current-channel context fetching for /ask context:channel and optional guild-mention context, read-only native tools for memory/plugin planning/permission checks/LLM usage, LLM answer synthesis over cited tool/context evidence, short-term follow-up context, read-tool capability gates, write-tool confirmation guards, durable run/step/confirmation records, cancellation checks, and redacted run traces. LLM-backed guild mention behavior is live only when a guild credential, model profile, GIGI_LLM_SECRET_KEY_BASE64, and relevant guild routing policy are configured. Semantic retrieval, rich DM chat, reasoning chat, restricted dispatch, tasks, and relay actions are not live yet.

flowchart LR
    Discord["Discord Gateway"] --> App["Go Runtime"]
    App --> Plugins["External App Catalog"]
    App --> Jobs["Durable Jobs"]
    App --> DB["PostgreSQL + pgvector"]
    App --> Health["/healthz + /readyz"]
    classDef core fill:#ecfeff,stroke:#0891b2,color:#164e63;
    classDef state fill:#f0fdf4,stroke:#16a34a,color:#14532d;
    class Discord,App,Health,Plugins core;
    class Jobs,DB state;
Loading

Local Run

go test ./...
go vet ./...
go build ./cmd/gigi
docker compose -f compose.yaml up --build

Health checks:

curl http://127.0.0.1:8080/healthz
curl http://127.0.0.1:8080/readyz

Coolify Rough Deploy

Use docker-compose.yml.

Required Coolify settings:

Build Pack: Docker Compose
Base Directory: /
Docker Compose Location: /docker-compose.yml
Service port: 8080

Required environment variable:

POSTGRES_PASSWORD=<secure database password>

Keep Discord off for the first smoke deploy:

GIGI_DISCORD_ENABLED=false
GIGI_DISCORD_SYNC_COMMANDS=false

After health checks pass, enable Discord with DISCORD_TOKEN, DISCORD_CLIENT_ID, and GIGI_DISCORD_GUILD_ID to test /ping, DMs, guild mentions, /permissions, /llm, and /plugins.

Docs

About

No description, website, or topics provided.

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages