A Windows desktop friend application inspired by BonziBUDDY and CyberBuddy, using Microsoft Agent characters with SAPI4 text-to-speech and Ollama AI integration for dynamic conversations.
- MS Agent Character Support: Load and display Microsoft Agent characters (.acs files) from your system
- SAPI4 Text-to-Speech: Full SAPI4 voice support with configurable Speed, Pitch, and Volume
- Customizable Lines: Edit welcome, idle, moved, exit, clicked, jokes, and thoughts lines
- Ollama AI Integration: Connect to Ollama for dynamic AI-powered conversations with personality prompting
- User Profile: Describe yourself to the AI for more personalized conversations
- AI Memory System: The AI remembers important information from conversations (with configurable threshold)
- Memory Management: View, edit, add, remove, import/export AI memories
- Random Dialog: Configurable random dialog feature (1 in 9000 chance per second by default) that sends custom prompts to Ollama
- User-Friendly GUI: System tray application with comprehensive settings panel
See REQUIREMENTS.txt for detailed download links.
- Windows 10/11 with .NET Framework 4.8 or later
- DoubleAgent (RECOMMENDED) - Modern MS Agent replacement: https://doubleagent.sourceforge.net/
- Or original Microsoft Agent with manual COM registration
- SAPI4 Text-to-Speech engine: https://www.microsoft.com/en-us/download/details.aspx?id=10121
- Ollama (optional, for AI chat features): https://ollama.ai
- Install DoubleAgent from https://doubleagent.sourceforge.net/ (handles all COM registration automatically)
- Install SAPI 4.0a SDK for voices
- Download and install Ollama if you want AI chat features:
ollama pull llama3.2 - Download the latest release from GitHub Actions or build with
dotnet build - Run MSAgentAI.exe
If you see "Library not registered" errors:
- Solution: Install DoubleAgent instead of original MS Agent
- DoubleAgent properly registers all COM components on modern Windows
Log file location: MSAgentAI.log (same folder as the executable)
Access via tray menu: View Log...
- Character Folder: Default is
C:\Windows\msagent\chars - Select your preferred character from the available .acs files
- Voice: Select from available SAPI4 voices
- Speed: Adjust speaking speed (50-350)
- Pitch: Adjust voice pitch (50-400)
- Volume: Adjust volume level (0-100%)
- Ollama URL: Default is
http://localhost:11434 - Model: Select from available Ollama models
- Personality Prompt: Customize the AI's personality
- User Description: Describe yourself to the AI for personalized responses
- Enable Chat: Toggle AI chat functionality
- Random Dialog: Enable random AI-generated dialog
- Random Chance: Set the chance of random dialog (1 in N per second)
- Enable Memories: Toggle the AI memory system
- Memory Threshold: Set how easily memories are created (0.1 = easy, 10 = hard)
Access via the system tray menu: Manage Memories...
- View all stored AI memories
- Search and filter memories by category
- Add, edit, or delete memories manually
- Export/import memories for backup or migration
- View statistics (total memories, average importance, categories)
- Protocol: Choose between Named Pipe (local) or TCP Socket (network)
- IP Address: For TCP mode, specify the listening IP (default: 127.0.0.1)
- Port: For TCP mode, specify the port number (default: 8765)
- Pipe Name: For Named Pipe mode, specify the pipe name (default: MSAgentAI)
The pipeline allows external applications to send commands to MSAgent-AI. See PIPELINE.md for details and examples.
Edit the following types of lines the agent will say:
- Welcome Lines: Spoken when the agent first appears
- Idle Lines: Spoken randomly while idle
- Moved Lines: Spoken when the agent is dragged
- Clicked Lines: Spoken when the agent is clicked
- Exit Lines: Spoken when exiting
- Jokes: Jokes the agent can tell
- Thoughts: Thoughts shown in thought bubbles
- Random Prompts: Custom prompts sent to Ollama for random dialog
cd src
dotnet restore
dotnet build- Right-click the system tray icon to access the menu
- Go to Settings to configure your agent, voice, and AI options
- Agent Tab: Set your name and describe yourself to the AI
- Ollama AI Tab: Enable memories and set the memory threshold
- Use Chat to have conversations with the agent (requires Ollama)
- Use Manage Memories to view and manage what the AI remembers
- Use Speak menu to make the agent tell jokes, share thoughts, or say custom text
src/
├── Agent/
│ ├── AgentInterop.cs # MS Agent COM interop
│ └── AgentManager.cs # Agent lifecycle management
├── Voice/
│ └── Sapi4Manager.cs # SAPI4 TTS management
├── AI/
│ ├── OllamaClient.cs # Ollama API client
│ ├── Memory.cs # Memory model
│ └── MemoryManager.cs # Memory system management
├── Config/
│ └── AppSettings.cs # Configuration and persistence
├── UI/
│ ├── MainForm.cs # Main application form
│ ├── SettingsForm.cs # Settings dialog
│ ├── ChatForm.cs # AI chat dialog
│ ├── MemoryManagerForm.cs # Memory management UI
│ └── InputDialog.cs # Simple input dialog
└── Program.cs # Application entry point
MIT License