Repository navigation
Releases: Neverdecel/onbehalf
Releases · Neverdecel/onbehalf
Release list
onbehalf 0.2.0
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.
onbehalf 0.1.0
This is the first version. It is for a proof of concept on one shared
host with Ubuntu or Arch.
Users and operators
onbehalf user addandonbehalf user removeenroll and offboard a
user: account, gateway key, shared stack and runtime.onbehalf user synckeeps the users the same as the members of an
Entra group.- A user can enroll at their first SSH login.
- Operators are separate from users. The runtime of an operator runs in a
separate runtime account. onbehalf restartstarts the runtime of a user again.
Shared stack and work tools
onbehalf stack installmakes a reviewed shared stack current for each
user. It starts the runtimes again.- The model catalog permits only the providers of the model gateway.
onbehalf toolsguides a user through the login of each work tool and
each MCP connection. Operators can add work tools in the shared stack.
Checks
onbehalf setupguides the first setup of the host and checks the
access to the model gateway.onbehalf doctorchecks the host and each user, and gives the fix for
each problem.onbehalf statusshows a user their setup, their logins and their
model use. It also shows at each login.onbehalf reportshows who uses the runtimes, how much, and which
requests fail.onbehalf healthsends an alert when a problem starts or stops.
Security
- Each user has a personal gateway key. A user cannot read the files,
logins or sessions of a different user. The tests prove this. - Account names use only lowercase ASCII letters, digits and the signs
.,_,@and-. A fuzzer checks the name rules.
Upgrade
There is no earlier version. To install, follow the
operator guide.