Skip to main content

Soliplex extension for LLM-driven room access / creation requests.

Project description

soliplex-concierge: room access / creation support

This project provides a Soliplex extension to support LLM-driven, on-demand creation of issues tracking requested changes to a Soliplex installation's configuration:

  • Access to a non-public room
  • Creation of a new room

Components:

  • The Python library contains code to support both the issue creation tasks and the scripts which actually perform the requested updates.

  • The agent skill contains a skill definition which allows an agent to perform these tasks.

Install & wire up

Generated stacks: one-shot apply

If your installation is a soliplex-template-generated Docker Compose stack, the soliplex-concierge-apply console script performs all of the wiring below for you, idempotently:

pip install -e ".[apply]"        # the 'apply' extra adds ruamel.yaml
soliplex-concierge-apply --stack-dir /path/to/your/stack

It adds the dependency to backend/pyproject.toml and the backend/Dockerfile uv add block (the generated Dockerfile ignores the pyproject deps, so both are needed), merges the five installation.yaml entries, installs the room and the filesystem skill, and appends the .env placeholders. The room is installed as about_<compose-project-name> by default; override with --room-id.

Pass --version <X.Y> to pin the dependency (e.g. --version 0.2); omitting it leaves the dependency unpinned and prints a warning (unpinned installs are prone to version skew between the stack and your wiring), while --version latest opts into the newest release without the warning. After it finishes, the script echoes the soliplex-concierge version installed in the environment it ran from, so you can spot a mismatch.

The room bundles a haiku.rag.skills.rag skill, which needs a RAG LanceDB to exist. By default the script wires it to the stack's existing rag/db/*.lancedb (preferring haiku.rag, the template ingester's default), falling back to haiku.rag when none is present yet; override with --rag-stem <name> to point at a specific database.

Other flags: --owner / --repo / --gitea-host / --gitea-token (fill the Gitea values instead of placeholders), --force (overwrite an existing room/skill), and --dry-run (report the changes without writing). Afterwards, set real Gitea values and docker compose build backend && docker compose up -d.

Manual wiring

The script above automates exactly these steps; do them by hand for a non-generated installation.

  1. Install this package into the environment that runs Soliplex (it depends on soliplex):

    pip install -e .
    
  2. Merge the entries from example/installation-snippet.yaml into your installation.yaml. They:

    • register the tool-config class via meta.tool_configs (Soliplex resolves the tool by its dotted tool_name; no core edit is needed),
    • add this package's skill/ directory to filesystem_skills_paths and enable the soliplex-concierge filesystem skill, and
    • declare the GITEA_HOST environment variable and GITEA_ACCESS_TOKEN secret that the create_gitea_issue tool reads to call the Gitea REST API (no MCP server or external binary is required).
  3. Copy example/rooms/about_soliplex/ into your installation's rooms/ directory, editing the owner / repo on the create_gitea_issue tool to point at your tracking repository.

  4. Set GITEA_HOST and GITEA_ACCESS_TOKEN (see the .env lines at the bottom of the installation snippet).

Status

The issue-filing concierge (the about_soliplex room, its create_gitea_issue tool, and the agent skill) is implemented. The scripts that act on approved requests — actually creating rooms and granting room access — are a planned follow-up.

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

soliplex_concierge-0.3.tar.gz (14.4 kB view details)

Uploaded Source

Built Distribution

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

soliplex_concierge-0.3-py3-none-any.whl (13.3 kB view details)

Uploaded Python 3

File details

Details for the file soliplex_concierge-0.3.tar.gz.

File metadata

  • Download URL: soliplex_concierge-0.3.tar.gz
  • Upload date:
  • Size: 14.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","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 soliplex_concierge-0.3.tar.gz
Algorithm Hash digest
SHA256 b7faa83a14788bf52e1551c5ff2794106c23c4ec7df3e368f4028408ea56d6b6
MD5 34b02cfc5adc737e7d9aa273b705299e
BLAKE2b-256 7d034c7377638d6d4792cfb38c472b7ccc91f8442fec572bfce31eac9b607be5

See more details on using hashes here.

File details

Details for the file soliplex_concierge-0.3-py3-none-any.whl.

File metadata

  • Download URL: soliplex_concierge-0.3-py3-none-any.whl
  • Upload date:
  • Size: 13.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","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 soliplex_concierge-0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 37193ded9237c5aca711ff22e0c3a39e3eeab8ab2262c46fb8d6e37d6b9b784c
MD5 a4404fbda4f4ffccaf437f28a4ea5272
BLAKE2b-256 45c691715cc870ebc83673ab487058d6fa5b21e219cee32435f0fc2685d09ec7

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