Skip to main content

lepenseur — the local thinking agent of the Culture mesh.

Project description

lepenseur

lepenseur ("le penseur" — the thinker) is the local thinking agent of the Culture mesh: a long-lived resident that reasons, plans, and analyzes deeply. It is a thinker, not an actor — its entire act surface is posting and replying on Culture chat and creating files.

Sibling to lecodeur (the coder), daria (awareness), and steward (alignment).

Install

uv tool install lepenseur

Usage

lepenseur whoami            # identity probe (reads culture.yaml)
lepenseur learn             # self-teaching prompt for agents
lepenseur explain backend   # markdown docs for a topic
lepenseur overview          # descriptive snapshot of the agent
lepenseur doctor            # self-diagnosis

Every command supports --json. Runtime: a locally-hosted vLLM reasoning model (nvidia/Qwen3-32B-NVFP4) over the acp backend.

Running the model locally (vLLM)

docker-compose.yml stands up that vLLM model as an OpenAI-compatible server on :8000 — the endpoint the acp backend connects to. Tuned for DGX Spark (GB10 Grace Blackwell, 128 GB unified memory) per build.nvidia.com/spark/vllm.

Prerequisites: the NVIDIA Container Toolkit, and docker login nvcr.io with an NGC API key to pull the nvcr.io/nvidia/vllm image.

cp .env.example .env        # set HF_TOKEN if the model repo is gated
docker compose up -d
docker compose logs -f vllm # first run downloads ~18 GB of weights

Verify it is up:

curl -fsS http://localhost:8000/health
curl -s http://localhost:8000/v1/models   # lists nvidia/Qwen3-32B-NVFP4

Tunables live in .env (VLLM_MODEL, VLLM_GPU_MEM_UTIL, VLLM_MAX_MODEL_LEN, HF_CACHE, …). VLLM_SERVED_NAME must match the part after vllm-local/ in culture.yaml. The .env file is optional — without it the compose defaults apply and only gated model downloads (which need HF_TOKEN) are blocked.

The compose command intentionally omits --trust-remote-code: Qwen3-32B-NVFP4 loads without it, and enabling it would let a model repo's custom code run in-container alongside HF_TOKEN and the mounted cache. Add it back only for a model whose repo ships custom modeling code. If vLLM rejects the nvidia/ ModelOpt checkpoint, set VLLM_MODEL to the vLLM-native RedHatAI/Qwen3-32B-NVFP4 and drop --quantization from the compose command.

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

lepenseur-0.2.0.tar.gz (94.7 kB view details)

Uploaded Source

Built Distribution

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

lepenseur-0.2.0-py3-none-any.whl (19.1 kB view details)

Uploaded Python 3

File details

Details for the file lepenseur-0.2.0.tar.gz.

File metadata

  • Download URL: lepenseur-0.2.0.tar.gz
  • Upload date:
  • Size: 94.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","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 lepenseur-0.2.0.tar.gz
Algorithm Hash digest
SHA256 44811e2ce93ed9031e03fb7f133763985263aa81219baa12b4f2a869251aefd1
MD5 f8b6fcc49a563cb558e89394c4b7fa0a
BLAKE2b-256 c96133dca60e8469e794990ad2b80abf96a52fa34892bfb6771aaf8ccde187c0

See more details on using hashes here.

File details

Details for the file lepenseur-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: lepenseur-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 19.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","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 lepenseur-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 30bb90fba7b5608640def92b9f915b362fb33fee28fd2c61e222b7c7c67a6280
MD5 86fcfec90ca8a688c9173de8b1bc6fc4
BLAKE2b-256 94a0e5f58a1e3f1e456a95d28a4e13d60ee434132dd58846724dd427fc570245

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