mogzi
mogziはC#を使用した開発者向けのツールで、コードの生成や編集を効率化します。直感的なインターフェースを持ち、開発プロセスをスムーズに進めるための機能を提供します。特に、コードの自動補完やエラーチェック機能が充実しており、初心者から上級者まで幅広く利用可能です。
GitHubスター
7
ユーザー評価
未評価
お気に入り
0
閲覧数
25
フォーク
0
イシュー
11
Mogzi
A Multi-model autonomous assistant right in your terminal or CI/CD pipeline and open to multiple API providers and AI models
Perform engineering research, full coding tasks, and multiple workflow with either natural language or shell scripts 👈
Please note that this project is still in the alpha stage and being actively developed. I welcome contribution from the community per this guidance.
Features ✨
- Cross-platform support (Windows, MacOS, Linux)
- Interactive chat interface with streaming AI responses
- Chat history persistence with session management
- Profile-based configuration for easy switching between providers and models
- Currently supports the OpenAI-compatible APIs enabling numerous provides like Requesty.ai, Supernova, etc.
- For now, the
best
results are with models having excellect tool and instruction following like those from Anthropic and the new Kimi models.
- Control file system access via tool appproval (
readonly
orall
)
Planned:
- MCP-Support (coming soon)
- Non-Interactive Chat/Workflows
- Pipe support for integrating with shell workflows
Examples 💡
# Start an interactive chat using your default profile as defined by your `mogzi.config.json`
mogzi
# Start an interactive chat using a profile named 'sonnet' as defined by your `mogzi.config.json`
mogzi --profile sonnet
# List available sessions (shows most recent 10 by default, can be configed in `mogzi.config.json`)
mogzi session list
# Continues an interactive chat session named 'rainbow_unicorn'
mogzi chat --session rainbow_unicorn
Getting Started ✅
Step 1: Obtain the API details about an OpenAI-Compatiable
- Obtain the API details about an OpenAI-Compatiable Provider (e.g. Requesty AI, etc.)
- Base URL
- API Key
- Desired Model Id
Step 2: Download Mogzi executable
Download the latest release following the steps below.
For Windows:
- Download mogzi.exe and moves it to your WindowsApp directory
Start-BitsTransfer -Source https://github.com/peakflames/mogzi/releases/latest/download/mogzi-win-x64.exe -Destination mogzi.exe; move -Force mogzi.exe $env:USERPROFILE\\AppData\\Local\\Microsoft\\WindowsApps
For MacOS (sudo):
- Download mogzi and moves it to your
/usr/local/bin
sudo curl -L -o mogzi https://github.com/peakflames/mogzi/releases/latest/download/mogzi-osx-x64 && sudo chmod +x mogzi && sudo mv -f mogzi /usr/local/bin
For Linux (sudo)
- Download mogzi and moves it to your
/usr/local/bin
sudo curl -L -o mogzi https://github.com/peakflames/mogzi/releases/latest/download/mogzi-linux-x64 && sudo chmod +x mogzi && sudo mv -f mogzi /usr/local/bin
Step 3: Create your mogzi.config.json in your home directory
In your home directory, create a configuration file (mogzi.config.json
) with your API provider details:
{
"mogziConfig": {
"sessionListLimit": 10,
"apiProviders": [
{
"name": "MyCompanyProvider",
"type": "OpenAI-Compatible",
"apiKey": "example-key",
"baseUrl": "https://litellm.mycompany.com"
},
{
"name": "RequestyAI",
"type": "OpenAI-Compatible",
"apiKey": "example-key",
"baseUrl": "https://router.requesty.ai/v1"
},
{
"name": "Deepseek",
"type": "OpenAI-Compatible",
"apiKey": "example-key",
"baseUrl": "https://api.deepseek.com"
}
],
"profiles": [
{
"default": true,
"name": "Default",
"apiProvider": "MyCompanyProvider",
"modelId": "03-mini"
},
{
"name": "Sonnet",
"apiProvider": "RequestyAI",
"modelId": "vertex/anthropic/claude-3-7-sonnet"
},
{
"name": "Gemini",
"apiProvider": "RequestyAI",
"modelId": "google/gemini-2.5-pro"
},
{
"name": "V3",
"apiProvider": "Deepseek",
"modelId": "deepseek-chat"
}
]
}
}
Step 4: Open a Terminal and chat
- Open you favorite Terminal app
- Start an interactive chat
$ mogzi
Configuration Schema ⚙️
The application uses a JSON configuration file with the following structure:
apiProviders: List of available API providers
- name: Unique identifier for the provider
- type: Provider type (OpenAI-Compatible at this time, more to come)
- apiKey: Your API key for the provider
- baseUrl: Base URL for the API (for OpenAI-Compatible providers)
profiles: List of available profiles
- default: Whether this is the default profile (true/false)
- name: Profile name
- apiProvider: Name of the API provider to use (must match a provider name)
- modelId: Model ID to use for chat completion
Tool Approval 🔒
Mogzi includes a tool approval feature to provide control over file system operations. This setting can be configured in your mogzi.config.json
file or overridden at runtime with a command-line argument.
Modes:
readonly
: (Default) Mogzi will be prevented from performing any write operations or shell commands.all
: Mogzi is pre-approved to perform any file system operation or shell commands without asking for confirmation. (i.e. YOLO mode)
Configuration:
To set the default tool approval mode, add the tool_approvals
property to your mogzi.config.json
:
{
"mogziConfig": {
"tool_approvals": "all",
}
}
Command-Line Override:
You can override the configuration file setting using the --tool-approvals
or -ta
argument:
mogzi "Create a new file" -ta all
Tools
File System Operations
list_directory
- Browse directory contentsread_text_file
- Read text files with pagination supportread_image_file
- Read and analyze image filesread_pdf_file
- Extract text from PDF documents
File System Operations
write_file
- Create or overwrite files (requires--tool-approvals all
)replace_in_file
- Make targeted text replacements in files (requires--tool-approvals all
)apply_code_patch
- Apply unified diff patches (requires--tool-approvals all
)
Code Analysis & Search
search_file_content
- Search file contents with regex patternsgenerate_code_patch
- Create diff patchespreview_patch_application
- Preview patch changes
System Operations
execute_command
- Run shell commands (requires--tool-approvals all
)attempt_completion
- Signal task completion
Upcoming Tools
list_code_definition_names
- Extract code structure and definitionsmcp_tools
- Model Context Protocol support for external integrations
Contributing 🤝
To contribute to the project, start with our Contributing Guide to learn the basics. You can also join our Discord to chat with other contributors in the #contributors
channel.
Copyright ©️
Copyright (c) 2025 Todd Schavey
This work is licensed under the Creative Commons Attribution-NonCommercial 4.0 International License.
To view a copy of this license, visit http://creativecommons.org/licenses/by-nc/4.0/ or send a letter
to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.