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

@@ -0,0 +1,103 @@
# Quick Setup: Obsidian Local REST API Plugin
## Your Current Status
- ✅ Obsidian is running
- ✅ Config file is ready (`config/obsidian_mcp.yaml`)
- ❌ Local REST API plugin not responding on port 27123
## Setup Steps
### 1. Install the Local REST API Plugin in Obsidian
1. Open **Obsidian**
2. Go to **Settings** (gear icon) → **Community Plugins**
3. If you see "Safe mode is on", click **Turn off Safe Mode**
4. Click **Browse** button
5. Search for: **"Local REST API"**
6. Click **Install** on the "Local REST API" plugin by coddingtonbear
7. After installation, click **Enable**
### 2. Configure the Plugin
1. In Obsidian Settings, scroll down to **Plugin Options**
2. Find **Local REST API** in the left sidebar
3. Copy your API key shown in the plugin settings
4. Compare it with the key in your `config/obsidian_mcp.yaml`:
```
api_key: "ee625f06a778e3267a9219f9b8c1065a039375ea270e414a34436c6a3027f2da"
```
5. If they don't match, update the config file with the correct key
### 3. Verify the Plugin is Running
1. Check that the plugin shows as **enabled** in Obsidian
2. The plugin should show: "Server running on http://127.0.0.1:27123"
3. Restart Obsidian if needed
### 4. Test the Connection
Run this command in your project directory:
```powershell
python -c "from obsidian_mcp import check_obsidian_health; print('Health Check:', check_obsidian_health(force=True))"
```
**Expected output**: `Health Check: True`
### 5. Restart the Bot
```powershell
venv\Scripts\activate
python bot_runner.py
```
Look for this line in the startup logs:
```
[LLM] Obsidian MCP server registered (8 tools)
```
If you see this instead, the plugin isn't working yet:
```
[LLM] Obsidian MCP enabled but health check failed - using custom tools only
```
## Alternative: File-Based Access (Already Working)
If you don't want to use the Local REST API plugin, your bot can **already** access your Obsidian vault via the filesystem using these tools:
- `fleeting_note` - Quick capture with auto-ID
- `daily_note` - Timestamped journal entries
- `literature_note` - Save web articles
- `permanent_note` - Create refined notes with auto-linking
- `search_vault` - Hybrid semantic search
- `search_by_tags` - Find notes by tags
- `read_file` / `write_file` / `edit_file` - Direct file access
The **Obsidian MCP tools** add these extra capabilities:
- `obsidian_update_note` - Frontmatter-aware editing
- `obsidian_global_search` - Native Obsidian search
- `obsidian_manage_frontmatter` - Advanced metadata management
- `obsidian_manage_tags` - Bulk tag operations
- `obsidian_delete_note` - Safe deletion
## Troubleshooting
### Plugin shows "Server not running"
- Click the **Restart Server** button in the plugin settings
- Check Windows Firewall isn't blocking port 27123
### API key mismatch
- Copy the EXACT key from Obsidian plugin settings
- Update `config/obsidian_mcp.yaml` → `connection.api_key`
### Wrong vault path
- Your current vault path: `C:/Users/fam1n/OneDrive/Documents/Remote-Mind-Vault`
- Verify this path exists and contains a `.obsidian` folder
### Health check still fails after setup
- Restart Obsidian
- Restart the bot
- Check port 27123 isn't used by another program:
```powershell
netstat -ano | findstr :27123
```