Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Janus

A local browser GUI for your LLM API keys — test them, chat with their models, and export a ready-to-use opencode config. One Perl file. Keys never leave your machine.

Screenshots

Janus — provider setup Janus — chat

How it works

  1. janus.pl starts a tiny server on 127.0.0.1:4444 (next free port if busy) and opens the GUI in your browser.
  2. All test/fetch/chat traffic goes through that server — no browser CORS errors. Keys live only in your browser's localStorage.
  3. A key can be {env:MY_KEY} instead of the literal key — the server reads it from your machine's environment when the request is made.
  4. Close the tab → server stops by itself. Ctrl+C also stops it.

The server binds to localhost only and rejects requests from any other host or origin, so other sites on your network can't reach it.

Run it

Linux — double-click (easiest)

  1. Right-click janus.plPropertiesPermissions.
  2. Enable Allow executing file as program. (Same thing in terminal: chmod +x janus.pl)
  3. Double-click janus.pl — the GUI opens in your browser.

Missing-module error? Install them once:

# Debian/Ubuntu
sudo apt install libwww-perl liblwp-protocol-https-perl
# Fedora
sudo dnf install perl-libwww-perl perl-LWP-Protocol-https

Windows

  1. Install Strawberry Perl — it already includes every module Janus needs.
  2. Right-click janus.plExecute Perl Program. (That's the entry Strawberry's installer puts in the right-click menu.)
  3. If you don't see that entry — the .pl association is broken; run it from a terminal instead: perl janus.pl.

Any terminal also works on both: perl janus.pl (add a port number to override: perl janus.pl 8080).

Use it

  • + adds a provider: Base URL (usually ends in /v1) + key or {env:MY_KEY}.
  • Test / Fetch models verifies the key and pulls its models; a wrong URL ending is auto-fixed (e.g. missing /v1).
  • Test all checks every key — and can be stopped mid-run.
  • Chat to any model; Config tab copies/exports opencode.jsonc or a Hermes config.

Put the exported file at ~/.config/opencode/opencode.jsonc — that's it.

License

MIT — see LICENSE.

About

Janus — a single-file Perl app that gives opencode a local browser GUI: manage API providers, test keys, fetch models, chat, and export a ready opencode.jsonc. No CORS errors, keys stay on your machine, quits when you close the tab.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages