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 skills contain skill definitions which allow an agent to perform these tasks:
soliplex-concierge-installer(wire the extension into a stack),soliplex-concierge-room(the in-room request formatter, copied into the stack), andsoliplex-concierge-admin(act on and resolve filed requests).
Install & wire up
Generated stacks: one-shot apply
If your installation is a
soliplex-template-generated
Docker Compose stack, the soliplex-concierge-installer skill's bundled
scripts/apply.py performs all of the wiring below for you, idempotently. Run
it with uv, which provisions its one dependency (ruamel.yaml) from the
script's PEP 723 header — no install step needed:
uv run skills/soliplex-concierge-installer/scripts/apply.py \
--stack-dir /path/to/your/stack --owner <gitea-owner> --repo <gitea-repo>
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
soliplex-concierge-room 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 soliplex-concierge dependency added to the
stack (e.g. --version 0.4); 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.
The about-room answers Soliplex questions from the soliplex-docs skill (the
full Soliplex documentation), so no RAG database is required. To also answer
from a RAG database — e.g. this installation's own ingested content — uncomment
the skill_configs block in the installed room's room_config.yaml, pointing
rag_lancedb_stem at a database under rag/db/ (the
soliplex-template skill can
generate and ingest one).
The room template is bundled beside the script (under assets/); the two
filesystem skills copied into the stack are downloaded from their published
releases by default, sha256 verified — soliplex-concierge-room (the
room-skill-latest pointer) and soliplex-docs (the docs-latest pointer,
from soliplex/soliplex). Pin a build with --room-skill-version <tag> /
--docs-skill-version <tag>, or install a local copy (offline / development)
with --room-skill-dir <dir> / --docs-skill-dir <dir>.
Other flags: --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.
-
Install this package into the environment that runs Soliplex (it depends on
soliplex):pip install -e .
-
Merge the entries from
installation-snippet.yaml(bundled in the installer skill'sassets/) into yourinstallation.yaml. They:- register the tool-config class via
meta.tool_configs(Soliplex resolves the tool by its dottedtool_name; no core edit is needed), - add this package's
skills/soliplex-concierge-roomdirectory tofilesystem_skills_pathsand enable thesoliplex-concierge-roomfilesystem skill, and - declare the
GITEA_HOSTenvironment variable andGITEA_ACCESS_TOKENsecret that thecreate_gitea_issuetool reads to call the Gitea REST API (no MCP server or external binary is required).
- register the tool-config class via
-
Copy
rooms/about_soliplex/into your installation'srooms/directory, editing theowner/repoon thecreate_gitea_issuetool to point at your tracking repository. -
Set
GITEA_HOSTandGITEA_ACCESS_TOKEN(see the.envlines at the bottom of the installation snippet).
Skill releases
Each skill under skills/ is published from CI
(build-skills.yaml) as a standalone
GitHub release artifact, following the pattern soliplex uses for its skills:
- Rolling builds — every change to
skills/**onmainpublishes an immutable<prefix>-YYYY.MM.DD-<sha>prerelease (prefixes:installer-skill,room-skill,admin-skill) and updates a<prefix>-latestpointer; the ten newest rolling builds per skill are kept. - Tagged releases — publishing a software release (
v*) attaches all three skill tarballs to that release, pinned to the version.
Each published skill bundles scripts/skill_versions.py, so an installed copy
can list, diff, and upgrade itself against the published builds, e.g.
python scripts/skill_versions.py list.
Status
The issue-filing concierge (the about_soliplex room, its create_gitea_issue
tool, and the soliplex-concierge-room skill) is implemented, as is the
soliplex-concierge-admin skill, whose scripts read, comment on, and close
(resolve) the filed request issues. The actual provisioning those requests ask
for — creating rooms and granting access — is driven through the
soliplex-template skill (see the admin skill's workflow); turnkey automation of
that step is a planned follow-up.
Project details
Release history Release notifications | RSS feed
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 soliplex_concierge-0.7.tar.gz.
File metadata
- Download URL: soliplex_concierge-0.7.tar.gz
- Upload date:
- Size: 15.5 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3f23221c5ac7207b18124c162cecfc612c3e6bd2d3d74ff20833687216a81eb9
|
|
| MD5 |
33cec63c0efda821eb44c4bb806a0688
|
|
| BLAKE2b-256 |
c9666b7dc84bbdcd0e5696c95b1a98d528d296dd4ec24b25029a694e73964dde
|
File details
Details for the file soliplex_concierge-0.7-py3-none-any.whl.
File metadata
- Download URL: soliplex_concierge-0.7-py3-none-any.whl
- Upload date:
- Size: 13.1 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
02aeb1f1e9fad5093b18b349fb9fd280364f3587619f39cb669455e135950ecd
|
|
| MD5 |
4342c847c1e17042d86f4abae13bb925
|
|
| BLAKE2b-256 |
dcc8d4b5f68f8c9f0442b0dc5dcfd6862d5782ef79d7c250974119c89e4b91a9
|