@afffun/codexbot
v1.0.150
Published
Thin npm bootstrap CLI for installing and operating Codexbot nodes
Readme
Codexbot npm CLI
Linux activation uses the fixed installer-owned administrative helper with explicit sudo authorization. If the trusted bootstrap is missing or unsafe, repair it using a verified full release installer from an administrator-owned directory. Updating the npm CLI alone does not bootstrap older 1.0.145 nodes. Linux stable/canary select isolated bootstrap-v1 channels; legacy nodes need an explicit full-installer migration. Never sudo an app-owned activation script.
This package is the thin npm-distributed entrypoint for Codexbot.
It does not embed the full runtime payload, systemd units, or native sidecars. Instead it exposes explicit commands such as:
codexbot installcodexbot upgradecodexbot auth statuscodexbot auth logincodexbot supervise
install and upgrade fetch the signed release package through the existing
Codexbot update pipeline, then apply it with the official installer.
For apt hosts without systemd, install in non-systemd mode and hand the
foreground supervisor to your container runtime or external process manager:
sudo codexbot install --channel stable --no-systemd --no-start --no-browser
sudo -E codexbot superviseAfter npm install -g @afffun/codexbot@latest, postinstall only reports version
drift and the next explicit command. It never invokes an installer, prompts for
tokens or changes services. CODEXBOT_NPM_POSTINSTALL_SKIP=1 suppresses the
message. On Linux use a root-owned global npm prefix and explicit sudo codexbot
install / sudo codexbot upgrade; no service-owned downloaded shell is elevated.
The shipped bootstrap verifies the official pinned Ed25519 key and archive hash.
Custom distributions require a trusted root-owned --public-key-file; remote
executable and public-key URL overrides are rejected on Linux.
For an old home-directory node, allow a maintenance window and at least 3 GiB free capacity (more for large data/rollback retention):
sudo codexbot install --channel stable --non-interactive \
--layout-profile split \
--migrate-from-legacy /home/codexbot/codexbot-telegram --stop-servicesUse the actual old app directory for custom layouts. The old stable/canary channels remain compatible; only bootstrap-qualified nodes use the new channels.
Current install-time connector bootstrap supports:
- Telegram
- WeCom
- Weixin
- Woto (outbound authenticated WebSocket Agent channel)
Woto uses the gateway origin and instance ID issued by Woto operations. Store
the one-time machine credential in a private regular file, mode 0600, then
select Woto in the installer or use the explicit flags below. Do not pass the
credential itself on the command line. A verified full-installer transition is
still required for old installations as described above; these flags do not
waive the administrative-bootstrap/OTA compatibility gate.
sudo codexbot install --connector woto \
--woto-endpoint https://hdmaiworkspacecodexbot.83763900.com \
--woto-instance-id <operations-issued-uuid> \
--woto-credential-file /secure/private/woto-machine-credential \
--non-interactiveWoto bindings authorize the tenant/user scope separately from this machine credential. Woto conversations do not inherit Codexbot control commands, shell, host tools, operator hooks, skills or other connector credentials. See Woto connector operations for recovery, rotation, limits and the supported conversation-only tool policy.
For Weixin, the install flow prints a raw QR login URL after install so the operator can copy it into WeChat File Transfer Assistant and open it inside WeChat to complete personal-WeChat binding.
The install wizard also supports both OPENAI_API_KEY and optional
OPENAI_BASE_URL, so operators can point Codexbot at an OpenAI-compatible
proxy endpoint instead of only api.openai.com. Plain host/root URLs are
normalized to /v1, while explicit provider paths such as
https://ark.cn-beijing.volces.com/api/v3 are preserved.
Volcengine Ark can be configured with the provider preset:
sudo codexbot install \
--openai-api-key '<ark-api-key>' \
--ark-model '<endpoint-or-model-id>'The Ark preset uses https://ark.cn-beijing.volces.com/api/v3 by default,
seeds CODEX_MODEL_DEFAULT, sets CODEXBOT_OPENAI_WIRE_API=chat_completions,
allows unknown model IDs, and defaults reasoning to minimal. Use
--ark-base-url for another Ark region/base URL. If your Ark endpoint supports
Responses and you want Codex CLI's Responses path, set
--openai-wire-api responses.
On an existing install, Codexbot will not change the default model silently.
Run codexbot install --ark-model <endpoint-or-model-id> or choose
change model only in the interactive review flow to update
CODEX_MODEL_DEFAULT while preserving the current API key and base URL.
Ark has multiple paths under /api/v3:
- regular model/Endpoint Chat API:
/chat/completions - Bot/App Chat API:
/bots/chat/completions - Responses API:
/responses
For Bot/App IDs, either pass --ark-base-url https://ark.cn-beijing.volces.com/api/v3/bots
or pass --openai-chat-path bots/chat/completions. For Responses-capable
models such as doubao-*, pass --openai-wire-api responses and use the
Ark Model ID/Endpoint ID accepted by the Responses API.
