|
|
fe7c146dc6
|
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>
|
2026-02-18 20:31:32 -07:00 |
|
|
|
50cf7165cb
|
Add sub-agent orchestration, MCP tools, and critical bug fixes
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>
|
2026-02-16 07:43:31 -07:00 |
|
|
|
911d362ba2
|
Optimize for Claude Agent SDK: Memory, context, and model selection
## Memory & Context Optimizations
### agent.py
- MAX_CONTEXT_MESSAGES: 10 → 20 (better conversation coherence)
- MEMORY_RESPONSE_PREVIEW_LENGTH: 200 → 500 (richer memory storage)
- MAX_CONVERSATION_HISTORY: 50 → 100 (longer session continuity)
- search_hybrid max_results: 2 → 5 (better memory recall)
- System prompt: Now mentions tool count and flat-rate subscription
- Memory format: Changed "User (username)/Agent" to "username/Garvis"
### llm_interface.py
- Added claude_agent_sdk model (Sonnet) to defaults
- Mode-based model selection:
* Agent SDK → Sonnet (best quality, flat-rate)
* Direct API → Haiku (cheapest, pay-per-token)
- Updated logging to show active model
## SOUL.md Rewrite
- Added Garvis identity (name, email, role)
- Listed all 17 tools (was missing 12 tools)
- Added "Critical Behaviors" section
- Emphasized flat-rate subscription benefits
- Clear instructions to always check user profiles
## Benefits
With flat-rate Agent SDK:
- ✅ Use Sonnet for better reasoning (was Haiku)
- ✅ 2x context messages (10 → 20)
- ✅ 2.5x memory results (2 → 5)
- ✅ 2.5x richer memory previews (200 → 500 chars)
- ✅ Bot knows its name and all capabilities
- ✅ Zero marginal cost for thoroughness
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-15 10:22:23 -07:00 |
|
|
|
8afff96bb5
|
Add API usage tracking and dynamic task reloading
Features:
- Usage tracking system (usage_tracker.py)
- Tracks input/output tokens per API call
- Calculates costs with support for cache pricing
- Stores data in usage_data.json (gitignored)
- Integrated into llm_interface.py
- Dynamic task scheduler reloading
- Auto-detects YAML changes every 60s
- No restart needed for new tasks
- reload_tasks() method for manual refresh
- Example cost tracking scheduled task
- Daily API usage report
- Budget tracking ($5/month target)
- Disabled by default in scheduled_tasks.yaml
Improvements:
- Fixed tool_use/tool_result pair splitting bug (CRITICAL)
- Added thread safety to agent.chat()
- Fixed N+1 query problem in hybrid search
- Optimized database batch queries
- Added conversation history pruning (50 messages max)
Updated .gitignore:
- Exclude user profiles (memory_workspace/users/*.md)
- Exclude usage data (usage_data.json)
- Exclude vector index (vectors.usearch)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-13 23:38:44 -07:00 |
|
|
|
a99799bf3d
|
Initial commit: Ajarbot with optimizations
Features:
- Multi-platform bot (Slack, Telegram)
- Memory system with SQLite FTS
- Tool use capabilities (file ops, commands)
- Scheduled tasks system
- Dynamic model switching (/sonnet, /haiku)
- Prompt caching for cost optimization
Optimizations:
- Default to Haiku 4.5 (12x cheaper)
- Reduced context: 3 messages, 2 memory results
- Optimized SOUL.md (48% smaller)
- Automatic caching when using Sonnet (90% savings)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-02-13 19:06:28 -07:00 |
|