Commit graph

15 commits

Author SHA1 Message Date
173af91d45 Increase max_tokens to 500 for web search/RAG responses 2025-12-15 14:34:21 -07:00
ed97bf8d8b Fix web search: use features.web_search for Open WebUI 2025-12-15 14:28:36 -07:00
8a896cfc5a Fix web search: use tool_ids parameter for Open WebUI 2025-12-15 14:22:03 -07:00
e7c44a5f1c Add web search toggle for Open WebUI
- Add web_search config option to LLMConfig
- Pass web_search: true in extra_body when enabled
- Add toggle in configurator LLM submenu (option 7)
2025-12-15 14:11:27 -07:00
0d29ad49c2 Fix restart loop issue - use PID file for clean bot restart
- Use PID file to track bot process instead of pkill pattern matching
- Add 3-second debounce after restart to prevent signal storms
- Properly distinguish bot process from config tool process
- Clean up PID file on bot exit
2025-12-15 14:01:14 -07:00
152f46282f Add toggle to enable/disable system prompt 2025-12-15 13:56:10 -07:00
459028e79e Allow empty system prompt in configurator 2025-12-15 13:53:14 -07:00
8647dd3d91 Add weather settings back to configurator menu 2025-12-15 13:43:18 -07:00
95b194967c Simplify configurator to essential config options
Reduced TUI menu to 10 core options:
1. Bot Settings
2. Connection
3. LLM Backend
4. Response Settings
5. Channels
6. History & Memory
7. Rate Limits
8. Web Status Page
9. Announcements
10. Setup Wizard

Added fq51BBS-style save/restart options:
- 11. Save (stay in menu)
- 12. Save & Restart Bot (apply changes now)
- 13. Save & Exit (save, restart, exit)
- 14. Exit without Saving

Removed from UI (still in code for future use):
- Safety & Filtering
- User Management
- Commands/Custom Commands
- Personality/Personas
- Logging
- Webhooks

Simplified default config and example config to match.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 13:38:33 -07:00
1747edd150 Update TUI configurator with all new config sections
Major expansion of the configurator TUI to support all new config options:

Main Menu:
- Reorganized into 3 tables: Core Settings (1-6), Advanced Settings (7-12), Features (13-16)
- Added options 7-16 for all new config sections

New Submenus Added:
- Rate Limits (7): messages_per_minute, global rate, cooldown, burst allowance
- Safety & Filtering (8): profanity filter, blocked phrases, require_mention, emergency keywords
- User Management (9): blocklist, allowlist, admin nodes, VIP nodes with interactive editors
- Commands (10): enable/disable, prefix, disabled commands, custom commands editor
- Personality (11): system prompt override, context injection, personas editor
- Logging (12): log level, file path, rotation settings, log verbosity toggles
- Web Status Page (14): enable, port, display options, authentication
- Announcements (15): enable, interval, channel, messages editor, random order
- Webhooks (16): enable, URL, events selection

Updated Submenus:
- History (6): Added memory settings (enabled, window_size, summarize_threshold)

All config options are now accessible through the TUI - no need to edit YAML files directly.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 13:18:43 -07:00
165da72d8d Add comprehensive config options matching fq51bbs
New features:
- Rate limiting (per-user and global)
- Enhanced logging with file rotation
- LLM fallback backend support
- Safety filtering (profanity, blocked phrases, emergency keywords)
- User management (blocklist, allowlist, admin/VIP nodes)
- Custom commands with static responses
- Personality/prompt templates with persona switching
- Web status page with JSON API
- Periodic announcements/broadcasts
- Webhook integrations

New modules:
- rate_limiter.py - Per-user and global rate limiting
- safety.py - Response filtering and user access control
- personality.py - Prompt templates and persona management
- web_status.py - Simple web status dashboard
- announcements.py - Periodic broadcast scheduler
- webhook.py - Webhook notification client
- log_setup.py - Enhanced logging configuration
- backends/fallback.py - LLM fallback wrapper

Config expanded from ~50 to ~200 lines with full documentation.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 13:10:02 -07:00
04248bc692 Change web config port from 7681 to 7682
Avoids conflict with fq51bbs which uses 7681

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 12:06:47 -07:00
60acef9d78 Remove redundant docker-compose files
Serial vs TCP is now configured via web interface, not separate compose files.
Just uncomment devices section in docker-compose.yml if using USB serial.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 12:05:30 -07:00
389e59c18e Add web-based config interface via ttyd
- Install ttyd in Docker image for browser-based TUI access
- Create docker-entrypoint.sh to run ttyd + bot with auto-restart
- Expose port 7681 for web config access
- Update docker-compose.yml with proper configuration

Access config at http://localhost:7681 after starting container

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 12:02:14 -07:00
fd3f995ebb Initial commit: MeshAI - LLM-powered Meshtastic assistant
Features:
- Multi-backend LLM support (OpenAI, Anthropic, Google)
- Rolling summary memory for token optimization (~70-80% reduction)
- Per-user conversation history with SQLite persistence
- Bang commands (!help, !ping, !reset, !status, !weather)
- Meshtastic integration via serial or TCP
- Message chunking for mesh network constraints (150 char limit)
- Rate limiting to prevent network congestion
- Rich TUI configurator
- Docker support

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 11:53:46 -07:00