Metadata-Version: 2.4
Name: weio-cli
Version: 0.8.1
Summary: Weio — an agentic coding assistant that routes inference through your Weio account.
Author: We I/O Labs
License: MIT
Project-URL: Homepage, https://weio.ai
Project-URL: Documentation, https://weio.ai/support
Keywords: weio,ai,cli,coding-assistant,llm
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development :: Code Generators
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: httpx>=0.24
Requires-Dist: prompt_toolkit>=3.0
Dynamic: license-file

# weio-cli

An agentic coding assistant that runs on your machine and routes inference
through your [Weio](https://weio.ai) account.

## Install

```bash
pip install weio-cli        # or: pipx install weio-cli
```

Requires Python 3.9+.

## Authenticate

```bash
weio login            # opens your browser, sign in (incl. Google), key is created automatically
```

`weio login` starts a one-time local handshake, opens weio.ai in your browser to
sign in, mints an API key for this device, and saves it to `~/.weio/config.json`.
No copy-paste.

Prefer to paste a key yourself? Generate one in **Settings → API & CLI** on
weio.ai and:

```bash
weio login --no-browser     # paste your weio_sk_… key
# or, per session:
export WEIO_API_KEY="weio_sk_…"
```

Check what you're using:

```bash
weio usage            # tier, tokens used today, remaining, reset time
```

## Use

### Interactive agent (default)

Run `weio` with no arguments to start an autonomous coding agent in your terminal —
like Claude Code / Codex. It reads files, searches, edits, and runs commands to
complete your task, showing each step:

```bash
cd my-project
weio
```

```
weio › add a /health route to app.py and run the tests

● Let me look at the app first.
  📖 read_file app.py
● Adding the route.
  ✎ edit_file app.py
  │ + @app.get("/health")
  │ + def health(): return {"ok": True}
  apply edit_file to app.py? [y/N] y
● Verifying.
  ❯ run_command pytest -q
  │ exit=0  …  5 passed
✔ Added /health and confirmed tests pass.
```

The agent uses tools: **read_file, list_dir, search, edit_file, write_file,
run_command**. File paths are confined to the project directory.

Slash commands: `/model <id>`, `/approval <mode>`, `/steps <n>`, `/settings`,
`/undo`, `/clear`, `/cwd`, `/help`, `/exit`.

### Approval modes

Control how much the agent does without asking (`/approval` or `weio config approval`):

| Mode | Edits | Shell commands |
|---|---|---|
| `suggest` (default) | ask each time | ask each time |
| `auto-edit` | auto-apply | ask each time |
| `full-auto` | auto-apply | auto-run |

### Settings

```bash
weio config                      # show all settings
weio config approval auto-edit   # set a value
weio config model pro            # auto | low | mid | pro
weio config max_steps 40
```

Settings live in `~/.weio/settings.json`. The agent uses the most capable model
your plan allows.

### One-shot & other commands

```bash
# Run a coding task non-interactively (auto-applies edits; add --auto to also run commands):
weio "add error handling to the fetch() in api.py"
weio code "refactor db.py to async" --auto

# Quick question (no file edits):
weio ask "what does a 502 from nginx usually mean?"

weio chat        # plain interactive chat
weio usage       # tokens used / limits
weio ping        # connectivity + key check
```

Edits are shown as a diff and require confirmation before anything is written
(use `-y`/`--yes` to apply automatically). New files are created as needed.

## Updating

weio-cli checks PyPI once a day (fail-silent) and prints a one-line notice when a
newer version is available. To upgrade:

```bash
weio update           # upgrades in place via pip
# or
pip install -U weio-cli
```

Disable the check with `WEIO_NO_UPDATE_CHECK=1`.

## Configuration

| Setting | Flag | Env | Config file |
|---|---|---|---|
| API key | `--key` | `WEIO_API_KEY` | `~/.weio/config.json` |
| API base | `--base` | `WEIO_BASE` | `~/.weio/config.json` |
| Model | `--model` | — | — |

Self-hosted / LAN gateway? Point at it with `--base http://HOST:8901/v1`.

Output is billed against your Weio account usage.
