Skip to main content

lithe-cli

PyPI Python License: MIT

lithe-cli is the command-line interface for lithe — the storage-free ReAct agent kernel. Installing it pulls in lithe automatically and gives you a lithe command: chat with an agent that reads and writes files in your workspace, run one-shot tasks, inspect stored runs, and undo a run's mutations.

pip install lithe-cli

Configure

There is no default endpoint — the CLI refuses to run rather than silently hitting some third-party URL. Point it at any OpenAI-compatible endpoint:

export LITHE_API_KEY=sk-...
export LITHE_BASE_URL=https://your-endpoint/api/v1
export LITHE_MODEL=your-model

Flags (--api-key, --base-url, --model) override the environment. LITHE_HOME (default ~/.lithe) locates the run store; the agent's workspace defaults to the current directory (--workspace to change).

Use

One-shot task

$ cd my-project
$ lithe run "总结 README.md 的要点,存到 SUMMARY.md"
  ⚒ read_file {"path": "README.md"}
  ✓ 已读取 README.md(120 行)
  ⚒ write_file {"path": "SUMMARY.md", "content": "..."}
  ✓ 写入 SUMMARY.md
已把要点写入 SUMMARY.md。

--stream streams tokens as they generate; -v adds per-call usage/context gauges; --max-steps caps the tool loop; --context-window enables fullness gauges.

Interactive chat

$ lithe chat
lithe 0.1.0 — /exit 退出,输入任务开始。
lithe> 把 a.txt 改成三行待办清单
  ⚒ write_file {"path": "a.txt", ...}
  ✓ 写入 a.txt
已完成。
lithe> /exit

History carries across turns within a session (each turn is its own run in the store, replayed as context for the next).

Undo a run

The bundled file and todo tools register reverters, so undo works with zero configuration:

$ lithe runs                     # find the run
abc123def456   done        steps=3  ...
$ lithe undo abc123def456
已撤销 2 个操作(run abc123def456)

A file the run created is deleted; a file it overwrote is restored.

Inspect

$ lithe runs                     # stored runs (newest last)
$ lithe log abc123def456         # messages + actions of one run

Tools

$ lithe tools                    # what the agent can do
apply_patch      WRITE  以行级 patch 一次修改多个文件...
edit_file        WRITE  局部替换文件中的文本...
read_file        READ   读取文件内容...
...

The default tool set is the workspace bundle (read_file / write_file / edit_file / list_files / search_files / glob_files / apply_patch) plus todos (update_todos / list_todos). --download additionally grants download_file — the SSRF-guarded, size-capped network fetch — for runs and chats.

Where things land

Path Contents
current dir (or --workspace) the agent's sandboxed workspace — every tool path resolves strictly inside it
~/.lithe/runs (or --store) JSONL run store: messages, actions, undo records
~/.lithe/runs/todos-<user>.json the agent's task list

Design notes

  • The CLI is a thin host: it supplies tools, a system prompt, and the kernel's JsonlRunStore; everything else (ReAct loop, streaming, budgets, replay, undo engine) is reused from lithe.
  • End-to-end behavior is tested offline against a scripted transport — no test spends tokens.
  • python -m lithe_cli works alongside the lithe console script.

License

MIT

Release files for lithe-cli 0.1.0

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

Source distribution (sdist)

Source distribution for lithe-cli 0.1.0
File Size Uploaded
lithe_cli-0.1.0.tar.gz 13.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for lithe-cli 0.1.0
File Interpreter ABI Platform
lithe_cli-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 26.0 kB

Release files / lithe_cli-0.1.0.tar.gz

Download URL lithe_cli-0.1.0.tar.gz
Size 13.8 kB
Tags Source
SHA-256 checksum
How to use checksums
342f9d0ee2bbab2be47ba54dd06654fb29cf496e8a7b8eeebb01a35f2dd74691
BLAKE2b-256 checksum
How to use checksums
12a616778d122fd8771123de7a617d84c09faa5000e2ccc7fd229bc1c2bf58ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / lithe_cli-0.1.0-py3-none-any.whl

Download URL lithe_cli-0.1.0-py3-none-any.whl
Size 12.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
750c1b735a141a66ba27c1413e1808476bb81bac4fa6fec9f5f86e87eb5ddbd6
BLAKE2b-256 checksum
How to use checksums
e0077902ce097d6351ec3dda66e0a47daf4c97e120f0b0d1214a7f446da4dd10
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release history Release notifications | RSS feed

0.6.0

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.0

2 release files

This release

0.1.0 This release

2 release files

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