Skip to content

TEDI v0.4.0

Choose a tag to compare

@github-actions github-actions released this 31 Jul 08:53

Added

  • AgentRouter is a provider you pick, instead of an address you guess at. Adding it as an OpenAI-compatible endpoint could never work, and the address was never the reason it failed. AgentRouter resells access to Claude Code and Codex, and it checks which program is asking: a request that does not announce itself as one of those is turned away with the same "unauthorised" answer an expired key gives, so the obvious conclusion is that the key is wrong. It is not. Changing nothing but that announcement is enough to prove it, with one key listing the entire catalogue under one name and being refused under another. A hand-configured endpoint cannot get past that check, because the browser engine TEDI's interface runs in does not allow a page to set that field at all, and drops it in silence rather than reporting it, so the request leaves unidentified no matter what is typed into Settings. AgentRouter is therefore sent through TEDI's own network layer rather than the browser's, which is the only path where the field survives. Pick it in Settings -> Models -> Add provider, paste the key, and its catalogue is detected the way SumoPod's already is. Detection deliberately makes the very same request a real message does, so a catalogue that loads is evidence that chat will work rather than merely evidence that the host is reachable. See agentrouter.ts, httpProxy.ts, config.ts, agentrouter-verify.ts.

macOS users: if Gatekeeper says TEDI "can't be opened because Apple cannot check it for malicious software" or "is damaged and can't be opened", drag the app to /Applications and run this once in Terminal:

xattr -cr /Applications/TEDI.app