OpsControls
OpsControls is a local-first dashboard and control plane for Codex-powered AI employees.
It uses the deployed OPC evidence page as the UI template, then replaces static data with live local state from:
- real employee files under
.opc/employees; - real Codex CLI discovery and task execution;
- local task, prompt, inbox, graph, loop, and event records;
- a localhost HTTP/SSE backend.
Run Locally
pip install -e .
opc dashboard
The dashboard opens at http://127.0.0.1:8765.
If port 8765 is already in use, OpsControls automatically selects the next available port and prints the URL.
If another installed tool shadows the opc executable in your shell, use:
opc-dashboard dashboard
On this machine, /Users/curtisqiu/.nvm/versions/node/v22.22.0/bin/opc currently appears before the Python opc script. To make opc dashboard resolve to OpsControls, move /Library/Frameworks/Python.framework/Versions/3.13/bin earlier in PATH or remove/rename the older Node opc command.
Offline Editable Install
If you are installing without internet access and already have setuptools available:
python3 -m pip install -e . --no-deps --no-build-isolation
PyPI Build
This project is packaged as:
- package name:
opscontrols - version:
0.1.2 - primary command:
opc dashboard
Build locally:
python3 -m pip install build twine
python3 -m build
python3 -m twine check dist/*
Upload manually:
python3 -m twine upload dist/*
Use a PyPI API token when prompted. Do not commit the token.
Multiple Codex Accounts
OpsControls can switch between separate local Codex profiles. Each profile uses its own CODEX_HOME, so you can log into different ChatGPT/Codex accounts and choose which one OpsControls uses for future tasks.
Create a profile:
opc codex-account add "Backup Codex"
Log into that profile using the printed command, for example:
CODEX_HOME="/path/to/.opc/codex-accounts/backup-codex" codex login --device-auth
Switch active profile:
opc codex-account switch backup-codex
You can also switch profiles from OpsControls Settings -> Codex Accounts.
Release files for opscontrols 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| opscontrols-0.1.2.tar.gz | 27.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| opscontrols-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 59.5 kB
Release files / opscontrols-0.1.2.tar.gz
| Download URL | opscontrols-0.1.2.tar.gz |
|---|---|
| Size | 27.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4e89be8b34e867133633f7e80b4e4f948bd513c4738b2c5c0ffdd7b5ea3cf67c
|
|
BLAKE2b-256 checksum How to use checksums |
eb377952c435351cd839e0cc6a28719dc05b7889a98bc154c2fada0b1c0296c5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.2
|
Release files / opscontrols-0.1.2-py3-none-any.whl
| Download URL | opscontrols-0.1.2-py3-none-any.whl |
|---|---|
| Size | 32.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
22244a9c10b07ec9e95578d875a75ac0fa2dcc94b4ca164f63d26d15beb63b96
|
|
BLAKE2b-256 checksum How to use checksums |
e4f747b90ab1de5e22102200352cb63823a7175094d1b3ab037f3f284b677a45
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.2
|