Skip to main content

Silicon CLI — create, run, and manage your silicon instances.

Project description

silicon-cli

This is the single source for the installable silicon command. The PyPI package is named silicon-cli, and the code lives here in this silicon-cli repo.

The command manages silicon instances on a machine: create them from the silicon-stemcell base, start/stop them under an auto-restart watchdog, stream logs, and back them up to Glass. It reads the same ~/.silicon/registry.json, so existing installs carry over unchanged.

Install

pip install silicon-cli

(Zero runtime dependencies — stdlib only.)

Commands

silicon                      Show status or list instances
silicon new [dir]            Create a new Silicon (hydrate from stemcell)
silicon new .                Hydrate the current folder into a runnable silicon
silicon start <target>       Start silicon(s). target = name, index, 1,2,4, or all
silicon stop [--full] <target>  Stop silicon(s) (--full also stops the glass agent)
silicon restart <target>     Restart silicon(s)
silicon agent <start|stop|status> [name]   Manage the per-silicon glass agent
silicon status [name]        Show instance status
silicon browser [name]       Open a headed browser for login
silicon debug [name]         Tail a running instance's logs
silicon attach [path]        Register an existing silicon directory
silicon pull [api_token]     Pull a Glass silicon into a new local folder
silicon push [name] [now|stop]   Daily 23:59 GMT backups to Glass (now = one-shot, stop = end loop)
silicon backup [name] [now|stop] Alias for silicon push
silicon update <target>      Update silicon(s) from the latest stemcell
silicon list                 List all instances
silicon script update        Update this CLI itself
silicon help                 Show help

Configuration (env vars)

Var Default Purpose
SILICON_HOME ~/.silicon registry + CLI state
GLASS_SERVER_URL https://glass.teamofsilicons.com Glass sync server (pull/push)
SILICON_STEMCELL_REPO unlikefraction/silicon-stemcell base for new
SILICON_GLASS_CLI_REPO unlikefraction/glass glass backup CLI
SILICON_PYTHON python3 interpreter used to run a silicon's main.py
SILICON_INTERFACE_CLI_PACKAGE @teamofsilicons/silicon-interface-cli npm package used to install the Silicon Interface CLI
SILICON_INTERFACE_CLI_TARBALL versioned npm tarball fallback package URL if registry metadata is briefly unavailable
SILICON_INTERFACE_CLI_SOURCE (empty) local package dir or silicon-interface.mjs path for dev installs
SILICON_INTERFACE_CLI_SKIP (empty) set to 1 to skip interface CLI setup
SILICON_INTERFACE_DAEMON_SKIP (empty) set to 1 to install the CLI without starting its listener daemon

Silicon Interface CLI

silicon new, silicon install, and silicon pull also set up the Silicon Interface CLI in the silicon folder when Node 22+ is available. When a Glass .glass.json is present, setup also starts the background listener daemon so the silicon receives live conversation frames without polling.

silicon pull is token-native. Generate an API token from the silicon detail page in Glass, then run:

silicon pull
# paste the token when prompted

# or, less private because it lands in shell history:
silicon pull scs_live_...

The command validates the token with Glass, creates a folder named after the silicon, hydrates the stemcell, writes .glass.json, .env, and env.py, registers the instance, and starts the Silicon Interface daemon.

Provider API keys for voice, browser profiles, billing, and architecture generation are configured on the Glass backend. A Glass-pulled silicon only stores its Glass API token locally.

The local wrappers are written to:

<silicon>/.silicon-interface/bin/si
<silicon>/.silicon-interface/bin/silicon-interface
<silicon>/.silicon-interface/inbox.jsonl
<silicon>/.silicon-interface/state.json

For Glass-pulled silicons, those wrappers automatically use the folder's .glass.json (server_url + api_key) for conversation API auth.

During local development, point SILICON_INTERFACE_CLI_SOURCE at the package:

SILICON_INTERFACE_CLI_SOURCE=../silicon-interface/packages/silicon-interface-cli silicon new ./ada

Backups

silicon push <name> now and silicon backup <name> now use the .backupsilicon manifest when the instance has one. The CLI archives those paths and uploads them to Glass via /api/v1/silicon-backups/ with the instance's .glass.json API key. If no manifest exists, the command falls back to the legacy glass push snapshot flow.

silicon push <name> starts the background loop. Scheduled manifest backups run daily at 23:59 GMT; now remains available for one-shot manual backups.

How it differs from the bash version

  • Pure Python package with a silicon console entry point (installed in an isolated venv), instead of a single bash script.
  • The auto-restart watchdog runs as silicon _watchdog (a detached supervisor process) rather than a backgrounded bash function — same crash-loop detection, .silicon.stop sentinel, and .silicon.pid/.silicon.log behavior.
  • silicon script update reinstalls the package via pip from its recorded source.
  • Everything (server, stemcell repo) is env-overridable.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

silicon_cli-1.0.5.tar.gz (23.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

silicon_cli-1.0.5-py3-none-any.whl (26.6 kB view details)

Uploaded Python 3

File details

Details for the file silicon_cli-1.0.5.tar.gz.

File metadata

  • Download URL: silicon_cli-1.0.5.tar.gz
  • Upload date:
  • Size: 23.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.0

File hashes

Hashes for silicon_cli-1.0.5.tar.gz
Algorithm Hash digest
SHA256 399c9ed869b3930135eaafb6b4557c3e9d483c22c9cd354fad52e3de97f9ce65
MD5 f2d42f968f7ffd89c805ef6fcc0b3b6d
BLAKE2b-256 e2849997870fe3733a226fa446b5019e40dd5b0951ac141bc23553f6397ce016

See more details on using hashes here.

File details

Details for the file silicon_cli-1.0.5-py3-none-any.whl.

File metadata

  • Download URL: silicon_cli-1.0.5-py3-none-any.whl
  • Upload date:
  • Size: 26.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.0

File hashes

Hashes for silicon_cli-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 c443f0e994c5b82dce39f29a3d5a55e9cf9db477a003ff85ad495c3745867ed9
MD5 0d74bb4f501d9080594702d953d1dd4a
BLAKE2b-256 0e8dfa66e5239a187d67f3cb16103734f1d186ab5ca6a84cfa5756505c9d002f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page