Frank
0d41c3d61d
live: heartbeat sync 2026-10-28T22:56:49-07:00 (Refs #11 )
2026-10-28 22:56:49 -07:00
Frank
ea2cfad847
live: heartbeat sync 2026-10-28T21:53:49-07:00 (Refs #11 )
2026-10-28 21:53:49 -07:00
Frank
6f0aa7d72e
live: heartbeat sync 2026-10-28T20:51:49-07:00 (Refs #11 )
2026-10-28 20:51:49 -07:00
Frank
7d394e74b4
live: heartbeat sync 2026-10-28T19:48:49-07:00 (Refs #11 )
2026-10-28 19:48:49 -07:00
Frank
10cd18ec57
live: heartbeat sync 2026-10-28T18:46:49-07:00 (Refs #11 )
2026-10-28 18:46:49 -07:00
Frank
e4721a6713
live: heartbeat sync 2026-10-28T17:45:49-07:00 (Refs #11 )
2026-10-28 17:45:49 -07:00
Frank
4648ba7f3f
live: heartbeat sync 2026-10-28T16:42:49-07:00 (Refs #11 )
2026-10-28 16:42:49 -07:00
Frank
2d71c603cb
live: heartbeat sync 2026-10-28T15:42:39-07:00 (Refs #11 )
2026-10-28 15:42:39 -07:00
Frank
388058d134
live: heartbeat sync 2026-10-28T14:40:49-07:00 (Refs #11 )
2026-10-28 14:40:49 -07:00
Frank
979382e5cc
live: heartbeat sync 2026-10-28T13:39:49-07:00 (Refs #11 )
2026-10-28 13:39:49 -07:00
Frank
47d4e0e8f9
live: heartbeat sync 2026-10-28T12:38:49-07:00 (Refs #11 )
2026-10-28 12:38:49 -07:00
Frank
a071d71e99
live: heartbeat sync 2026-10-28T11:37:39-07:00 (Refs #11 )
2026-10-28 11:37:39 -07:00
Frank
38236f35f7
live: heartbeat sync 2026-10-28T10:34:49-07:00 (Refs #11 )
2026-10-28 10:34:49 -07:00
Frank
d73deb61e2
live: heartbeat sync 2026-10-28T09:33:49-07:00 (Refs #11 )
2026-10-28 09:33:49 -07:00
Frank
68d6889100
live: heartbeat sync 2026-10-28T08:31:49-07:00 (Refs #11 )
2026-10-28 08:31:49 -07:00
Frank
5a3f1a77ac
live: heartbeat sync 2026-10-28T07:29:49-07:00 (Refs #11 )
2026-10-28 07:29:49 -07:00
Frank
0b27a68c33
live: heartbeat sync 2026-10-28T06:26:49-07:00 (Refs #11 )
2026-10-28 06:26:49 -07:00
Frank
0b72e9a427
live: heartbeat sync 2026-10-28T05:23:49-07:00 (Refs #11 )
2026-10-28 05:23:49 -07:00
Frank
b04a634ec2
live: heartbeat sync 2026-10-28T04:21:49-07:00 (Refs #11 )
2026-10-28 04:21:49 -07:00
Frank
240324a18c
live: heartbeat sync 2026-10-28T03:18:49-07:00 (Refs #11 )
2026-10-28 03:18:49 -07:00
Frank
9d172eff9c
live: heartbeat sync 2026-10-28T02:15:49-07:00 (Refs #11 )
2026-10-28 02:15:49 -07:00
Frank
ddebfb63bb
live: heartbeat sync 2026-10-28T01:13:49-07:00 (Refs #11 )
2026-10-28 01:13:49 -07:00
Frank
b7fd64b241
live: heartbeat sync 2026-10-28T00:11:49-07:00 (Refs #11 )
2026-10-28 00:11:49 -07:00
Frank
414b4cd578
live: heartbeat sync 2026-10-27T23:08:49-07:00 (Refs #11 )
2026-10-27 23:08:49 -07:00
Frank
b289aa59d4
live: heartbeat sync 2026-10-27T22:05:49-07:00 (Refs #11 )
2026-10-27 22:05:49 -07:00
Frank
175bbdf451
live: heartbeat sync 2026-10-27T21:02:39-07:00 (Refs #11 )
2026-10-27 21:02:39 -07:00
Frank
531ead5775
live: heartbeat sync 2026-10-27T20:01:49-07:00 (Refs #11 )
2026-10-27 20:01:49 -07:00
Frank
9df5c50fda
live: heartbeat sync 2026-10-27T18:58:49-07:00 (Refs #11 )
2026-10-27 18:58:49 -07:00
Frank
cd3fe7fd03
live: heartbeat sync 2026-10-27T17:57:53-07:00 (Refs #11 )
2026-10-27 17:57:53 -07:00
Frank
218357cb66
live: heartbeat sync 2026-10-27T16:55:49-07:00 (Refs #11 )
2026-10-27 16:55:49 -07:00
Frank
31d6924a27
live: heartbeat sync 2026-10-27T15:54:49-07:00 (Refs #11 )
2026-10-27 15:54:49 -07:00
Frank
feda9fe668
live: heartbeat sync 2026-10-27T14:52:38-07:00 (Refs #11 )
2026-10-27 14:52:38 -07:00
Frank
0e2cf13e3b
live: heartbeat sync 2026-10-22T11:24:45-07:00 (Refs #11 )
2026-10-22 11:24:45 -07:00
Frank
1d1059f7b3
live: heartbeat sync 2026-10-22T11:02:06-07:00 (Refs #11 )
2026-10-22 11:02:06 -07:00
Frank
b7089ef570
live: heartbeat sync 2026-10-22T10:01:40-07:00 (Refs #11 )
2026-10-22 10:01:40 -07:00
Frank
dc4de763f3
live: heartbeat sync 2026-10-22T09:01:07-07:00 (Refs #11 )
2026-10-22 09:01:07 -07:00
Frank
9d284106ac
live: heartbeat sync 2026-10-22T07:59:45-07:00 (Refs #11 )
2026-10-22 07:59:45 -07:00
Frank
ac2c5c519a
live: heartbeat sync 2026-10-22T06:58:47-07:00 (Refs #11 )
2026-10-22 06:58:47 -07:00
Frank
f1402ca89c
live: heartbeat sync 2026-10-22T05:56:18-07:00 (Refs #11 )
2026-10-22 05:56:18 -07:00
Frank
4d515f7e81
live: heartbeat sync 2026-10-22T04:54:18-07:00 (Refs #11 )
2026-10-22 04:54:18 -07:00
Frank
f7281eee42
live: heartbeat sync 2026-10-22T03:51:42-07:00 (Refs #11 )
2026-10-22 03:51:42 -07:00
Frank
ecb81dd8b8
live: heartbeat sync 2026-10-22T02:50:34-07:00 (Refs #11 )
2026-10-22 02:50:34 -07:00
Frank
1b1a296ec5
live: heartbeat sync 2026-10-22T01:47:38-07:00 (Refs #11 )
2026-10-22 01:47:38 -07:00
Frank
9a3d364832
live: heartbeat sync 2026-10-22T00:46:57-07:00 (Refs #11 )
2026-10-22 00:46:57 -07:00
Frank
e529dc5386
live: heartbeat sync 2026-10-21T23:44:55-07:00 (Refs #11 )
2026-10-21 23:44:55 -07:00
Frank
9faf7e0652
live: heartbeat sync 2026-10-21T22:44:37-07:00 (Refs #11 )
2026-10-21 22:44:37 -07:00
Frank
017404aa51
live: heartbeat sync 2026-10-21T17:49:41-07:00 (Refs #11 )
2026-10-21 17:49:41 -07:00
Frank
f3360a28f1
feat(models): reach the fleet from off-network through the OpenWebUI door
...
Every provider in agent/models.yml is a LAN address, so a workstation that
leaves the house has no model at all. Add `openwebui (franksdank.cloud)`:
the already-public OpenWebUI vhost as an OpenAI-compatible provider that
proxies the same engines, with frank-dragoon and frank-zealot rows and the
WAN row as its own compaction target. LAN rows, modelRoles and the speech
runner stay untouched — the door is purely additive.
The key is command-backed (`apiKey: "!cat ~/.config/secrets/openwebui_api_key"`,
mode 600) instead of inline: a literal sk-... in a tracked file is a key in
every agent context on every box that pulls this repo, and the pre-commit
shape gate would block it anyway. Rotate = rewrite the file + restart omp,
because a `!cmd` value is cached for the process lifetime.
Compat blocks copy their LAN twins because the proxy was probed, not assumed
(2026-10-21): streaming SSE carries reasoning_content and tool_calls deltas
plus final usage, image_url content parts reach both vision towers, and
chat_template_kwargs is forwarded — proven on frank-zealot, where
enable_thinking false yields zero reasoning and true a real block.
frank-archon gets no WAN row: OpenWebUI answers 400 "Model not found"
because its picker never published it, so that path is a fleet change.
Verified end-to-end from a scratch HOME whose LAN baseUrls point at a dead
port, so any answer can only have come through the door (text and a real
tool round-trip); `omp models` still lists all four chat providers and the
tts runner, so the file validates. bats 137/137, kb-lint clean.
Docs: omp-docs/core/wan-model-access.md.
2026-10-21 16:48:29 -07:00
Frank
ec9bf77b10
live: heartbeat sync 2026-10-21T11:49:23-07:00 (Refs #11 )
2026-10-21 11:49:23 -07:00
Frank
6a12ffaef4
live: heartbeat sync 2026-10-21T10:47:56-07:00 (Refs #11 )
2026-10-21 10:47:56 -07:00