Soothe Community Plugins
Standalone community plugins package for the Soothe agent orchestration framework.
Installation
pip install soothe-community
Available Plugins
Sample Echo
Minimal echo subagent for testing soothe-community integration. See CONTRIBUTING.md for plugin development guide.
BrowserUse and Claude Code
Delegated browser-use and Claude agent SDK subagents (IG-415). Install with pip install "soothe-community[browser_use]" or "soothe-community[claude]" and enable subagents.browser_use / subagents.claude in config. Spec: docs/RFC-601-community-agents.md.
PaperScout
ArXiv paper recommendation agent that delivers personalized daily paper recommendations.
Features:
- Fetches papers from ArXiv based on configurable categories
- Analyzes your Zotero library to understand research interests
- Ranks papers by relevance using sentence embeddings
- Sends daily email digests with TLDR summaries
Configuration (add to your Soothe config.yml):
subagents:
paperscout:
enabled: true
model: "openai:gpt-4o-mini"
config:
arxiv_categories:
- cs.AI
- cs.CV
- cs.LG
max_papers: 25
smtp:
host: "${SMTP_HOST}"
port: 587
user: "${SMTP_USER}"
password: "${SMTP_PASSWORD}"
zotero:
api_key: "${ZOTERO_API_KEY}"
library_id: "${ZOTERO_LIBRARY_ID}"
Usage:
# Use the subagent via TUI (default)
soothe "Find recent papers on transformers" --subagent paperscout
# Or use in headless mode
soothe "Find recent papers on transformers" --subagent paperscout --no-tui
Extensibility
This package is designed for extensibility. You can easily add new community plugins:
Available Plugin Types
- Subagent Plugins: Complex multi-step agents using langgraph
- Tool Plugins: Simple functions exposed as tools
- Hybrid Plugins: Both subagents and tools
Future Plugins
The package structure supports adding new plugins:
src/soothe_community/
├── sample_echo/ # Minimal test subagent (example plugin)
├── paperscout/ # ArXiv paper recommendations
├── [your_plugin]/ # Your future plugin
└── [another_plugin]/ # Another future plugin
See CONTRIBUTING.md for detailed guidelines on adding new plugins.
Plugin Template
Use the provided template to create new plugins:
cp -r src/soothe_community/.plugin_template src/soothe_community/your_plugin
Development
Setup
# Clone the repository
git clone https://github.com/OpenSoothe/soothe-community.git
cd soothe-community
# Install in development mode
pip install -e ".[dev]"
Testing
# Run all tests
pytest tests/
# Run specific plugin tests
pytest tests/test_paperscout/
# With coverage
pytest tests/ --cov=src/soothe_community
Code Quality
# Format code
ruff format src/ tests/
# Lint code
ruff check --fix src/ tests/
Documentation
- README.md: This file - overview and quick start
- CONTRIBUTING.md: How to add new plugins
- docs/RFC-601-community-agents.md: Architecture RFC for community agents
- src/soothe_community/.plugin_template/: Template for new plugins
Architecture
Each plugin follows the RFC-0018 plugin system:
Plugin Package
├── __init__.py # @plugin, @subagent, @tool decorators
├── events.py # Custom events (optional)
├── models.py # Data models
├── state.py # Agent state (if subagent)
├── implementation.py # Core logic
└── README.md # Plugin documentation
License
MIT
Metadata
Release files for soothe-community 0.2.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| soothe_community-0.2.5.tar.gz | 467.4 kB | With provenance | Details for soothe_community-0.2.5.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| soothe_community-0.2.5-py3-none-any.whl | Python 3 | none | any | Details for soothe_community-0.2.5-py3-none-any.whl |
Total release size: 550.8 kB
Release files / soothe_community-0.2.5.tar.gz
| Download URL | soothe_community-0.2.5.tar.gz |
|---|---|
| Size | 467.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
597c3958fafb7150459a765b7e2f1ab03d68120b19356c544c955879be7b025b
|
|
BLAKE2b-256 checksum How to use checksums |
acf5c60f4b9ada612f1f9b063d5ce2f2805d0b48402a8a97651bf4f6e6388e49
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 21, 2026.
Transparency logRelease files / soothe_community-0.2.5-py3-none-any.whl
| Download URL | soothe_community-0.2.5-py3-none-any.whl |
|---|---|
| Size | 83.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
90539ce5c47f6a47e4dcfd41ec397dd816610220723df937777f5f43166b3a81
|
|
BLAKE2b-256 checksum How to use checksums |
4ef98c056fc64e093020c3f16ee0775df7a6dedb87e65edee0b75cdea814d85d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 21, 2026.
Transparency logSecurity for soothe-community 0.2.5
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for soothe_community-0.2.5.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 21, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.