8gent Code
Guides

Overview

8gent's personalization system is built on a simple principle: the agent should know you better with every session. Rather than asking you to fill out config files or tweak YAML, 8gent detects your environment, asks three focused questions, and then adapts continuously.

The personalization pipeline has four stages:

  1. Auto-detection - reads your git config, scans for Ollama/LM Studio models, checks gh auth status.
  2. Onboarding - a 3-question interactive flow that fills in what detection missed.
  3. Cloud sync - preferences travel with you across machines via Convex (after /auth login).
  4. Continuous learning - session traces are collected and quality-filtered for personal LoRA fine-tuning.

All personalization data lives in .8gent/user.json (local) and optionally syncs to Convex (cloud). Local data is never sent to third parties. Cloud sync is opt-in via authentication.

Smart Onboarding

On first launch, 8gent runs auto-detection in parallel before asking you anything.

Auto-Detection

SignalHow it's detectedWhat it sets
Your namegit config --global user.nameidentity.name
Your emailgit config --global user.emaildisplayed in onboarding summary
Ollama modelsollama listavailable models, default model
LM Studio modelsGET http://localhost:1234/v1/modelsavailable models
GitHub authgh auth statusGitHub username
Preferred providerpresence of Ollama or LM Studiodefault provider

All checks run via Promise.allSettled - if any fail (e.g., Ollama not installed), they are silently skipped.

The 3-Question Flow

After detection, onboarding presents what it found and asks only what it could not infer:

  1. Identity confirmation - Shows detected name, email, GitHub, provider, models. Press Enter to accept or type corrections.
  2. Communication style - Choose from: concise, detailed, casual, or formal.
  3. Confirmation - Review and confirm settings.

Re-run onboarding at any time with /onboarding (aliases: /onboard, /setup, /intro).

Adaptive System Prompt

8gent personalizes its system prompt based on your onboarding data. A USER_CONTEXT_SEGMENT is injected into every agent turn.

Style Mapping

StyleSystem prompt instruction
conciseBe brief and direct. Skip explanations unless asked.
detailedExplain your reasoning. Teach as you go.
casualKeep it friendly and collaborative. We're partners.
formalMaintain professional tone. Be precise.

Language

If your language is set to anything other than English, the system prompt includes the language preference. The agent responds in your specified language while keeping code comments and identifiers in English.

Preferences Cloud Sync

After authenticating with /auth login, your preferences sync to Convex and follow you across devices.

What Syncs

FieldDescription
Default modelYour preferred LLM
Default providerOllama, LM Studio, or OpenRouter
Communication styleHow Eight talks to you
LanguageResponse language
Git branch prefixe.g. 8gent/
Autonomy thresholdWhen Eight asks for permission

What Stays Local

These fields are machine-specific and never leave your device:

  • Local model inventory (Ollama and LM Studio)
  • GitHub auth state
  • Voice engine configuration
  • Confidence scores and tracking

Voice Output

TTS is on by default on macOS. Each agent's text reply is spoken via the system say command. Toggle live with /voice on / /voice off, or set voice.outputEnabled in ~/.8gent/settings.json.

Per-Tab Voices

The three default tabs each have their own macOS voice so multi-agent conversations are audibly distinct:

RoleDefault voiceWhy
OrchestratorDaniel (en-GB)Measured, fits a coordinator role
EngineerKaren (en-AU)Clear and technical
QAMoira (en-IE)Auditor cadence, fits review work

Override per tab in ~/.8gent/settings.json:

{
  "voice": {
    "outputEnabled": true,
    "ttsVoice": "Ava",
    "perAgent": {
      "orchestrator": "Daniel",
      "engineer": "Karen",
      "qa": "Moira"
    }
  }
}

If a per-agent voice is missing, the system falls back to voice.ttsVoice. The helper getVoiceForRole(role, settings?) is exported from @8gent/settings for any consumer that needs to resolve a role to a voice.

To preview a voice from the TUI: /voice test Daniel.

Merge Strategy

The merge uses a last-write-wins strategy based on timestamps. If Convex is unreachable, the operation silently fails and local state is authoritative.

Session History and Resume

8gent tracks your conversations and lets you pick up where you left off, even on a different machine.

Checkpoints

  • Message checkpoint: every 60 seconds if new messages exist
  • Token/tool-call deltas: flushed every 10 seconds
  • On session end: final totals written, session marked as ended

Commands

CommandAliasesDescription
/history/hist, /sessionsBrowse all past sessions
/resume/resResume a recent session (pick from last 5)
/continue/cont, /lastContinue the most recent session automatically
/compact/compress, /summarizeSummarize and compress the current conversation

Cross-Device Resume

Because checkpoints sync to Convex, you can start a session on your laptop and resume it on your desktop. Run /auth login on both machines, then use /resume to pick up where you left off.

Personal LoRA Training (Preview - Q2 2026)

8gent collects high-quality session traces for personal LoRA fine-tuning. This feature is in preview and not yet shipped.

Quality Filters

A training pair is only collected if all of the following are true:

FilterThreshold
PRM judge score>= 0.7
User did not correct the responsefalse
All tool calls succeededtrue
Response length>= 50 characters

Data Location

Training data is stored locally at .8gent/kernel/training/. Collection happens automatically. To enable the full RL training pipeline, set trainingProxy.enabled: true in .8gent/config.json.

Autonomy Thresholds

The askThreshold setting controls when 8gent pauses to ask for permission:

ValueBehavior
alwaysAsk before every action
importantAsk before destructive or irreversible actions
fatal-onlyOnly ask before potentially dangerous operations (default)
neverFull autonomy - never ask

All Personalization Commands

CommandAliasesDescription
/onboarding/onboard, /setup, /introStart or restart personalization setup
/preferences/prefs, /settingsView or edit your preferences
/auth/login, /accountAuthentication management
/model/mSelect LLM model
/provider/prSelect LLM provider
/voice/vVoice TTS settings
/language/lang, /lSet response language
/history/hist, /sessionsBrowse past sessions
/resume/resResume a recent session
/continue/cont, /lastContinue most recent session
/compact/compress, /summarizeCompress current conversation
/infinite/infEnable autonomous mode
/adhd/bionic, /focusToggle ADHD/bionic reading mode
/status/s, /stShow session status