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:
2026-02-18 20:31:32 -07:00
parent 0271dea551
commit fe7c146dc6
29 changed files with 5678 additions and 2287 deletions

View File

@@ -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: |