Three numbers on the family-facing model cards had drifted from scripts/*.env:
archon said three submissions where FRANK_ARCHON_MAX_SEQS=4 (1bb6399), zealot
said 262k context where the contract is 200,704 a slot (CTX_SIZE 602112 / PARALLEL
3, and llama.cpp 400s over the slot rather than truncating), and zealot's warning
still promised censored-base refusals after the Uncensored-LoRA went into the load
line (LORA_FILE set, LORA_SCALE=1). archon's role dropped an unverifiable
"fastest"; zealot's card dropped a tokens/s figure nobody is comparing.
Deletes the assertion that zealot's warning must not claim uncensored output. It
was written 2026-10-17, when the censored base was live; the adapter landed after
it, so the pin now enforces a false safety claim on the one surface the household
reads. The general invariant survives and still fires: a card whose spec says
uncensored or abliterated must carry the legal warning (same seam, lines 100-104).
567 lines
17 KiB
JSON
567 lines
17 KiB
JSON
[
|
||
{
|
||
"name": "SearXNG",
|
||
"category": "user",
|
||
"section": "Web Apps",
|
||
"description": "AI-free, VPN-routed search engine, fully hosted on Frank's server.",
|
||
"url": "http://search.franksdank.cloud",
|
||
"docs": "",
|
||
"probe": "127.0.0.1:8081",
|
||
"method": "http",
|
||
"wip": false,
|
||
"showLink": true,
|
||
"warn": "Searches are obfuscated, not anonymous: SearXNG hides you from the upstream engines and the VPN tunnel hides the traffic from the LAN — but the upstream search API keys are tied to Frank’s identity. Don’t treat it as Tor.",
|
||
"art": "/img/apps/searxng.svg"
|
||
},
|
||
{
|
||
"name": "OpenWebUI",
|
||
"category": "user",
|
||
"section": "AI",
|
||
"description": "AI Chat/Search interface",
|
||
"url": "http://ai.franksdank.cloud",
|
||
"docs": "",
|
||
"probe": "127.0.0.1:3005",
|
||
"method": "http",
|
||
"wip": false,
|
||
"showLink": true,
|
||
"art": "/img/apps/openwebui.png",
|
||
"art_bg": "#f5f5f5",
|
||
"warn": "Chats stay on Frank's server, but OpenWebUI's web search rides the same SearXNG path as the search app: obfuscated, not anonymous. The upstream search API keys are tied to Frank’s identity."
|
||
},
|
||
{
|
||
"name": "open-notebook",
|
||
"category": "admin",
|
||
"section": "AI",
|
||
"description": "Podcast generator — notes in, spoken episode out: script written by frank-archon, voices rendered by frank-tts. Guarded twice: Authentik at the edge, then its own login. Single shared password, no per-user accounts — admin-only.",
|
||
"url": "http://notebook.franksdank.cloud",
|
||
"docs": "",
|
||
"probe": "127.0.0.1:8502",
|
||
"method": "http",
|
||
"wip": false,
|
||
"showLink": true,
|
||
"art": "/img/apps/mono-on.svg"
|
||
},
|
||
{
|
||
"name": "Gitea",
|
||
"category": "user",
|
||
"section": "Web Apps",
|
||
"description": "Git code hosting and review platform. Needs its own login, separate from the dankcloud single sign-on — use the sign-up flow in the app to get an account; no need to ask Frank.",
|
||
"url": "http://gitea.franksdank.cloud",
|
||
"docs": "",
|
||
"probe": "127.0.0.1:3000",
|
||
"method": "http",
|
||
"wip": false,
|
||
"showLink": true,
|
||
"art": "/img/apps/gitea.svg"
|
||
},
|
||
{
|
||
"name": "Calibre-Web",
|
||
"category": "user",
|
||
"section": "Media Library Apps",
|
||
"description": "E-book library. Work in progress: not open to family users yet.",
|
||
"url": "",
|
||
"docs": "",
|
||
"probe": "192.168.0.235:8083",
|
||
"method": "http",
|
||
"wip": "down",
|
||
"showLink": false,
|
||
"art": "/img/apps/app-calibre.svg"
|
||
},
|
||
{
|
||
"name": "RomM",
|
||
"category": "user",
|
||
"section": "Media Library Apps",
|
||
"description": "ROM and emulator library. Work in progress: not open to family users yet.",
|
||
"url": "",
|
||
"docs": "",
|
||
"probe": "192.168.0.235:8085",
|
||
"method": "http",
|
||
"wip": "down",
|
||
"showLink": false,
|
||
"art": "/img/apps/app-gameboy.svg"
|
||
},
|
||
{
|
||
"name": "Copyparty",
|
||
"category": "user",
|
||
"section": "Web Apps",
|
||
"description": "Direct downloads from Frank's server. Everything the other media apps hold — including the work-in-progress ones (Calibre-Web, RomM, Seerr) — is available here.",
|
||
"url": "http://files.franksdank.cloud",
|
||
"docs": "",
|
||
"probe": "192.168.0.235:3923",
|
||
"method": "http",
|
||
"wip": false,
|
||
"showLink": true,
|
||
"art": "/img/apps/app-folder.svg"
|
||
},
|
||
{
|
||
"name": "Plex",
|
||
"category": "user",
|
||
"section": "Media Library Apps",
|
||
"description": "Closed source media server with apps for everything. Needs its own Plex login, separate from the dankcloud single sign-on (ask Frank).",
|
||
"url": "http://plex.franksdank.cloud/web/index.html",
|
||
"docs": "",
|
||
"probe": "192.168.0.235:32400",
|
||
"method": "tcp",
|
||
"wip": false,
|
||
"showLink": true,
|
||
"art": "/img/apps/plex.svg"
|
||
},
|
||
{
|
||
"name": "Jellyfin",
|
||
"category": "user",
|
||
"section": "Media Library Apps",
|
||
"description": "Open source media server for the film and TV library: its own logins (no Authentik here), so ask Frank for an account.",
|
||
"url": "http://jelly.franksdank.cloud",
|
||
"docs": "",
|
||
"probe": "192.168.0.235:8096",
|
||
"method": "http",
|
||
"wip": false,
|
||
"showLink": true,
|
||
"art": "/img/apps/jellyfin.svg"
|
||
},
|
||
{
|
||
"name": "Seerr",
|
||
"category": "user",
|
||
"section": "Media Library Apps",
|
||
"description": "Download requests. Work in progress: not open to family users yet.",
|
||
"url": "",
|
||
"docs": "",
|
||
"probe": "127.0.0.1:5055",
|
||
"method": "http",
|
||
"wip": "down",
|
||
"showLink": false,
|
||
"art": "/img/apps/seerr.svg"
|
||
},
|
||
{
|
||
"name": "Marreta",
|
||
"category": "user",
|
||
"section": "Web Apps",
|
||
"description": "Paywall sledgehammer: hand it an article URL and it drags the page back through the VPN with the paywall chrome, cookie wall and trackers stripped; a headless browser renders the JS-heavy ones. Best effort — hard paywalls and login walls still win.",
|
||
"url": "http://marreta.franksdank.cloud",
|
||
"docs": "",
|
||
"probe": "127.0.0.1:8082",
|
||
"method": "http",
|
||
"wip": false,
|
||
"showLink": true,
|
||
"art": "/img/apps/app-wall.svg"
|
||
},
|
||
{
|
||
"name": "Sonarr",
|
||
"category": "admin",
|
||
"section": "Media Library Apps",
|
||
"description": "TV series library and automation.",
|
||
"url": "http://192.168.0.112:8989",
|
||
"docs": "",
|
||
"probe": "192.168.0.112:8989",
|
||
"method": "http",
|
||
"wip": false,
|
||
"showLink": true,
|
||
"art": "/img/apps/sonarr.svg"
|
||
},
|
||
{
|
||
"name": "Hermes",
|
||
"category": "admin",
|
||
"section": "AI",
|
||
"description": "The agent gateway.",
|
||
"url": "http://hermes.franksdank.cloud",
|
||
"docs": "",
|
||
"probe": "127.0.0.1:8787",
|
||
"method": "http",
|
||
"wip": false,
|
||
"showLink": true,
|
||
"art": "/img/apps/mono-hm.svg"
|
||
},
|
||
{
|
||
"name": "Hermes dashboard",
|
||
"category": "admin",
|
||
"section": "AI",
|
||
"description": "Agent management UI (config, API keys, sessions).",
|
||
"url": "http://hermesadmin.franksdank.cloud",
|
||
"docs": "",
|
||
"probe": "192.168.0.143:9119",
|
||
"method": "http",
|
||
"wip": false,
|
||
"showLink": true,
|
||
"art": "/img/apps/mono-hd.svg"
|
||
},
|
||
{
|
||
"name": "Grafana",
|
||
"category": "admin",
|
||
"section": "Observability",
|
||
"description": "Dashboards.",
|
||
"url": "http://grafana.franksdank.cloud",
|
||
"docs": "",
|
||
"probe": "127.0.0.1:3002",
|
||
"method": "http",
|
||
"wip": false,
|
||
"showLink": true,
|
||
"art": "/img/apps/grafana.svg"
|
||
},
|
||
{
|
||
"name": "Prometheus",
|
||
"category": "admin",
|
||
"section": "Observability",
|
||
"description": "Metrics collection.",
|
||
"url": "http://prometheus.franksdank.cloud",
|
||
"docs": "",
|
||
"probe": "127.0.0.1:9090",
|
||
"method": "http",
|
||
"wip": false,
|
||
"showLink": true,
|
||
"art": "/img/apps/prometheus.svg"
|
||
},
|
||
{
|
||
"name": "Loki",
|
||
"category": "admin",
|
||
"section": "Observability",
|
||
"description": "Log storage.",
|
||
"url": "http://loki.franksdank.cloud",
|
||
"docs": "",
|
||
"probe": "127.0.0.1:3100",
|
||
"method": "http",
|
||
"wip": false,
|
||
"showLink": true,
|
||
"art": "/img/apps/mono-lk.svg"
|
||
},
|
||
{
|
||
"name": "node-exporter",
|
||
"category": "admin",
|
||
"section": "Observability",
|
||
"description": "Host metrics.",
|
||
"url": "",
|
||
"docs": "",
|
||
"probe": "127.0.0.1:9100",
|
||
"method": "http",
|
||
"wip": false,
|
||
"showLink": false,
|
||
"art": "/img/apps/mono-ne.svg"
|
||
},
|
||
{
|
||
"name": "alloy",
|
||
"category": "admin",
|
||
"section": "Observability",
|
||
"description": "Log shipping.",
|
||
"url": "",
|
||
"docs": "",
|
||
"probe": "127.0.0.1:12345",
|
||
"method": "http",
|
||
"wip": false,
|
||
"showLink": false,
|
||
"art": "/img/apps/mono-ay.svg"
|
||
},
|
||
{
|
||
"name": "alertmanager",
|
||
"category": "admin",
|
||
"section": "Observability",
|
||
"description": "Alert delivery to Signal.",
|
||
"url": "",
|
||
"docs": "",
|
||
"probe": "127.0.0.1:9093",
|
||
"method": "http",
|
||
"wip": false,
|
||
"showLink": false,
|
||
"art": "/img/apps/mono-am.svg"
|
||
},
|
||
{
|
||
"name": "Caddy",
|
||
"category": "admin",
|
||
"section": "Infrastructure",
|
||
"description": "The reverse proxy.",
|
||
"url": "",
|
||
"docs": "",
|
||
"probe": "127.0.0.1:80",
|
||
"method": "http",
|
||
"wip": false,
|
||
"showLink": false,
|
||
"art": "/img/apps/caddy.svg"
|
||
},
|
||
{
|
||
"name": "Pi-hole",
|
||
"category": "admin",
|
||
"section": "Infrastructure",
|
||
"description": "LAN DNS + ad blocking.",
|
||
"url": "http://pihole.franksdank.cloud",
|
||
"docs": "",
|
||
"probe": "192.168.0.143:8083",
|
||
"method": "http",
|
||
"wip": false,
|
||
"showLink": true,
|
||
"art": "/img/apps/pihole.svg"
|
||
},
|
||
{
|
||
"name": "Gluetun",
|
||
"category": "admin",
|
||
"section": "Infrastructure",
|
||
"description": "The outbound VPN tunnel.",
|
||
"url": "",
|
||
"docs": "",
|
||
"probe": "127.0.0.1:51820",
|
||
"method": "tcp",
|
||
"wip": "closed",
|
||
"showLink": false,
|
||
"art": "/img/apps/mono-gt.svg"
|
||
},
|
||
{
|
||
"name": "frank-zealot",
|
||
"category": "user",
|
||
"section": "AI",
|
||
"model": {
|
||
"unit": "zealot",
|
||
"role": "Frank's utility model",
|
||
"hf": "https://huggingface.co/prism-ml/Ternary-Bonsai-2-9B-gguf",
|
||
"tagline": "HONOR GUIDE ME!",
|
||
"sfx": [
|
||
"zealot-honor.ogg"
|
||
],
|
||
"equiv": "Equivalent to last year's frontier level (2025).",
|
||
"spec": "Ternary-Bonsai-2-9B (PQ2_0 ternary weights, MTP head in the file) with the uncensoring adapter fitted at load, on an NVIDIA RTX 3090 — 200k-token conversations, three at a time; sees images.",
|
||
"inputs": [
|
||
"text",
|
||
"image"
|
||
],
|
||
"use": "Code editor autocomplete, agentic search, RAG, research subagents, translation, roleplay, and summarization.",
|
||
"voice": {
|
||
"text": "I LONG FOR COMBAT!",
|
||
"sfx": [
|
||
"zealot-combat.ogg"
|
||
]
|
||
},
|
||
"supervision": "Requires tight human supervision.",
|
||
"warn": "Uncensored model — a refusal-removal adapter is fitted at load, so refusals are not a safeguard here: output can include adult content, content that describes harmful, hateful, or illegal acts, and other output that may carry severe legal risk. Take this warning seriously — don’t ruin this server for everybody.",
|
||
"compaction": "If your agent harness lets you set a compaction model, set this one: a compaction job on the bigger models blocks them for far longer."
|
||
},
|
||
"url": "",
|
||
"docs": "/docs#models",
|
||
"probe": "127.0.0.1:7771",
|
||
"method": "http",
|
||
"wip": false,
|
||
"showLink": false
|
||
},
|
||
{
|
||
"name": "frank-dragoon",
|
||
"category": "user",
|
||
"section": "AI",
|
||
"model": {
|
||
"unit": "dragoon",
|
||
"role": "Frank's deep reasoning model",
|
||
"hf": "https://huggingface.co/Quat3rnion/halogen-qwen3.8-flash-next-v2-abliterated",
|
||
"tagline": "I have returned — make use of me.",
|
||
"sfx": [
|
||
"dragoon-tagline.ogg"
|
||
],
|
||
"equiv": "Equivalent to Claude Sonnet 5 / OpenAI-Luna (Summer 2026 frontier intelligence).",
|
||
"spec": "Qwen3.8-Flash-Next v2 native abliterated (halogen flash-server, ~62 GiB) on the Strix Halo iGPU — 200k-token conversations, two at a time; sees images.",
|
||
"inputs": [
|
||
"text",
|
||
"image"
|
||
],
|
||
"use": "Complex agentic tasks, programming, system administration, and \"claw\"-style personal agents.",
|
||
"voice": {
|
||
"text": "Awaiting instructions.",
|
||
"sfx": [
|
||
"dragoon-awaiting.ogg"
|
||
]
|
||
},
|
||
"supervision": "Safe for autonomous, low-supervision use.",
|
||
"warn": "Uncensored model: output can include adult content, content that describes harmful, hateful, or illegal acts, content concerning “sensitive offensive cybersecurity topics”, and other output that may carry severe legal risk. Take this warning seriously — don’t ruin this server for everybody."
|
||
},
|
||
"url": "",
|
||
"docs": "/docs#models",
|
||
"probe": "127.0.0.1:7770",
|
||
"method": "http",
|
||
"wip": false,
|
||
"showLink": false
|
||
},
|
||
{
|
||
"name": "frank-archon",
|
||
"category": "user",
|
||
"section": "AI",
|
||
"model": {
|
||
"unit": "archon",
|
||
"role": "Frank's strongest model",
|
||
"hf": "https://huggingface.co/StillDeadcode/qwen3.8-next-flash-fp8-iq4r-moe",
|
||
"tagline": "...Power Overwhelming...",
|
||
"sfx": [
|
||
"archon-power.ogg"
|
||
],
|
||
"equiv": "Equivalent to Claude Opus 4.8 / OpenAI-Terra (Summer 2026 frontier intelligence).",
|
||
"spec": "The engine author's published quant: 4-bit codebook experts + int8 trunk of the official (censored) Qwen3.8-Flash-Next (radiance, ~114 GiB) on twin AMD R9700s with more than 200 GB of system RAM — 200k-token conversations, four at a time; sees images.",
|
||
"inputs": [
|
||
"text",
|
||
"image"
|
||
],
|
||
"use": "Software engineering, system administration, and instruction tasks.",
|
||
"voice": {
|
||
"text": "...we BURN.",
|
||
"sfx": [
|
||
"archon-burn.ogg"
|
||
]
|
||
},
|
||
"supervision": "Safe for autonomous, low-supervision use.",
|
||
"permission": "Ask Frank for permission before use — this is his primary model; he uses it more than anything else on the fleet."
|
||
},
|
||
"url": "",
|
||
"docs": "/docs#models",
|
||
"probe": "192.168.0.235:7770",
|
||
"method": "http",
|
||
"wip": false,
|
||
"showLink": false
|
||
},
|
||
{
|
||
"name": "mariadb",
|
||
"category": "admin",
|
||
"section": "Infrastructure",
|
||
"description": "RomM's database (Dankserver). Not probeable from the monitor: 3306 is container-internal, and publishing a database port on the LAN is not a trade this fleet makes. RomM's own card covers the stack.",
|
||
"url": "",
|
||
"docs": "",
|
||
"probe": "192.168.0.235:3306",
|
||
"method": "tcp",
|
||
"wip": "closed",
|
||
"showLink": false,
|
||
"art": "/img/apps/mariadb.svg"
|
||
},
|
||
{
|
||
"name": "valkey",
|
||
"category": "admin",
|
||
"section": "Infrastructure",
|
||
"description": "SearXNG's cache/limiter (Dankclaw). Not probeable: 6379 is container-internal. SearXNG's own card covers the stack.",
|
||
"url": "",
|
||
"docs": "",
|
||
"probe": "127.0.0.1:6379",
|
||
"method": "tcp",
|
||
"wip": "closed",
|
||
"showLink": false,
|
||
"art": "/img/apps/mono-vk.svg"
|
||
},
|
||
{
|
||
"name": "Prowlarr",
|
||
"category": "admin",
|
||
"section": "Media Library Apps",
|
||
"description": "Indexer manager.",
|
||
"url": "http://prowlarr.franksdank.cloud",
|
||
"docs": "",
|
||
"probe": "192.168.0.112:9696",
|
||
"method": "http",
|
||
"wip": false,
|
||
"showLink": true,
|
||
"art": "/img/apps/mono-pw.svg"
|
||
},
|
||
{
|
||
"name": "Radarr",
|
||
"category": "admin",
|
||
"section": "Media Library Apps",
|
||
"description": "Movie library and automation.",
|
||
"url": "http://radarr.franksdank.cloud",
|
||
"docs": "",
|
||
"probe": "192.168.0.112:7878",
|
||
"method": "http",
|
||
"wip": false,
|
||
"showLink": true,
|
||
"art": "/img/apps/radarr.svg"
|
||
},
|
||
{
|
||
"name": "Readarr",
|
||
"category": "admin",
|
||
"section": "Media Library Apps",
|
||
"description": "Book library and automation.",
|
||
"url": "http://readarr.franksdank.cloud",
|
||
"docs": "",
|
||
"probe": "192.168.0.112:8787",
|
||
"method": "http",
|
||
"wip": false,
|
||
"showLink": true,
|
||
"art": "/img/apps/mono-ra.svg"
|
||
},
|
||
{
|
||
"name": "Lidarr",
|
||
"category": "admin",
|
||
"section": "Media Library Apps",
|
||
"description": "Music library and automation.",
|
||
"url": "http://lidarr.franksdank.cloud",
|
||
"docs": "",
|
||
"probe": "192.168.0.112:8686",
|
||
"method": "http",
|
||
"wip": false,
|
||
"showLink": true,
|
||
"art": "/img/apps/mono-ld.svg"
|
||
},
|
||
{
|
||
"name": "qBittorrent",
|
||
"category": "admin",
|
||
"section": "Media Library Apps",
|
||
"description": "Torrent client.",
|
||
"url": "http://qbittorrent.franksdank.cloud",
|
||
"docs": "",
|
||
"probe": "192.168.0.112:8080",
|
||
"method": "http",
|
||
"wip": false,
|
||
"showLink": true,
|
||
"art": "/img/apps/qbittorrent.svg"
|
||
},
|
||
{
|
||
"name": "Tautulli",
|
||
"category": "admin",
|
||
"section": "Media Library Apps",
|
||
"description": "Plex statistics and notifications.",
|
||
"url": "http://192.168.0.235:8181",
|
||
"docs": "",
|
||
"probe": "192.168.0.235:8181",
|
||
"method": "http",
|
||
"wip": false,
|
||
"showLink": true,
|
||
"art": "/img/apps/mono-tt.svg"
|
||
},
|
||
{
|
||
"name": "Audiobookshelf",
|
||
"category": "user",
|
||
"section": "Media Library Apps",
|
||
"description": "Audiobook server for the library: sign in with your Authentik account and every listener keeps their own position.",
|
||
"url": "http://audiobooks.franksdank.cloud/audiobookshelf/",
|
||
"docs": "",
|
||
"probe": "192.168.0.235:8000",
|
||
"method": "http",
|
||
"wip": false,
|
||
"showLink": true,
|
||
"art": "/img/apps/mono-ab.svg"
|
||
},
|
||
{
|
||
"name": "Postgres",
|
||
"category": "admin",
|
||
"section": "Infrastructure",
|
||
"description": "Authentik's and Gitea's databases (Dankclaw). Not probeable: 5432 is container-internal. Their apps' cards cover the stacks.",
|
||
"url": "",
|
||
"docs": "",
|
||
"probe": "127.0.0.1:5432",
|
||
"method": "tcp",
|
||
"wip": "closed",
|
||
"showLink": false,
|
||
"art": "/img/apps/postgresql.svg"
|
||
},
|
||
{
|
||
"name": "ComfyUI",
|
||
"category": "admin",
|
||
"section": "AI",
|
||
"description": "Node-based image generation.",
|
||
"url": "http://comfyui.franksdank.cloud:8188",
|
||
"docs": "",
|
||
"probe": "127.0.0.1:8188",
|
||
"method": "http",
|
||
"wip": false,
|
||
"showLink": true,
|
||
"art": "/img/apps/mono-cu.svg"
|
||
},
|
||
{
|
||
"name": "frank-tts",
|
||
"category": "admin",
|
||
"section": "AI",
|
||
"description": "The fleet's cloned-voice speech endpoint: POST /v1/audio/speech with voice=<name>, audio back in that voice. Published on 7772; the engine behind it (frank-tts-engine) is unpublished on purpose. It is also the harness speech role.",
|
||
"url": "",
|
||
"docs": "",
|
||
"probe": "127.0.0.1:7772",
|
||
"method": "http",
|
||
"wip": false,
|
||
"showLink": false,
|
||
"art": "/img/apps/mono-ft.svg"
|
||
}
|
||
]
|