PeakChatOps
A chat system for PEAK. Basic messaging functionality with UI enhancements. Includes AI assistant support via OpenAI SDK.
| Date uploaded | 9 months ago |
| Version | 1.1.4 |
| Download link | LIghtPeak-PeakChatOps-1.1.4.zip |
| Downloads | 97 |
| Dependency string | LIghtPeak-PeakChatOps-1.1.4 |
This mod requires the following mods to function
BepInEx-BepInExPack_PEAK
BepInEx pack for PEAK. Preconfigured and ready to use.
Preferred version: 5.4.75301Snosz-PhotonCustomPropsUtils
Helps modders easily synchronize room/player properties across all connected clients through Photon's Custom Properties.
Preferred version: 1.1.0Cysharp-UniTask
Provides an efficient allocation free async/await integration for Unity.
Preferred version: 2.5.0README
PeakChatOps
PeakChatOps is a modified version based on PeakTextChat.
Retained from the original:
- PeakTextChat's UI framework
- Some patches from PeakTextChat
Major changes:
- Removed PeakTextChat's original chat message logic, replaced with a custom message handler chain
- Added a new command system supporting custom commands (auto registration/hot reload)
- Some components now use PeakLib implementations
- Improved Chinese support
Features:
- Chat box now supports paging! Use the mouse wheel to scroll up and down
- Supports config hot-reload, changes take effect immediately
- Minecraft-like command system! (支持内置命令和插件扩展)
- System messages now support multi-language and rich text color tags!
- Each language line can have its own color, making notifications vibrant and easy to distinguish
- Default system messages (death, revive, pass out) are preset with colorful styles for all supported languages
Features
- Chat message sending/receiving and UI display
- Supports custom commands (auto registration/hot reload)
- Multi-language internationalization and dynamic switching
- System messages (death, revive, pass out) support multi-language and per-line color customization via Unity rich text tags
- Chat input box Tab completion and prediction
- Supports config hot-reload
Installation
- Recommended: Use a mod manager for installation
AI Feature Guide
PeakChatOps supports AI chat assistant. We highly recommend using the free Ollama cloud model (can be deployed on your own server or cloud VM).
1. Download and Install Ollama
- Visit Ollama official site and download the installer for your OS.
- Follow the instructions to install and start Ollama.
- Optional: Run
ollama run llama3orollama run qwen:7bin your terminal to pre-download models. - You can also deploy Ollama on a cloud server (e.g. AWS, Azure, GCP, or any VPS) and expose the API endpoint for remote access.
2. Configure AI Settings
- In-game, open the PeakChatOps settings panel.
- Set
AI Endpointto your Ollama server address, e.g.http://localhost:11434(local) orhttp://your-cloud-ip:11434(cloud). - Leave
API Keyempty (Ollama does not require a key by default). - Set
AI Modeltollama3,qwen:7b, or any model you have downloaded. - You can adjust
Max Tokens,Temperature,TopPand other parameters to control response length and style.
3. Using the /ai Command
- Type
/ai your questionin the chat box, e.g.:/ai Translate this sentence - The AI assistant will reply in the chat box.
- Use
/ai prompt @sendto send the AI reply as a message. - Use
/ai @clearto clear the AI context/history.
4. Customizing Prompts
- In the settings panel, you can set a custom
AI Promptto define the assistant's behavior. - Example:
You are a professional Unity developer assistant. Please answer in concise English. - The prompt will be automatically appended to your AI requests.
5. Recommended Free Models
We personally recommend Ollama's cloud models for best compatibility and cost-free usage. Popular free models include:
- llama3 (general-purpose, fast)
- qwen:7b (Chinese/English, strong reasoning)
- phi3 (compact, efficient)
- gemma (multilingual)
You can find more models on the Ollama model list or via the command line.
6. Troubleshooting
- If you cannot connect, make sure Ollama is running and listening on port 11434.
- If AI replies are empty or error occurs, check if the model is downloaded and the endpoint is correct.
For advanced usage and parameter details, refer to the Ollama documentation or the PeakChatOps settings panel.
Usage
Chat: Press the configured hotkey (e.g. Y) to open the input box, type and press Enter to send
Commands: Type /help to see all commands
Configuration
- Chat box size, position, font, opacity, etc. can be adjusted in the config file
- System message templates can be customized for each language and color using Unity rich text
<color>tags.- Example (default death message):
<color=#FF4040>没想到我也有死的这一天!</color> <color=#FFA500>I never thought I'd see the day I die!</color> <color=#40A0FF>まさか自分が死ぬ日が来るとは!</color> ...
- Example (default death message):
- Supports runtime hot-reload
build
dotnet build -c Release -target:PackTS -v d
Credits (in no particular order)
- PeakTextChat (Inspiration)
- BepInEx (Framework)
- PeakLib (Utility library)
For questions or suggestions, feel free to open an issue or PR!
CHANGELOG
Changelog
-
1.2.0
-
UI Improvements:
- Fixed chat panel occupying entire screen, now only uses actual panel size
- Fixed input text appearing white and hard to read - now uses proper contrast
- Improved maximize/minimize functionality using USS styles instead of hardcoded values
- Fixed long text overflowing horizontally - now properly wraps to new lines
-
Message System Fixes:
- Fixed remote player messages not displaying properly
- Fixed null reference exception in
/dev mock playercommand - Improved message receiving and display pipeline
-
Code Quality:
- Removed unnecessary thread switching calls
- Enhanced error handling and debug logging
- Fixed compilation errors
-
1.1.4
-
added command: /ai usage: /ai [prompt] @send : send prompt to OpenAI chat completion API and get response,send to other players if @send is specified : if @send is not specified, only send to yourself
-added config: autoTranslate : if true, automatically translate received messages to your language using OpenAI API.(need test,default: false)
- 1.0.1
- Added command: /hide : hide chat box immediately