Self-hosted AI töölaud. Vestlus, agendid, veebiotsing, dokumendid, e-post, märkmed, pilditöötlus.
Kataloog: /opt/docker-compose/third/server/odysseus/
| Komponent | Asukoht | Ühendus |
|---|---|---|
| Odysseus | Docker konteiner (odysseus_odysseus_1) |
port 3004 |
| Ollama (LLM) | Native systemd teenus | host.docker.internal:11434 |
| llama.cpp (LLM) | Native protsess | host.docker.internal:8070 |
| ChromaDB | Docker konteiner (odysseus_chromadb_1) |
chromadb:8000 (sisevõrk) |
| SearXNG | Docker konteiner (odysseus_searxng_1) |
searxng:8080 (sisevõrk) |
| Ntfy | Docker konteiner (odysseus_ntfy_1) |
ntfy:80 (sisevõrk) |
| MCP Filesystem | Docker konteiner (mcp-filesystem-sse) |
mcp-filesystem-sse:3100/mcp |
| GPU | ROCm 7.2.2, gfx1151 (Radeon 8060S) | hostil |
| Docker socket | Hostilt mountitud | /var/run/docker.sock (ro) |
| Teenus | URL |
|---|---|
| Odysseus UI | http://100.87.1.24:3004 |
| Ollama API | http://100.87.1.24:11434 |
| llama.cpp API | http://100.87.1.24:8070/v1 |
| N8N | http://100.87.1.24:5678 |
.env (ODYSSEUS_ADMIN_PASSWORD)Odysseusel on kaks vestlusrežiimi, mida saab vahetada vestlusakna ülaosas olevast rippmenüüst:
Lihtne küsimus-vastus. LLM vastab ainult oma teadmistele tuginedes. Ei kasuta tööriistu.
Kasuta kui: tahad selgitust, kokkuvõtet, ideed. Ei vaja väliseid tööriistu.
LLM saab kasutada 60+ tööriista — veebiotsing, kalender, email, failid, brauser, käsurida. Mõtleb, planeerib, tegutseb.
Kasuta kui: vajad reaalset infot internetist, tahad kalendrisse lisada, soovid kirju lugeda, vajad failide lugemist/kirjutamist.
Kumb on vaikimisi: Kui valid vestluses "Web Search" linnukese, lülitub automaatselt Agent režiimi.
| Server | Transport | Tööriistu | Staatus |
|---|---|---|---|
| Built-in: Email | stdio | 14 | ✅ |
| Built-in: Browser | stdio | 29 | ✅ |
| Built-in: Memory | stdio | 1 | ✅ |
| Built-in: RAG | stdio | 1 | ✅ |
| Built-in: Image Gen | stdio | 1 | ✅ |
| Filesystem | http (Streamable) | 14 | ✅ |
| Kokku | 60+ |
Browser MCP annab Odysseusesse täisväärtusliku brauseri (Chromium). Chat aknast saad anda käsklusi Agent režiimis:
"Mine lehele ilm.ee ja ütle mis ilm homme Tallinnas tuleb"
"Tee ekraanipilt lehest [url]"
"Otsi Google'ist 'Eesti teadusfond' ja võta kokku esimene tulemus"
Brauser avaneb konteineris, külastab lehte, loeb sisu ja annab selle LLM-ile töötlemiseks.
| Tööriist | Näide |
|---|---|
list_directory |
"Näita mis failid on kataloogis /data" |
read_file |
"Loe faili /backups/log.txt" |
write_file |
"Kirjuta fail /backups/memo.txt sisuga: koosolek homme" |
search_files |
"Otsi kõiki .md faile /projects kaustast" |
create_directory |
"Loo uus kataloog /backups/2026" |
Lubatud kataloogid: /data, /scripts, /backups, /projects/data, /projects/n8n, /projects/anythingllm, /projects/open-webui
| Konto | Tüüp | Staatus |
|---|---|---|
ardo.kubjas@gmail.com |
IMAP (email) | ✅ kirjade lugemine, vastamine |
AI Calendar (@group.calendar.google.com) |
CalDAV | ✅ sünkroonitud |
Ardo isiklik (ardokubjas@gmail.com) |
CalDAV | ✅ sünkroonitud |
Kalendri sünkroonimine: Ava Calendar leht → vajuta Sync. Odysseus tõmbab sündmused Google'ist ning edaspidi sünkivad muudatused kahesuunaliselt.
NB! Google CalDAV URL peab olema legacy formaadis:
https://www.google.com/calendar/dav/{calendar_id}/user
Uuem apidata.googleusercontent.com URL ei tööta App Passwordiga (401 Login Required).
Kuidas kasutada:
Odysseuse sisseehitatud märkmete ja nimekirjade süsteem (Google Keep stiilis).
http://100.87.1.24:3004 → Notes (ikoon) → + uus märge⚠️ Teadaolev piirang: Agent eelistab MCP Filesystem tööriistu manage_notes asemel. Kui agent kirjutab faili /projects/ asemel et kasutada Notes süsteemi, kasuta Notes lehte otse või kirjuta selgesõnaliselt manage_notes tool call.
| Tegevus | Näide |
|---|---|
| Loo märge | manage_notes add title="Ostunimekiri" content="osta piim" |
| Loo checklist | manage_notes add note_type="checklist" items=[...] |
| Meeldetuletus | manage_notes add title="Koosolek" due_date="homme kell 14" |
| List kõik | manage_notes action="list" |
| Otsi | manage_notes action="search" query="ostunimekiri" |
| Kustuta | manage_notes action="delete" id="e821b60f" |
N8N jookseb aadressil http://n8n:5678 (Odysseuse konteinerist).
Kuidas kasutada:
Odysseuse Documents on sisseehitatud dokumendiredaktor.
@ mainimist| # | Task | Sagedus | Kell (EET) | Mudel |
|---|---|---|---|---|
| 1 | Task Runs puhastus | Esmaspäev | 06:00 | deepseek-v4-flash |
| 2 | Süsteemi tervisekontroll | Pühapäev | 09:00 | deepseek-v4-flash |
| 3 | Hommikune päevakava | Iga päev | 10:00 | deepseek-v4-flash |
| 4 | Hiiumaa ilmaennustus | Pühapäev | 11:00 | deepseek-v4-flash |
curl -X POST http://localhost:7000/api/tasks/{task_id}/webhook/{token}NB! BACKGROUND_TASK_FOREGROUND_GATE=false on seadistatud compose failis — taskid jooksevad ka siis kui Odysseus on kasutuses. Aga foreground monitor võib ikkagi katkestada kui brauseris on aktiivne tegevus.
task_runs.result väljas ja Reminders paneelis (kui output_target=reminder)| Mudel | Asukoht | Suurus | Kiirendus | Soovitus |
|---|---|---|---|---|
| qwen3:30b-fast | Ollama | 18 GB | ROCm GPU | ✅ igapäevane |
| deepseek-v4-flash | DeepSeek API | - | pilv | ✅ kiire, tool calling |
| ggml_gpt-oss-120b | llama.cpp | 59 GB | CPU | ⚠️ liiga suur, ainult lihtsad päringud |
120B mudeli hoiatus: 59 GB mudel 30 GB RAM-iga arvutil — swäpib tugevalt, vastused aeglased või tühjad. Soovitatav kasutada qwen3:30b-fast.
DeepSeek mudelid olid peidetud, sest need ei ilmu models_extra listis (kuriteerimata mudelid). Fix: pinned_models = ["deepseek-v4-flash", "deepseek-v4-pro"] DeepSeek endpointil.
CookBook on mudelite halduse töölaud (HF allalaadimine, serveerimine). Hetkel seadistatud ainult kohalik server.
host="", modelDir="/app/.cache/huggingface/hub")NB! Ära muuda endpoint_kind väärtust proxy → local — see lõhub CookBooki SSH skaneeringu.
cd /opt/docker-compose/third/server/odysseus/
# Käivita
docker-compose up -d
# Peata
docker-compose down
# Taaskäivita
docker-compose restart odysseus
# Ehita uuesti + käivita (peale koodimuudatusi)
docker-compose up -d --build odysseus
# Logid
docker-compose logs -f odysseus
NB! docker-compose v1.29.2 ContainerConfig vea puhul kasuta:
docker stop odysseus_odysseus_1 && docker rm odysseus_odysseus_1
docker-compose up -d odysseus
Parandus: chat_routes.py real 590 lisatud _explicit_web_intent = _search_enabled
Kontrolli võrguühendust, host.docker.internal lahenduvust
npx -y @playwright/mcp@latest --version + restart
Liiga suur RAM-i jaoks. Kasuta qwen3:30b-fast.
Kasuta legacy URLi: https://www.google.com/calendar/dav/{id}/user (mitte apidata.googleusercontent.com)
BACKGROUND_TASK_FOREGROUND_GATE=false aitab aga ei lahenda kõiki juhtumeidAgent eelistab MCP Filesystem tööriistu. Lahendus:
manage_notes tool call/projects/, kustuta see käsitsidocker-compose v1.29.2 bug. Lahendus: eemalda konteiner käsitsi enne up -d.
| Port | Algne (upstream) | Meil | Põhjus |
|---|---|---|---|
| 7000 → host | 3004 | 3004 | 3003 oli playwright |
| SearXNG | 8080 | 8088 | 8080 oli weaviate |
| Asukoht | Sisu |
|---|---|
/opt/docker-compose/third/server/odysseus/ |
Compose failid, .env, LOEMIND |
/opt/docker-compose/third/server/odysseus/repo/ |
Git repo (dev branch) |
/opt/docker-compose/third/server/odysseus/.env |
Keskkonnamuutujad (paroolid, URL-id) |
/data/docker/odysseus/data/ |
SQLite, seaded, sessioonid, üleslaadimised |
/data/docker/odysseus/logs/ |
Logid |
/data/docker/odysseus/data/huggingface/ |
Cookbook mudeli cache |
/data/docker/odysseus/data/cookbook_state.json |
CookBook serveri seadistus |
/data/docker/odysseus/data/user_prefs.json |
Kasutaja seaded (sh CalDAV kontod) |
/data/docker/odysseus/data/app.db |
Peamine andmebaas (SQLite) |
| Kuupäev | Muudatus |
|---|---|
| 2025-07-07 | Paigaldatud — kloonitud repo, ehitatud Docker pilt |
| 2025-07-07 | Võrk parandatud: odysseus_default → main_ai_network |
| 2025-07-07 | _explicit_web_intent bug parandatud chat_routes.py-s |
| 2025-07-07 | OLLAMA_BASE_URL + EMBEDDING seadistatud native ollama jaoks |
| 2025-07-07 | MCP Filesystem server lisatud (14 tools) |
| 2025-07-07 | Google CalDAV — AI kalender sünkroonitud |
| 2025-07-08 | Google CalDAV parandatud: URL legacy formaati (google.com/calendar/dav) |
| 2025-07-08 | Gmail IMAP kontrollitud — juba töötas |
| 2025-07-08 | Isiklik Google Calendar CalDAV lisatud |
| 2025-07-08 | Browser MCP (Playwright) paigaldatud — 29 tools |
| 2025-07-08 | N8N ühendus kontrollitud (http://n8n:5678) |
| 2025-07-12 | Hommikune päevakava + Süsteemi tervisekontroll taskid loodud |
| 2025-07-12 | Hiiumaa ilmaennustus task loodud (deepseek-v4-flash, native tool calling) |
| 2025-07-12 | qwen3:30b-fast num_ctx tõstetud 49152 → 131072 |
| 2025-07-16 | CookBook server seadistatud (Local, modelDir=/app/.cache/huggingface) |
| 2025-07-16 | Docker socket mountitud + ODYSSEUS_ENABLE_HOST_DOCKER=true |
| 2025-07-16 | Süsteemi tervisekontroll: docker ps töötab konteinerist |
| 2025-07-16 | Task Runs puhastus task loodud (iga esmaspäev) |
| 2025-07-16 | _KEYWORD_HINTS — eestikeelsed võtmesõnad lisatud (märge, märkme, jne) |
| 2025-07-16 | DeepSeek mudelid pinned_models kaudu taskide dropdownis nähtavaks |
| 2025-07-16 | BACKGROUND_TASK_FOREGROUND_GATE=false + foreground monitor fix |