Major Features: - Sub-agent orchestration system with dynamic specialist spawning * spawn_sub_agent(): Create specialists with custom prompts * delegate(): Convenience method for task delegation * Cached specialists for reuse * Separate conversation histories and focused context - MCP (Model Context Protocol) tool integration * Zettelkasten: fleeting_note, daily_note, permanent_note, literature_note * Search: search_vault (hybrid search), search_by_tags * Web: web_fetch for real-time data * Zero-cost file/system operations on Pro subscription Critical Bug Fixes: - Fixed max tool iterations (15 → 30, configurable) - Fixed max_tokens error in Agent SDK query() call - Fixed MCP tool routing in execute_tool() * Routes zettelkasten + web tools to async handlers * Prevents "Unknown tool" errors Documentation: - SUB_AGENTS.md: Complete guide to sub-agent system - MCP_MIGRATION.md: Agent SDK migration details - SOUL.example.md: Sanitized bot identity template - scheduled_tasks.example.yaml: Sanitized task config template Security: - Added obsidian vault to .gitignore - Protected SOUL.md and MEMORY.md (personal configs) - Sanitized example configs with placeholders Dependencies: - Added beautifulsoup4, httpx, lxml for web scraping - Updated requirements.txt Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
69 lines
2.3 KiB
YAML
69 lines
2.3 KiB
YAML
# Scheduled Tasks Configuration
|
|
# Tasks that require the Agent/LLM to execute
|
|
#
|
|
# Copy this file to scheduled_tasks.yaml and customize with your settings
|
|
# scheduled_tasks.yaml is gitignored to protect personal information
|
|
|
|
tasks:
|
|
# Morning briefing - sent to Slack/Telegram
|
|
- name: morning-weather
|
|
prompt: |
|
|
Check the user profile ([username].md) for the location. Use the get_weather tool to fetch current weather.
|
|
|
|
Format the report as:
|
|
|
|
🌤️ **Weather Report for [Your City]**
|
|
- Current: [current]°F
|
|
- High: [high]°F
|
|
- Low: [low]°F
|
|
- Conditions: [conditions]
|
|
- Recommendation: [brief clothing/activity suggestion]
|
|
|
|
Keep it brief and friendly!
|
|
schedule: "daily 06:00"
|
|
enabled: true
|
|
send_to_platform: "telegram" # or "slack"
|
|
send_to_channel: "YOUR_TELEGRAM_USER_ID"
|
|
|
|
# Daily Zettelkasten Review
|
|
- name: zettelkasten-daily-review
|
|
prompt: |
|
|
Time for your daily zettelkasten review! Help process fleeting notes:
|
|
|
|
1. Use search_by_tags to find all notes tagged with "fleeting"
|
|
2. Show the list of fleeting notes
|
|
3. For each note, ask: "Would you like to:
|
|
a) Process this into a permanent note
|
|
b) Keep as fleeting for now
|
|
c) Delete (not useful)"
|
|
|
|
Keep it conversational and low-pressure!
|
|
schedule: "daily 20:00"
|
|
enabled: true
|
|
send_to_platform: "telegram"
|
|
send_to_channel: "YOUR_TELEGRAM_USER_ID"
|
|
|
|
# Daily API cost report
|
|
- name: daily-cost-report
|
|
prompt: |
|
|
Generate a daily API usage and cost report:
|
|
|
|
Read the usage_data.json file to get today's API usage statistics.
|
|
|
|
Format the report with today's costs, token usage, and budget tracking.
|
|
Warn if cumulative cost exceeds 75% of budget.
|
|
|
|
Keep it clear and actionable!
|
|
schedule: "daily 23:00"
|
|
enabled: false
|
|
send_to_platform: "telegram"
|
|
send_to_channel: "YOUR_TELEGRAM_USER_ID"
|
|
|
|
# Configuration notes:
|
|
# - schedule formats:
|
|
# - "hourly" - Every hour on the hour
|
|
# - "daily HH:MM" - Every day at specified time (24h format)
|
|
# - "weekly day HH:MM" - Every week on specified day (mon, tue, wed, thu, fri, sat, sun)
|
|
# - send_to_platform: null = don't send to messaging (only log)
|
|
# - username: Agent memory username to use for this task
|