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:
113
config/obsidian_mcp.example.yaml
Normal file
113
config/obsidian_mcp.example.yaml
Normal file
@@ -0,0 +1,113 @@
|
||||
# Obsidian MCP Server Configuration
|
||||
# ===================================
|
||||
# This file configures the external Obsidian MCP server integration.
|
||||
#
|
||||
# Setup:
|
||||
# 1. Copy this file: copy config\obsidian_mcp.example.yaml config\obsidian_mcp.yaml
|
||||
# 2. Set your vault_path below
|
||||
# 3. Ensure Node.js 20+ is installed: node --version
|
||||
# 4. Restart the bot: python bot_runner.py
|
||||
#
|
||||
# The config file (obsidian_mcp.yaml) is gitignored to protect your vault path.
|
||||
# See OBSIDIAN_MCP_INTEGRATION.md for full documentation.
|
||||
|
||||
obsidian_mcp:
|
||||
# ---- Core Settings ----
|
||||
|
||||
# Enable or disable the Obsidian MCP integration
|
||||
# Set to false to disable without removing the config
|
||||
enabled: true
|
||||
|
||||
# Absolute path to your Obsidian vault directory
|
||||
# This MUST be the root folder of your vault (contains .obsidian/ subfolder)
|
||||
#
|
||||
# Windows examples (use double backslashes OR forward slashes):
|
||||
# "C:\\Users\\username\\Documents\\Obsidian\\MyVault"
|
||||
# "C:/Users/username/Documents/Obsidian/MyVault"
|
||||
#
|
||||
# Linux/Mac example:
|
||||
# "/home/username/obsidian-vault"
|
||||
#
|
||||
# To use the bot's built-in zettelkasten vault (same files as custom tools):
|
||||
# "C:\\Users\\username\\projects\\ajarbot\\memory_workspace\\obsidian"
|
||||
vault_path: "C:\\Users\\YOUR_USERNAME\\Documents\\Obsidian\\YOUR_VAULT"
|
||||
|
||||
# ---- Server Settings ----
|
||||
|
||||
server:
|
||||
# Command to launch the MCP server
|
||||
# Default: "npx" (downloads obsidian-mcp on first run)
|
||||
# Alternative: "node" (if installed globally)
|
||||
command: "npx"
|
||||
|
||||
# Arguments passed to the command
|
||||
# The vault_path is appended automatically as the last argument
|
||||
# Default: ["-y", "obsidian-mcp"]
|
||||
# -y = auto-confirm npm package installation
|
||||
args: ["-y", "obsidian-mcp"]
|
||||
|
||||
# Server startup timeout in seconds
|
||||
# Increase if npx is slow on first download
|
||||
startup_timeout: 30
|
||||
|
||||
# ---- Permission Controls ----
|
||||
# Control which operations the bot is allowed to perform.
|
||||
# Disable categories to restrict the bot's access to your vault.
|
||||
|
||||
permissions:
|
||||
# Read operations (safe, no changes to vault)
|
||||
# Tools: read-note, search-vault, list-available-vaults, manage-tags
|
||||
allow_read: true
|
||||
|
||||
# Write operations (creates new files or modifies existing ones)
|
||||
# Tools: create-note, edit-note
|
||||
allow_write: true
|
||||
|
||||
# Delete operations (permanently removes files)
|
||||
# Tools: delete-note
|
||||
# DISABLED by default for safety - enable only if you trust the bot
|
||||
allow_delete: false
|
||||
|
||||
# Move/rename operations (changes file paths)
|
||||
# Tools: move-note
|
||||
allow_move: true
|
||||
|
||||
# Tag operations (modifies YAML frontmatter)
|
||||
# Tools: add-tags, remove-tags, rename-tag
|
||||
allow_tags: true
|
||||
|
||||
# Directory operations (creates new folders)
|
||||
# Tools: create-directory
|
||||
allow_directories: true
|
||||
|
||||
# ---- Safety Settings ----
|
||||
|
||||
safety:
|
||||
# Require user confirmation before any write operation
|
||||
# When true, the bot will ask "Are you sure?" before creating/editing notes
|
||||
confirm_writes: false
|
||||
|
||||
# Create a backup copy before deleting a note
|
||||
# Backup is saved to .trash/ in the vault root
|
||||
backup_before_delete: true
|
||||
|
||||
# Maximum note content size in characters
|
||||
# Prevents accidental creation of very large notes
|
||||
max_note_size: 50000
|
||||
|
||||
# Directories the bot should never access or modify
|
||||
# Paths are relative to the vault root
|
||||
restricted_paths:
|
||||
- ".obsidian" # Obsidian app configuration
|
||||
- ".trash" # Obsidian trash folder
|
||||
- ".git" # Git repository data (if vault is version-controlled)
|
||||
|
||||
# ---- Environment Variable Overrides ----
|
||||
# These environment variables override the YAML settings above.
|
||||
# Add them to your .env file if you prefer not to use YAML config.
|
||||
#
|
||||
# OBSIDIAN_VAULT_PATH=C:\Users\username\Documents\Obsidian\MyVault
|
||||
# OBSIDIAN_MCP_ENABLED=true
|
||||
# OBSIDIAN_MCP_COMMAND=npx
|
||||
# OBSIDIAN_MCP_ALLOW_DELETE=false
|
||||
# OBSIDIAN_MCP_CONFIRM_WRITES=false
|
||||
Reference in New Issue
Block a user