Standalone community plugins package for the Soothe agent orchestration framework.
pip install soothe-communityArXiv 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-tuiThis package is designed for extensibility. You can easily add new community plugins:
- Subagent Plugins: Complex multi-step agents using langgraph
- Tool Plugins: Simple functions exposed as tools
- Hybrid Plugins: Both subagents and tools
The package structure supports adding new plugins:
src/soothe_community/
βββ paperscout/ # ArXiv paper recommendations
βββ [your_plugin]/ # Your future plugin
βββ [another_plugin]/ # Another future plugin
See CONTRIBUTING.md for detailed guidelines on adding new plugins.
Use the provided template to create new plugins:
cp -r src/soothe_community/.plugin_template src/soothe_community/your_plugin# Clone the repository
git clone https://github.com/OpenSoothe/soothe-community.git
cd soothe-community
# Install in development mode
pip install -e ".[dev]"# Run all tests
pytest tests/
# Run specific plugin tests
pytest tests/test_paperscout/
# With coverage
pytest tests/ --cov=src/soothe_community# Format code
ruff format src/ tests/
# Lint code
ruff check --fix src/ tests/- 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
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
MIT