Skip to main content

A local-first coding agent for the terminal, with Python-defined commands and tools.

Project description

Lovelaice

A sovereign, local-first coding agent for the terminal. Single ReAct loop over a small built-in tool set, yolo by default. Two modes:

  • Interactive — full-screen Textual TUI: lovelaice
  • One-shot — streams to stdout and exits: lovelaice <prompt>

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.

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

lovelaice-2.1.0.tar.gz (162.9 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.1.0-py3-none-any.whl (52.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: lovelaice-2.1.0.tar.gz
  • Upload date:
  • Size: 162.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","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.1.0.tar.gz
Algorithm Hash digest
SHA256 849297d01734b4b722a816f6999285949c085e4266dcc9559f93c5316fcb3063
MD5 b93cfc2999251ab5045a8d3489250466
BLAKE2b-256 59cbfefe1deb214d5f86b139295ece05ad2731f0c4c801b2d9ce77c2a2473558

See more details on using hashes here.

File details

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

File metadata

  • Download URL: lovelaice-2.1.0-py3-none-any.whl
  • Upload date:
  • Size: 52.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5422dcdeb7909b0aebf39a3a791bff92866e488b8adc7d114c9d3e10d0fe053c
MD5 1db6b6d4381e2045a75562489e1c81bd
BLAKE2b-256 8738d606dcda70404bad880e72581c8b67edf16929c6edef879ec15284e9ec09

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