Skip to content

Local-first AI: any local model server, cloud provider opt-in - #11

Merged
Sym-jay merged 1 commit into
mainfrom
local-first
Oct 5, 2026
Merged

Sym-jay merged 1 commit into
mainfrom
local-first

Conversation

@Sym-jay

@Sym-jay Sym-jay commented Oct 5, 2026

Copy link
Copy Markdown
Owner

Clishe's AI now stays on your machine unless you deliberately choose otherwise.

What changes

  • Any local model server. A new local provider talks to anything with an OpenAI-style API: llama.cpp's llama-server, LM Studio, Jan, LocalAI, vLLM. With no config, it looks on the usual ports (8080, 1234, 1337, 8000) and uses the first model the server lists.
  • Anthropic is opt-in. It does nothing until "anthropic": {"enabled": true}. An ANTHROPIC_API_KEY set for some other tool no longer makes Clishe use the cloud. Older configs with a key typed into the config file are treated as opted in, so nobody's setup breaks.
  • No accidental internet. If ollama or local points at a host outside this computer or the local network, Clishe refuses before sending anything, and explains how to allow it ("allow_remote_ai": true). LAN addresses (a home server) and .local names are allowed.
  • Same safety prompt for every model. Ollama used to get a shorter prompt without the "decline destructive or unclear requests" rule. Now all providers share one prompt.
  • Derivative distros. The model is told the distro's base (ID_LIKE) and its package manager, so Mint and Pop!_OS get apt.
  • Old configs pick up local automatically. It's inserted after ollama.

Checked

  • 26 new tests. All 455 pytest tests pass locally.
  • End to end against a fake OpenAI-style server on port 1234: --action resolve found it, used its model, and returned the command, while a fake ANTHROPIC_API_KEY in the environment was ignored.
  • A public Ollama host was refused with the message, and no request was sent.

README, SECURITY.md, CONTRIBUTING.md and the CHANGELOG are updated.

🤖 Generated with Claude Code

- New "local" provider for OpenAI-style servers (llama.cpp, LM Studio,
  Jan, LocalAI, vLLM). Finds a running server on the usual ports and
  uses its first model.
- Anthropic is off until "enabled": true. An API key in the environment
  alone no longer turns it on; keys typed into older configs still do.
- Model servers outside this machine and the local network are refused
  unless "allow_remote_ai" is set, before any request is sent.
- All providers share one prompt with the safety rules (Ollama's lacked
  them), and get the distro family so derivatives get the right
  package manager.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Sym-jay
Sym-jay merged commit d0ab586 into main Oct 5, 2026
3 checks passed
@Sym-jay
Sym-jay deleted the local-first branch October 5, 2026 05:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants