Skip to main content

knowop🔌

PyPI version CI Python 3.12+ License: Apache-2.0 Discord

One command to log in to KnowOp, connect your computer, and run your agents and GPU jobs where Chat can reach them.

Quick Start

# Mac:
#   # Required for quick install.
#   brew install uv

# Ubuntu/Debian:
#   # Required for quick install.
#   sudo apt-get install -y curl
#   curl -LsSf https://astral.sh/uv/install.sh | sh

uvx knowop connect

uvx knowop connect runs knowop without installing it. To keep the command for every day, install it:

uv tool install knowop
# Alternatively: python -m pip install knowop

Use

knowop connect          # this computer: log in, enroll, serve its terminal and commands
knowop run claude       # Claude Code in this folder, recorded, reachable from Chat
knowop run codex        # the same for Codex
knowop job submit -- python train.py   # a job on a GPU node, from this repository
knowop job submit --machine lab-box -- python train.py   # on your computer lab-box
knowop status           # server, account, your machines and the runs live on each
knowop disconnect       # stop this computer's runs, then disconnect it on the server

A run reaches Chat with your account's key, not through knowop connect: it keeps running after Ctrl-C ends the connect, which then names the runs it leaves. The web app shows a machine connected while one of its runs is live. knowop run stop --all stops the runs on this computer; knowop disconnect also revokes its connect and stops every run of yours that names it, wherever it runs.

A job can also run on a computer of your own: start it with knowop connect --jobs there, push your branch, and knowop job submit --machine NAME -- CMD from the repository. That computer fetches the pushed commit into a fresh worktree and runs CMD under a memory cap (a systemd-run --user scope), only for your account; its log and results come back through the server, which keeps none of them.

A job runs with the full authority of the Unix user running knowop connect --jobs, including access to that user's files, credentials and inherited environment. The worktree and memory cap do not restrict that authority. GPU selection through CUDA_VISIBLE_DEVICES is cooperative: submitted code can change it. Run untrusted code under a separate Unix identity or external isolation that enforces the access restrictions you need.

knowop connect prints a code; approve it in your browser, on any device. That one approval logs you in, enrolls this computer and confirms it. Until you press Ctrl-C, the computer's terminal opens in the web app, and it runs the commands the server's assistant sends; --no-exec serves the terminal only. knowop connect acme does the same on https://acme.knowop.ai. A computer with no browser, such as a box, pipes an enrollment token to knowop connect instead, and joins with no login.

Plain knowop login logs in to https://alpha.knowop.ai; knowop login acme to https://acme.knowop.ai, and knowop login URL to any server. Use it on a computer you will not connect, where only your agents work. A later knowop connect there enrolls the computer with that login's key, and it waits until you confirm it in the web app. A first knowop run logs in too.

Commands

Command Does
knowop login [ORG|URL] Logs in with a code approved in a browser and saves the key.
knowop connect [ORG|URL] [--name N] [--no-exec] [--sandbox] [--jobs [--job-results-max SIZE]] Logs in first unless knowop is logged in to that server or a token is piped in, enrolling and confirming this computer in the same approval; then serves its terminal, and the assistant's commands unless --no-exec, until Ctrl-C. No server means knowop's own, else https://alpha.knowop.ai. --sandbox declares a disposable computer where agents act without asking. --jobs also runs your account's knowop job submit --machine jobs, each under a memory cap; it needs systemd's user manager.
knowop status Prints knowop's profile, the server, your account and role, your computers with whether each is online and the runs live on each, and the runs here that name no machine of yours. Exits 1 when not logged in.
knowop disconnect [NAME] Stops this computer's runs when NAME is this computer (the default), then disconnects NAME on the server: its connect is revoked and every run of yours that names it stops. knowop connect joins it again with no login.
knowop logout Revokes the key on the server and deletes the saved login.
knowop run claude|codex [ARGS] Runs Claude Code or Codex in this folder, recorded and reachable from Chat. Says to run knowop connect when this computer is not connected.
knowop run attach|ls|log|send|stop NAME Reaches a run started with --detach. knowop run stop --all stops every one on this computer.
knowop run claude|codex resume SESSION Re-enters a stored session.
knowop job submit|logs|results ... Runs a job on a GPU node from this repository, or with --machine NAME on a computer of yours, and reads its log and results.
knowop job status [JOB]|cancel JOB|secrets|secret NAME set|del Lists your jobs or shows one, stops one, and keeps the secrets a job may use.
knowop machine [NAME ...] Lists, shows, sets, labels and deletes the machines campaigns may run on.
knowop --version Prints the version; unknown from a checkout.

Every command takes --help; knowop run claude --help and knowop job submit --help show the runner's own.

knowop keeps one login and uses it for every command. It saves the key as a trax profile, and trax's own current profile stays as it was: knowop never acts on a server it did not log in to.

Every install includes aiortc for a direct link between the browser and this computer. Terminals use the server relay when a direct link is unavailable.

Layout

Package Holds
cli.py The knowop command.
shell/ The machine host knowop connect runs: terminals, the assistant's commands, and with --jobs your jobs (job_host.py).
agent/ The agent runner knowop run hands to. Its __main__.py and codex.py run it by module, on trax's connection, for unattended plumbing.
jobs/ The job runner knowop job hands to.
machines.py The machine registry knowop machine reads and writes.
skills/ Each package's instructions for agents.

knowop calls the server through trackinizer's Client, as trax does, and never runs trax. trax machine and trax job say they moved out of trax.

Development

uv sync --all-groups
uv run pytest

See also

Sibling projects in the rekursiv-ai family:

  • trackinizer — Centralized agent database for tracking inquiries, work, and the evidence behind conclusions; knowop's trax and its client come from it.
  • sagent — The self-mutating multi-provider coding-agent CLI and typed Python library.
  • wesearch — Web search, resilient page fetch, and scholarly-paper lookup without a browser stack.

Metadata

Release files for knowop 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for knowop 0.1.3
File Size Uploaded Provenance
knowop-0.1.3.tar.gz 697.4 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for knowop 0.1.3
File Interpreter ABI Platform
knowop-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 971.0 kB

Release files / knowop-0.1.3.tar.gz

Download URL knowop-0.1.3.tar.gz
Size 697.4 kB
Tags Source
SHA-256 checksum
How to use checksums
e33196e72da078447661d00e3c9ee48a9854dd8dcc423e00f32c1291173ec931
BLAKE2b-256 checksum
How to use checksums
296fa5c1bc395e5c00e7d2e137eb0689ea39cf735de620b1263019b5c1430142
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.

Transparency log

Release files / knowop-0.1.3-py3-none-any.whl

Download URL knowop-0.1.3-py3-none-any.whl
Size 273.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
afa0090b4bdf8d5f5aa52088fba75655040da31a1dfe9f4974095bd65c12cf56
BLAKE2b-256 checksum
How to use checksums
cd592880c43ae64488093ec709bcfbee138e0730f6f2ebe0ae6ffd61bce689ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.

Transparency log

Security for knowop 0.1.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for knowop-0.1.3.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page