npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@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 install
  • codexbot upgrade
  • codexbot auth status
  • codexbot auth login
  • codexbot 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 supervise

After 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-services

Use 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-interactive

Woto 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.