pms-ollama-cli
v1.2.5
Published
Autonomous AI Software Engineer CLI powered by Local Ollama & Cloud Models.
Downloads
1,029
Maintainers
Readme
█▀█ █▀▄▀█ █▀ █▀█ █░░ █░░ ▄▀█ █▀▄▀█ ▄▀█
█▀▀ █░▀░█ ▄█ █▄█ █▄▄ █▄▄ █▀█ █░▀░█ █▀█
Autonomous AI Software Engineer CLI
Harness the power of Ollama, Cloud Models, and Local Intelligence in a professional Terminal UI.
🌟 Introduction
PMS Ollama CLI is a robust, autonomous AI engineering tool designed for developers who want a seamless, high-performance interface for both local and cloud-based LLMs. Built with a sleek React-powered Terminal UI (Ink), it empowers you to write code, manage files, and execute system commands through a natural conversation with an AI that understands your local project context.
Unlike standard chat interfaces, PMS Ollama CLI is an active participant in your development workflow. It doesn't just suggest code; it applies it.
🆕 What's New (v1.2.5)
- Autonomous Tool Enforcer: Completely redesigned system prompt that mandates tool usage for file operations. Local models like
qwen2.5-coderwill now autonomously save files instead of just showing code blocks. - Hierarchical Esc Navigation: Implemented "one-step-back" logic for the
Esckey. Navigate backwards through sub-menus (Model selection -> Category selection) or cancel ongoing AI generations instantly. - JSON Fallback Engine: Added a robust JSON-based tool calling fallback to support smaller local models that may struggle with native tool protocols.
- Universal Code Formatting: Enforced standard Markdown blocks across all models for perfect parsing and rendering.
- Improved Identity Logic: Refined AI persona to maintain a consistent "PMS Ollama CLI" identity across all local and cloud backends.
🚀 Key Features
🖥️ Professional Terminal UI (TUI)
- Hierarchical Navigation: Use
Escto go back one step in menus orCtrl+Cto exit. - Interactive Navigation: Smooth arrow-key navigation for history, models, and permissions.
- Real-time Streaming: Watch the AI's thoughts and code blocks appear live.
- Categorized Models: Clear distinction between Local, Public, and Subscription models.
🏠 Local & Cloud Flexibility
- Deep Local Integration: Automatically detects and connects to your local Ollama instance (
localhost:11434). - Autonomous Local Workflow: Optimized for local models to perform file system operations without manual copy-pasting.
- Cloud Power: Access massive cloud models like
qwen3-coder:480borllama3.1:405bwhen local resources aren't enough.
🛡️ Smart Security & Permissions
- Session Whitelisting: Grant "Allow for this session" permissions to tools you trust, minimizing interruptions.
- Encrypted Keys: API keys are stored securely using XOR + Base64 encryption in your local AppData.
🧠 Advanced Engineering Tools
- MCP Support: Connect to external Model Context Protocol servers for dynamic tool capabilities (e.g., GitHub, Slack, SQLite).
- Plan Mode: Forces the AI to draft a design document and strategy before touching any code.
- Web Fetch: Allows the AI to read documentation or research topics directly from URLs.
- File System Mastery: Surgical editing, directory listing, and smart file attachments.
🔌 Model Context Protocol (MCP)
PMS Ollama CLI supports MCP, allowing you to extend the AI's capabilities with external tools.
How to use MCP Server
- Create (or edit) the
mcp-servers.jsonfile in your data directory (usually~/.config/pmsollama/mcp-servers.jsonor%APPDATA%\pmsollama\mcp-servers.json). - Define your servers. Here is an example to add SQLite and GitHub capabilities:
{
"servers": {
"sqlite": {
"command": "uvx",
"args": ["mcp-server-sqlite", "--db-path", "D:/data/my-database.db"]
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "your_token_here"
}
}
}
}- Restart PMS Ollama CLI.
- The AI will automatically discover the new tools. You can ask it to:
- "Query my SQLite database for the top 5 users."
- "List my open pull requests on the 'pms-ollama-cli' repo."
🛠️ Installation
Prerequisites
Global Installation
Install PMS Ollama CLI globally to access it from any project directory:
npm install -g pms-ollama-cliAfter installation, you can launch the app from anywhere by typing:
pmsollama📖 Usage Guide
Getting Started
- Launch the CLI:
pmsollama - Set your API Key (if using Cloud models):
/key - Select your model:
/model - Start building!
Navigation
Esc: Go back one step in menus, cancel generation, or deny tool permission.Arrows: Navigate menu options and chat history.Enter: Select option or send message.Ctrl+C: Save and exit.
Useful Commands
| Command | Description |
| :--- | :--- |
| /help | List all available commands |
| /model | Switch between Local, Public, and Subscription models |
| /mcp | List connected MCP servers and their tools |
| /checkpoint | Save the current session state as a new history entry |
| /settings | View technical details of the current session |
| /key | Add, update, or remove your Ollama API key |
| /history | Browse and load previous chat sessions |
| /ls | List files in the current project directory |
| /file <path> | Attach a file to your next message for context |
| /search <query> | Manually trigger a web search |
| /update | Check for and install the latest version |
| /clear | Clear the terminal screen |
🎯 Use Cases
- Rapid Prototyping: "Create a React todo list with Tailwind and save it to src/todo."
- Code Refactoring: "Read src/utils.js and improve the error handling logic."
- Local Documentation Research: Use
web_fetchto feed a library's documentation to a local model for offline-first development. - Autonomous Bug Fixing: Attach a failing test file and let the AI diagnose and fix the issue.
🤝 Contributing
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
📄 License
Distributed under the MIT License. See LICENSE for more information.
