Skip to content

Conversation

@win10ogod
Copy link

No description provided.

…c & OpenAI)

Major Changes:
1. **Project Rename**: mini-agent -> ye_linghua (叶灵华)
   - Renamed package: mini_agent -> ye_linghua
   - Renamed CLI command: mini-agent -> ye-linghua
   - Updated all imports and references
   - Added YeLinghua alias for Agent class

2. **OpenAI Multimodal Support**
   - Enhanced OpenAI client with multimodal input support
   - Support text + image (URL or base64) messages
   - Updated documentation

3. **YAML-based Personality System**
   - Created personality.yaml for character configuration
   - Created prompts.yaml for prompt templates
   - Implemented PersonalityLoader for dynamic prompt generation
   - Backward compatible with legacy system_prompt.md

4. **Web Configuration Interface**
   - FastAPI-based web UI for editing personality and prompts
   - Real-time preview of generated system prompts
   - YAML validation and syntax highlighting
   - New CLI command: ye-linghua-config

5. **Default Personality: Ye Linghua (叶灵华)**
   - Programming-loving AI girl character
   - Friendly, enthusiastic, and professional
   - Customizable traits, interests, and behaviors
   - Chinese + English bilingual support

6. **Updated Configuration**
   - Added agent.use_personality config option
   - Added agent.personality_path and prompts_path
   - Updated config-example.yaml with new options
   - All config paths now use ye-linghua prefix

7. **Documentation**
   - Created comprehensive README_ZH.md
   - Updated all examples with new imports
   - Added Web UI usage guide
   - Migration guide from Mini-Agent

Breaking Changes:
- Package name changed: mini_agent -> ye_linghua
- CLI command changed: mini-agent -> ye-linghua
- Config directory changed: ~/.mini-agent -> ~/.ye-linghua

Migration:
- Update imports: from mini_agent -> from ye_linghua
- Use YeLinghua or Agent (both work)
- Legacy configs still supported for backward compatibility
…port

Implement a modular plugin architecture supporting:
- Python-based plugins with base classes (Plugin, ReplyHandler)
- PowerShell/Shell script plugins with JSON communication
- Timer plugin for scheduled reminders with tag-based interface (<set-timer>, <list-timers>, <remove-timer>)
- Notification plugin with cross-platform desktop notifications (Windows/Linux/macOS)
- PluginLoader with hot-reload capability
- PluginRegistry for centralized management
- ReplyHandler chain for processing LLM responses by priority
- Context and prompt injection into LLM system prompts
- Auto-discovery from plugins directory

Configuration integration:
- Added PluginsConfig to config system
- Updated config-example.yaml with plugin settings
- Support for enabling/disabling individual plugins

Documentation:
- Comprehensive PLUGINS.md with usage examples
- Architecture explanations and best practices
Agent Integration:
- Add plugin_registry, platform, user_id, session_id parameters to Agent.__init__()
- Implement _build_plugin_context() to convert agent state to PluginContext
- Implement _get_plugin_prompt_extensions() to inject plugin prompts into system prompt
- Implement _process_reply_with_plugins() to process LLM responses through ReplyHandler chain
- Update run() method to process responses with plugin handlers before display
- Plugin prompt extensions are automatically injected into system prompt on initialization

CLI Integration:
- Initialize PluginRegistry and PluginLoader in run_agent()
- Load built-in plugins (Timer & Notification) based on config
- Auto-discover and load plugins from plugins directory
- Pass plugin_registry to Agent constructor
- Generate unique session_id for each session
- Display active plugins count in session info
- Properly shutdown all plugins on exit

Features:
- Plugin prompt extensions visible to LLM in system prompt
- ReplyHandler chain processes responses by priority
- Tag-based functionality (<set-timer>, <notify>) works automatically
- Platform context (cli) passed to plugins
- Session tracking with unique IDs
- Document automatic plugin integration in Agent
- Explain system prompt injection and ReplyHandler chain
- Provide CLI usage examples with plugin loading output
- Add programmatic usage example for custom integrations
- Show how plugins work transparently with Agent runtime
@win10ogod win10ogod closed this Nov 17, 2025
@win10ogod win10ogod deleted the claude/multimodal-ye-linghua-refactor-01PTmtnewy3wnkopmQJDBjyv branch November 17, 2025 08:12
@win10ogod win10ogod restored the claude/multimodal-ye-linghua-refactor-01PTmtnewy3wnkopmQJDBjyv branch November 17, 2025 08:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants