collective.aitools
This package provides tools powered by AI, both for editors as for anonymous visitors
Features
All features are individually enabled and configured (model, prompt) from the
AI Tools control panel, and reach a model through
collective.aisettings
(configure your provider/models in AI Settings).
Editor tools (buttons on the classic-UI add/edit forms; fill a field only when it's empty):
- Summarize — generate a Description / summary from the item's body text (also usable as the SEO meta description).
- Suggest tags — propose
Subjectkeywords from the body text, reusing tags already in use on the site where possible. - Get image details — title, description (alt text) and tags for an item's image, using a vision model.
- Help me write — drafting and rewriting assistance (start a draft, grammar check, change tone).
Assistant — a floating chat widget for authenticated users. It's agentic: it can call capabilities to ground its answers and guide editors, rather than guessing. Built-in capabilities:
- Search the site — full-text search (respects each user's permissions).
- Where to add — suggest folders where a given content type can be created.
- Propose a draft — from a rough brief, generate a draft (title, summary, body) for the editor to confirm and then adjust. Content is only created after an explicit confirmation, and always re-validated server-side.
Loose content-type names ("page", "news", "article", …) are accepted, and
add-ons can contribute their own synonyms by registering an
IContentTypeSynonyms utility.
Installation
Install collective.aitools with uv.
uv add collective.aitools
Create the Plone site.
make create-site
Contribute
Prerequisites ✅
- An operating system that runs all the requirements mentioned.
- uv
- Make
- Git
- Docker (optional)
Installation 🔧
-
Clone this repository.
git clone git@github.com:collective/collective-ai-tools.git cd collective-ai-tools/backend
-
Install this code base.
make install
Add features using plonecli or bobtemplates.plone
This package provides markers as strings (<!-- extra stuff goes here -->) that are compatible with plonecli and bobtemplates.plone.
These markers act as hooks to add all kinds of features through subtemplates, including behaviors, control panels, upgrade steps, or other subtemplates from bobtemplates.plone.
plonecli is a command line client for bobtemplates.plone, adding autocompletion and other features.
To add a feature as a subtemplate to your package, use the following command pattern.
make add <template_name>
For example, you can add a content type to your package with the following command.
make add content_type
You can add a behavior with the following command.
make add behavior
You can check the list of available subtemplates in the [`bobtemplates.plone` `README.md` file](https://github.com/plone/bobtemplates.plone/?tab=readme-ov-file#provided-subtemplates).
See also the documentation of [Mockup and Patternslib](https://6.docs.plone.org/classic-ui/mockup.html) for how to build the UI toolkit for Classic UI.
License
The project is licensed under GPLv2.
Credits and acknowledgements 🙏
Generated using Cookieplone (2.0.0b3) and cookieplone-templates (4aa42c6) on 2026-06-29 18:13:58.341660. A special thanks to all contributors and supporters!
Metadata
Release files for collective.aitools 1.3.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| collective_aitools-1.3.2.tar.gz | 595.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| collective_aitools-1.3.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.0 MB
Release files / collective_aitools-1.3.2.tar.gz
| Download URL | collective_aitools-1.3.2.tar.gz |
|---|---|
| Size | 595.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
368390b7905cda8864bcce1e1f353c7907e440c609897287789aa267e59f1806
|
|
BLAKE2b-256 checksum How to use checksums |
bfe9ae38c68656db8bbebf53e631872d420fe992a583983380d8608268620d8f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.2 {"installer":{"name":"uv","version":"0.12.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / collective_aitools-1.3.2-py3-none-any.whl
| Download URL | collective_aitools-1.3.2-py3-none-any.whl |
|---|---|
| Size | 425.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
52089c7f9828f7b723f055be917298ea113e0fed1401092bfa0646d4058dd920
|
|
BLAKE2b-256 checksum How to use checksums |
174a6336af37cfb41390903c899e11b4c01a7f60f2e92018f9900c20553d6fed
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.2 {"installer":{"name":"uv","version":"0.12.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|