Repository navigation
This version adds Claude Code and Codex as AI harnesses. The operator
selects one AI harness for each host.
Shared stack
- A stack source can have
models.jsonas its model catalog, and
AGENTS.mdandskills/at its root. Then the stack source does not
depend on one AI harness. onbehalf writes the gateway providers of
OpenCode frommodels.json. A stack source with
opencode/opencode.jsonand nomodels.jsonworks as before.
Model gateway
onbehalf init --harness NAMEselects the AI harness of the host. The
value is inonbehalf.conf. A host without the value uses OpenCode.init,doctorandhealthcheck that the gateway serves the API of
the AI harness. The check sends no model request.doctor --model-check,status --model-checkand the health probe
send their request with the API of the AI harness.sudo onbehalf harness NAMEchanges the AI harness of a host. It
checks the command, the shared stack and the gateway first. Then it
updates the routes of each gateway key and stops the runtimes of the
old AI harness. It removes the links of the old AI harness and gives
each user the links of the new AI harness. Each user keeps the gateway
key, the personal settings and the private state.
Claude Code
onbehalf init --harness claudeselects Claude Code. The stack source
must havemodels.json.stack installwrites the managed settings of Claude Code from
models.json: the gateway, the personal gateway key, the model catalog
and the default model./etc/claude-code/managed-settings.jsonis a
link to the current release. Team settings go in
claude/managed-settings.jsonof the stack source.- Each user gets links in
~/.claude:CLAUDE.mdto the shared
AGENTS.md, and each shared skill, custom agent and command. - A user can set a different default model in
~/.claude/settings.json. doctorandstatuswarn about~/.claude/.credentials.json.- Claude Code has no service.
onbehalf restarttells the user to start
a new session.
Codex
onbehalf init --harness codexselects Codex. The stack source must
havemodels.json.stack installwrites the system configuration of Codex from
models.json: the gateway provider, the personal gateway key and the
default model./etc/codex/config.tomlis a link to the current
release. Team settings go incodex/config.tomlof the stack source.- Each user gets links in
~/.codex:AGENTS.mdto the shared
AGENTS.md, and each shared skill. - A user can set a different default model in
~/.codex/config.toml. doctorandstatuswarn about~/.codex/auth.json.- Codex has no service.
onbehalf restarttells the user to start a new
session. - The gateway key of a user on a Codex host permits only the responses
API.
Docs
- The guides give the setup and the use of each AI harness. The operator
guide has a section about a change of the AI harness. examples/stackis now a stack source withmodels.json. It works for
each AI harness. In OpenCode, its provider of the OpenAI API has the
nameonbehalf, notonbehalf-openai. A stack source that you copied
from version 0.1.0 does not change.- Recorded casts show the operator setup, the first login of a user and
the report. The README, the site and the guides show them.make demo
records them again from a clean test host. Seedemo/README.md.
Upgrade
Get the files of this version and run the installer again. A host keeps
OpenCode as its AI harness, and its stack source keeps its function. Then
run sudo onbehalf doctor. To use Claude Code or Codex, see the
operator guide.