A pink-themed, provider-agnostic coding CLI for local development workflows.
MoeCli is a multi-provider coding assistant that runs in your terminal and keeps the useful parts of a modern coding agent workflow: streaming chat, local tools, browser integration, search, task planning, sub-agents, and automatic context compaction.
It is designed for people who want a Codex / Claude Code style local CLI, but with their own provider choice.
- Pink-themed terminal experience with streaming output and tool activity rendering
- Native support for multiple providers instead of being locked to one vendor
- Chat mode and task mode with keyboard switching
- Local file, shell, browser, search, and sub-agent tools
- Automatic context compaction for long-running conversations
- Provider profiles with local secret storage
- Model sync from provider endpoints, with manual fallback when model listing is unavailable
| Provider | Status | Notes |
|---|---|---|
| OpenAI Responses | Supported | Native Responses API flow |
| OpenAI Compatible | Supported | Responses-first, Chat fallback |
| Anthropic | Supported | Messages API |
| Amazon Bedrock | Supported | Converse / ConverseStream style integration |
| Google Gemini | Supported | Gemini API integration |
npm i -g @moetanorg/moeclimoecli- Node.js 22+
moecliInside the CLI:
/providers
You can add:
- profile name
- provider type
- base URL / region / extra headers
- API key
- default model
If model listing fails, MoeCli will let you type the model id manually.
Explain this repo structure
/mode task
Or use:
Shift+Tab
Use this mode for:
- normal conversation
- code questions
- refactors and direct edits
- quick debugging
Use this mode for:
- plan-first execution
- larger implementation work
- task review and approval flow
- multi-step coding jobs
Task mode is designed to:
- explore first
- ask follow-up questions when needed
- submit a task plan
- wait for approval
- execute after approval
MoeCli includes a local tool layer instead of relying on cloud-only features.
read_filelist_fileswrite_fileshellweb_search
browser_statusbrowser_openbrowser_snapshotbrowser_screenshot
request_user_inputtask_submit_plan
agent_spawnagent_sendagent_waitagent_abort
| Command | Description |
|---|---|
/help |
Show command help |
/providers |
Add, edit, activate, or delete provider profiles |
/model |
Change the active model |
/mode |
Switch between chat-edit and task |
/status |
Show current session, provider, model, and compaction state |
/config |
Configure browser, search, and default agent mode |
/browser |
Inspect local browser integration |
/clear |
Start a fresh conversation |
/exit |
Quit MoeCli |
MoeCli supports a configurable search endpoint for real-time web search.
You can configure search inside:
/config
Typical settings include:
- endpoint URL
- auth header name
- auth header prefix
- API key
- default site / filetype / sort / time range
Long conversations are handled automatically.
MoeCli keeps:
- full local runtime history
- active compacted context for the model
- session memory file for long-running work
When the prompt gets too large, MoeCli will compact older context and continue instead of simply failing.
By default, MoeCli stores its local data in:
~/.moecli
This includes:
- settings
- secrets
- cache
- session memory
- agent state
You can override the home directory with:
MOECLI_HOME=/custom/pathnpm installnpm run devnpm run buildnpm testPublished package:
@moetanorg/moecli
CLI command:
moecli
MoeCli aims to be a practical local coding CLI that is:
- provider-agnostic
- tool-rich
- task-oriented
- terminal-native
- friendly to long-running engineering work
If you like terminal coding agents but want more control over providers and local workflows, MoeCli is built for that.