feat: Add Gitea MCP integration and project cleanup
## New Features - **Gitea MCP Tools** (zero API cost): - gitea_read_file: Read files from homelab repo - gitea_list_files: Browse directories - gitea_search_code: Search by filename - gitea_get_tree: Get directory tree - **Gitea Client** (gitea_tools/client.py): REST API wrapper with OAuth - **Proxmox SSH Scripts** (scripts/): Homelab data collection utilities - **Obsidian MCP Support** (obsidian_mcp.py): Advanced vault operations - **Voice Integration Plan** (JARVIS_VOICE_INTEGRATION_PLAN.md) ## Improvements - **Increased timeout**: 5min → 10min for complex tasks (llm_interface.py) - **Removed Direct API fallback**: Gitea tools are MCP-only (zero cost) - **Updated .env.example**: Added Obsidian MCP configuration - **Enhanced .gitignore**: Protect personal memory files (SOUL.md, MEMORY.md) ## Cleanup - Deleted 24 obsolete files (temp/test/experimental scripts, outdated docs) - Untracked personal memory files (SOUL.md, MEMORY.md now in .gitignore) - Removed: AGENT_SDK_IMPLEMENTATION.md, HYBRID_SEARCH_SUMMARY.md, IMPLEMENTATION_SUMMARY.md, MIGRATION.md, test_agent_sdk.py, etc. ## Configuration - Added config/gitea_config.example.yaml (Gitea setup template) - Added config/obsidian_mcp.example.yaml (Obsidian MCP template) - Updated scheduled_tasks.yaml with new task examples Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -5,13 +5,23 @@ tasks:
|
||||
# Morning briefing - sent to Slack/Telegram
|
||||
- name: morning-weather
|
||||
prompt: |
|
||||
Check the user profile (Jordan.md) for the location (Centennial, CO). Use the get_weather tool with OpenWeatherMap API to fetch the current weather. Format the report as:
|
||||
Check the user profile (Jordan.md) for the location (Centennial, CO). Use the get_weather tool with OpenWeatherMap API to fetch the current weather.
|
||||
|
||||
Also use web_fetch to get today's high/low from a weather service:
|
||||
https://wttr.in/Centennial,CO?format=j1
|
||||
|
||||
Parse the JSON response to extract:
|
||||
- maxtempF (today's high)
|
||||
- mintempF (today's low)
|
||||
|
||||
Format the report as:
|
||||
|
||||
🌤️ **Weather Report for Centennial, CO**
|
||||
- Current: [current]°F
|
||||
- High: [high]°F
|
||||
- Low: [low]°F
|
||||
- Current: [current]°F (feels like [feels_like]°F)
|
||||
- Today's High: [high]°F
|
||||
- Today's Low: [low]°F
|
||||
- Conditions: [conditions]
|
||||
- Wind: [wind speed] mph
|
||||
- Recommendation: [brief clothing/activity suggestion]
|
||||
|
||||
Keep it brief and friendly!
|
||||
@@ -20,6 +30,35 @@ tasks:
|
||||
send_to_platform: "telegram"
|
||||
send_to_channel: "8088983654" # Your Telegram user ID
|
||||
|
||||
# Daily Zettelkasten Review
|
||||
- name: zettelkasten-daily-review
|
||||
prompt: |
|
||||
Time for your daily zettelkasten review! Help Jordan process fleeting notes:
|
||||
|
||||
1. Use search_by_tags to find all notes tagged with "fleeting"
|
||||
2. Show Jordan the list of fleeting notes captured today/recently
|
||||
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)"
|
||||
|
||||
Format:
|
||||
📝 **Daily Zettelkasten Review**
|
||||
|
||||
You have [X] fleeting notes to review:
|
||||
|
||||
1. [Title] - [first line of content]
|
||||
2. [Title] - [first line of content]
|
||||
...
|
||||
|
||||
Reply with the number to process, or 'skip' to review later.
|
||||
|
||||
Keep it conversational and low-pressure!
|
||||
schedule: "daily 20:00"
|
||||
enabled: true
|
||||
send_to_platform: "telegram"
|
||||
send_to_channel: "8088983654"
|
||||
|
||||
# Daily API cost report
|
||||
- name: daily-cost-report
|
||||
prompt: |
|
||||
|
||||
Reference in New Issue
Block a user