A marketplace watcher for Subito.it and Vinted.it that sends newly discovered listings to ntfy, optionally filtering them with an LLM.
The search_urls list accepts Subito.it and Vinted.it search-result URLs. Copy
the filtered URL directly from the marketplace.
The first normal poll of each URL establishes a baseline, so listings already
present are not notified. Set use_llm to false to notify every newly found
listing without LLM filtering.
Create and edit the configuration:
cp config.example.json config.json
chmod 600 config.jsonCreate your local notification rules, then edit the new file to set the listings you want to receive:
cp prompts/rules.example.md prompts/rules.mdprompts/system.md contains the fixed model behavior and
safety policy.
Create a virtual environment and install the dependencies:
python3 -m venv .venv
. .venv/bin/activate
pip install .Test the configuration without sending notifications:
python subot.py --once --dry-runRun the bot continuously:
python subot.pyCopy the user-service template (no root required):
mkdir -p ~/.config/systemd/user
cp systemd/subot.service ~/.config/systemd/user/subot.serviceReplace /absolute/path/to/subot in the copied file, then enable it:
systemctl --user daemon-reload
systemctl --user enable --now subot.serviceKeep the service running after logout. Enabling lingering normally requires administrator privileges:
sudo loginctl enable-linger "$USER"Check its status:
systemctl --user status subot.service