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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
44811e2ce93ed9031e03fb7f133763985263aa81219baa12b4f2a869251aefd1
|
|
| MD5 |
f8b6fcc49a563cb558e89394c4b7fa0a
|
|
| BLAKE2b-256 |
c96133dca60e8469e794990ad2b80abf96a52fa34892bfb6771aaf8ccde187c0
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
30bb90fba7b5608640def92b9f915b362fb33fee28fd2c61e222b7c7c67a6280
|
|
| MD5 |
86fcfec90ca8a688c9173de8b1bc6fc4
|
|
| BLAKE2b-256 |
94a0e5f58a1e3f1e456a95d28a4e13d60ee434132dd58846724dd427fc570245
|