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, this computer's connection

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, and your computers with whether each is online. Exits 1 when not logged in.
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 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.2

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.2
File Size Uploaded Provenance
knowop-0.1.2.tar.gz 691.3 kB With provenance Details

Built distribution (wheel)

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

Total release size: 962.7 kB

Release files / knowop-0.1.2.tar.gz

Download URL knowop-0.1.2.tar.gz
Size 691.3 kB
Tags Source
SHA-256 checksum
How to use checksums
b13bcd2bae4670ec92320f6bb155df393795a35d36c3ef1cd4d95602507de7e5
BLAKE2b-256 checksum
How to use checksums
2c08139002ca72d6f46a3f02f277e9b5578615a69fbf28145c5a31fb8e21f082
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 23, 2026.

Transparency log

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

Download URL knowop-0.1.2-py3-none-any.whl
Size 271.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9fcbc7bf999e79d80aebfe1592333aabca2cb569b22f7e2b4ea73397e8abb212
BLAKE2b-256 checksum
How to use checksums
321a3fd59e368e826b4c7084a1aeef6d0e48541112f5e465b645fa25f8f3145d
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 23, 2026.

Transparency log

Security for knowop 0.1.2

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.2.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 23, 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