Skip to main content

Lovelaice

A sovereign, local-first coding agent for the terminal. A native tool-calling ReAct loop (read/bash/write/edit/glob/list_dir), yolo by default. Three ways to run it:

  • One-shot — streams to stdout and exits: lovelaice "<prompt>" (piped stdin works too).
  • ACP serverlovelaice-acp speaks the official Agent Client Protocol v1 over stdio, so any ACP client (e.g. aegis, Zed) can drive lovelaice as a native, harness-free agent — local or direct-API models, no external CLI. Supports streaming, per-session MCP tools, token usage, and load_session resume. See know-how/acp-v1-server.md.
  • Librarylovelaice.agent.Agent / lovelaice.coding.create_coding_agent embed the engine directly.

Install

pipx install lovelaice

Configure

lovelaice --init writes a .lovelaice.py in the current directory. This file grounds the workspace: when you run lovelaice from any subdirectory, it walks up to the nearest .lovelaice.py and chdirs to its directory before running. Exactly one config grounds the workspace — there is no stacking.

Set OPENROUTER_API_KEY in your environment before running.

export OPENROUTER_API_KEY=sk-or-...
lovelaice

Commands and tools

The .lovelaice.py registers tools and commands as decorators on a Config object. Built-in tools: bash, read, write, edit, list, glob, grep, fetch. Add your own with @config.tool. See know-how/writing-a-tool.md and know-how/writing-a-command.md.

Thinking mode

Add thinking="high" (or "low"/"medium", or an integer token budget) on a model entry to enable OpenRouter's reasoning passthrough. Reasoning chunks render in a separate dim-italic panel above the agent's reply. Non-OpenRouter base URLs silently ignore the knob — v1 does not translate reasoning protocols across providers.

MCP

Pass mcp=[...] to Config(...) to spawn stdio MCP servers and register their tools. Tool names are prefixed mcp:<server>:<tool>.

config = Config(
    models=MODELS,
    prompt=PROMPT,
    mcp=[
        {"name": "filesystem", "command": "npx",
         "args": ["@modelcontextprotocol/server-filesystem", "."]},
    ],
)

License

MIT.

Download files

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

Source Distribution

lovelaice-2.12.0.tar.gz (194.4 kB view details)

Uploaded Source

Built Distribution

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

lovelaice-2.12.0-py3-none-any.whl (55.7 kB view details)

Uploaded Python 3

File details

Details for the file lovelaice-2.12.0.tar.gz.

File metadata

  • Download URL: lovelaice-2.12.0.tar.gz
  • Upload date:
  • Size: 194.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for lovelaice-2.12.0.tar.gz
Algorithm Hash digest
SHA256 47c97bed6c4a3d84f2ead9d82fa38251041cec5d2c0bbd36dca619821154457f
MD5 3165f0f43c31f0813033126c216467b5
BLAKE2b-256 1de4e2d29ebe73e3505d76013763bf69e1e808a99ef2b447c40abcada02d59d3

See more details on using hashes here.

File details

Details for the file lovelaice-2.12.0-py3-none-any.whl.

File metadata

  • Download URL: lovelaice-2.12.0-py3-none-any.whl
  • Upload date:
  • Size: 55.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for lovelaice-2.12.0-py3-none-any.whl
Algorithm Hash digest
SHA256 53843eb3c9b74f7f8b512b32a68187438d023b1772c0fd72596c2503c76c4082
MD5 acc18e9b7145b1dad24ceddae860ca54
BLAKE2b-256 5c264afc7ab307d83e61ca68be578f5388550e5e161c43ea163b570b00c90813

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

2.12.0 This release

2 files

2.11.0

2 files

2.10.0

2 files

2.9.0

2 files

2.8.0

2 files

2.7.0

2 files

2.6.0

2 files

2.5.0

2 files

2.4.0

2 files

2.3.0

2 files

2.2.0

2 files

2.1.2

2 files

2.1.1

2 files

2.1.0

2 files

2.0.3

2 files

0.6.0

2 files

0.4.3

2 files

0.4.2

2 files

0.4.1

2 files

0.4.0

2 files

0.3.7

2 files

0.3.6

2 files

0.3.5

2 files

0.3.4

2 files

0.3.3

2 files

0.3.2

2 files

0.3.1

2 files

0.3.0

2 files

0.2.1

2 files

0.2.0

2 files

0.1.9

2 files

0.1.8

2 files

0.1.7

2 files

0.1.6

2 files

0.1.5

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

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