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.

Per-model notes

Each runtime model has a doc under docs/ recording how to run it, live test results, and caveats:

  • docs/qwen3-32b-nvfp4.md — the current runtime model (nvidia/Qwen3-32B-NVFP4), benchmarked on DGX Spark.
  • docs/qwen3.6-27b-nvfp4.md — a candidate (mmangkad/Qwen3.6-27B-NVFP4); architecture is supported by the current vLLM image, live load-test pending.

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.3.0.tar.gz (98.5 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.3.0-py3-none-any.whl (19.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: lepenseur-0.3.0.tar.gz
  • Upload date:
  • Size: 98.5 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.3.0.tar.gz
Algorithm Hash digest
SHA256 da6d7f5bd2d7bc9b5821eb8de3163e57a35d55083585724e4f31a3fbad04e45e
MD5 68bff528858929626f4167a2da681349
BLAKE2b-256 b81787278ab5b0167cf3b487be88148f1199b4a93535f87a67d035257c3a7455

See more details on using hashes here.

File details

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

File metadata

  • Download URL: lepenseur-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 19.3 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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 92f13550d0b63d8cd96df86c1946028cee586622968f96a0ae95ea2727befc71
MD5 2ee34253819f354e8900674ea9e1b9db
BLAKE2b-256 14b8494cf3c1455aab5e9cff7b532605166b86163e24add706a8778aa53ab97f

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