A terminal-first Livepeer client with a deterministic CLI and a native agent.
Livepeer identity, access, and email verification are owned by https://agent.livepeer.org/api/mcp. The CLI supplies one Daydream API key and does not implement a separate product-auth or entitlement service.
Requires Node.js 22.19 or newer. Install the latest public release without a GitHub account:
curl -fsSL https://raw.githubusercontent.com/peacenode/livepeer-agent-releases/main/install.sh | shThe installer verifies the release checksum, installs into ~/.local/share/livepeer-agent, and links both commands into ~/.local/bin. If that directory is not already on PATH, add it in your shell profile.
Starting with 0.1.1, check for an update or install the latest release from the terminal:
livepeer update --check
livepeer updateUsers on 0.1.0 can update by rerunning the one-line installer once; subsequent releases support livepeer update directly.
Source development happens in this repository. Stable release artifacts, the installer, and third-party notices are mirrored to peacenode/livepeer-agent-releases. SHA-256 verification detects a corrupt or mismatched download; because the checksum is hosted beside the archive, it does not independently protect against compromise of the distribution repository or its maintainers.
Pin a release or choose different user-owned directories with environment variables:
LIVEPEER_AGENT_VERSION=v0.1.0 \
LIVEPEER_AGENT_INSTALL_ROOT="$HOME/.livepeer-agent" \
LIVEPEER_AGENT_BIN_DIR="$HOME/bin" \
sh install.shSource releases are built without npm by pushing a v* tag or running the Release workflow with a version such as v0.1.0. The workflow runs the full quality gate before uploading livepeer-agent.tgz and its SHA-256 checksum. A maintainer can then mirror those exact verified files to the stable distribution repository with ./scripts/promote-release.sh v0.1.0.
Requires Node.js 22.19 or newer and pnpm 10.
pnpm install
pnpm lint
pnpm typecheck
pnpm test
pnpm build
pnpm package:validateNo real service is contacted by the test suite.
Local environment overrides belong in the ignored .env.local, never in .env.example. The CLI does not load it automatically; source it only for the command that needs the values:
set -a
. ./.env.local
set +a
livepeer agentPrefer livepeer key add for a Daydream key because it uses the platform credential store instead of a plaintext project file.
Build and validate a standalone installable package:
pnpm build
pnpm package:validateThe validator packs the CLI, installs it into a temporary global prefix, and invokes both livepeer --help and livepeer-agent --help.
Store a Daydream key through the hidden prompt:
livepeer key add
livepeer key statusFor temporary local testing, provide the key through the process environment. Avoid writing the value directly in an export DAYDREAM_API_KEY=... command because shells commonly retain that command in history:
read -s DAYDREAM_API_KEY
export DAYDREAM_API_KEY
livepeer agent
unset DAYDREAM_API_KEYThe key is sent only to the pinned Livepeer MCP endpoint. A stored key takes precedence over DAYDREAM_API_KEY; the CLI fails closed rather than forwarding either key when LIVEPEER_MCP_URL overrides that endpoint. The CLI does not automatically load .env files.
Email verification belongs to the MCP profile for the current key. In the agent, ask to verify your email; it will call me_update, request_activation, and then activate after you provide the one-time code. Verifying an unrelated website account or a different API key does not activate the current key.
Livepeer Agent supports two explicit MCP-owned paths:
- Keyless preview: run
livepeer, then sayverify my email. MCP attaches the email flow to the current keyless profile and unlocks only the preview allowance. - Daydream models: run
livepeer key add, restart any already-open agent, then runlivepeer access status. A successful status reportscredentialApplied: trueandkeyClass: "daydream". In the agent, sayverify my emailif MCP requires an email profile for a gated action.
livepeer access status reports only safe booleans and state labels; it never prints the API key, email address, or principal ID. Adding and verifying a keyless profile does not unlock Daydream models, and adding a Daydream key does not transfer a profile previously verified under another MCP principal.
Common commands:
livepeer tools list
livepeer key add
livepeer key status
livepeer access status
livepeer capabilities list --kind ai --limit 10
livepeer tools call <name> --input request.json --yes
livepeer media generate --prompt "A quiet field at sunrise" --yes
livepeer jobs wait <job-id> --interval 2 --timeout 600
livepeer provider add openai
livepeer provider login openai-codex
livepeer browser install
livepeer agentThe agent uses native, stateful browser tools rather than shelling out to curl or scraping raw HTML. The tools are backed by a pinned Playwright CLI companion and operate on accessibility snapshots with element refs. Install the companion and managed Chromium build once:
livepeer browser status
livepeer browser installThe standalone CLI stays small and never downloads Chromium during ordinary package installation. Managed browser files live below the Livepeer config directory. Read-only navigation is automatic; interactions that may submit data or change a website require terminal approval. Use a headed browser for login, SSO, or 2FA and enter credentials directly into the browser window.
Model-provider keys are stored in macOS Keychain as separate OpenAI and Anthropic entries. On systems without supported credential storage, the CLI warns before using provider-specific permission-0600 files. Existing providers.json keys are migrated individually and removed from the legacy file after a successful secure write.
livepeer provider login openai-codex uses Pi's built-in ChatGPT/Codex OAuth flow. The OAuth credential and refresh state remain on the user's computer in Keychain and never enter Livepeer access, transcripts, or model context. Direct OpenAI API-key access remains available through livepeer provider add openai.
See CONTRIBUTING.md for development and verification requirements. Report security vulnerabilities privately using the instructions in SECURITY.md; do not open a public issue for a suspected vulnerability or exposed credential.
Livepeer Agent is licensed under the Apache License 2.0. The owned Pi coding-agent fork retains its upstream MIT license; bundled dependency attribution is recorded in THIRD_PARTY_NOTICES.md.