One dashboard for all your local AI coding agents. Switch providers, manage sessions, and orchestrate tasks across Codex, Claude Code, Gemini CLI, CodeBuddy Code, Pi, OpenCode, KiloCode, and OpenClaw. Zero cloud, local-first control plane.
$ npx -y skills add SakuraByteCore/codexmate --agent claude-code
Run the curl in your terminal, the rest in Claude Code.
Repo: SakuraByteCore/codexmate
What's inside
One dashboard for all your local AI coding agents. Switch providers, manage sessions, and orchestrate tasks across Codex, Claude Code, Gemini CLI, CodeBuddy Code, Pi, OpenCode, KiloCode, and OpenClaw. Zero cloud, local-first control plane.
[!TIP] Local First: All configurations and sessions are stored in your home directory. No telemetry, no cloud accounts required.
[!IMPORTANT] This project is currently in early stage. We are seeking developers to help build the local agent ecosystem!
Have you ever felt overwhelmed by managing multiple local AI agents? Each has its own config format, session storage, and skills directory.
Codex Mate offers a unified control plane to bring order to the chaos. It's a local-first CLI + Web UI designed to manage Codex, Claude Code, OpenCode, KiloCode, and OpenClaw seamlessly.
Unlike simple wrappers, Codex Mate acts as a Local Agent Bridge:
User-Agent, Version, OpenAI-Beta, and Originator so upstream providers see an official Codex CLI-shaped request.~/.codexmate, projecting only the active provider into native OpenCode config to avoid polluting or deleting user-owned settings.~/.config/kilo/kilo.jsonc while preserving stored API keys.CLAUDE.md and AGENTS.md with auto-detection of project paths, plus a shared preset pool for reusable prompts.| Feature | Status | Description |
|---|---|---|
| Provider Management | โ | Switch providers/models for Codex, Claude, OpenCode, KiloCode, and OpenClaw |
| Live Agent Sync | โ | Real-time monitoring of Codex/Claude config & status |
| Session Browser | โ | Search, preview, filter, and export sessions across Codex, Claude Code, Gemini CLI, CodeBuddy Code, and Pi |
| Usage Analytics | โ | Visualize message trends and top projects |
| Local Skills Market | โ | Cross-app import/export of agent skills |
| Task Queue | โ | DAG-based task execution and logs |
| OpenAI Bridge | โ | Convert Codex Responses API to standard OpenAI format and attach/normalize Codex fingerprints in the built-in conversion |
| Claude Provider Bridge | โ | Connect Claude Code to OpenAI Chat Completions-compatible providers and Ollama via the built-in Claude-compatible proxy |
| OpenCode Provider Store | โ | Keep multiple OpenCode providers in ~/.codexmate while projecting only the selected provider to native OpenCode config |
| KiloCode Config Bridge | โ | Configure KiloCode through codexmate kilo config or the Web UI, writing provider URL/model/API key data to ~/.config/kilo/kilo.jsonc |
| Provider Health Check | โ | Probe local Codex/Claude provider routes, highlight failed configs, and bulk-remove selected broken providers safely |
| Prompt Templates | โ | Reusable prompt plugins with variables |
| Prompt File Editor | โ | Edit global and project-level CLAUDE.md / AGENTS.md with auto-detect, path switching, and a shared preset pool. Applying a preset only updates the editor; save manually to write the file. |
| MCP Integration | โ | Expose local tools and resources via MCP stdio |
| Auto Update | โ | Quick update CLI via codexmate update |
brew tap SakuraByteCore/codexmate
brew install codexmate
Requires Node.js (brew install node if not present).
npm install -g codexmate
codexmate run
If the default Web UI port 3737 is unavailable, Codex Mate automatically tries the next ports (3738, 3739, ...). To force a fixed port, set CODEXMATE_PORT:
CODEXMATE_PORT=8080 codexmate run
Windows PowerShell:
$env:CODEXMATE_PORT=8080; codexmate run
curl -fsSL https://raw.githubusercontent.com/SakuraByteCore/codexmate/main/scripts/install.sh | bash
npm install -g @openai/codexnpm install -g @anthropic-ai/claude-codenpm install -g @google/gemini-clinpm install -g @tencent-ai/codebuddy-codenpm install -g @kilocode/cli (kilo / kilocode)~/.pi/agent/sessions%%{ init: { 'flowchart': { 'curve': 'catmullRom' } } }%%
flowchart TD
User([User])
CLI[CLI]
WebUI[Web UI]
MCP[MCP Server]
subgraph Mate [Codex Mate Core]
API[HTTP API]
Config[Config Engine]
Session[Session Manager]
Skills[Skills Market]
Tasks[Task Runner]
end
subgraph Local [Local Filesystem]
CodexDir[~/.codex]
ClaudeDir[~/.claude]
ClawDir[~/.openclaw]
OpenCodeDir[~/.config/opencode]
MateDir[~/.codexmate]
State[Sessions/Usage/Trash]
end
User --> CLI & WebUI & MCP
CLI & WebUI & MCP --> API
API --> Config & Session & Skills & Tasks
Config --> CodexDir & ClaudeDir & ClawDir & OpenCodeDir & MateDir
Session --> State
Skills --> Local
Special thanks to all contributors for their contributions to Codex Mate โค๏ธ
Apache-2.0
.coderabbit.yaml
.gitattributes
.github/
ISSUE_TEMPLATE/
bug_report.md
feature_request.md
workflows/
brew-update.yml
ci.yml
pages.yml
release.yml
.gitignore
cli/
cli.js
agents-files.js
analytics-export-args.js
archive-helpers.js
auth-profiles.js
builtin-proxy.js
claude-proxy.js
config-bootstrap.js
config-health.js
doctor-core.js
import-skills-url.js
local-bridge.js
openai-bridge-retry.js
openai-bridge-runtime.js
openai-bridge.js
openclaw-config.js
session-convert-args.js
session-convert-io.js
session-convert.js
session-usage.concurrent.js
session-usage.js
session-usage.models.js
skills.js
update.js
zip-commands.js
lib/
automation.js
cli-file-utils.js
cli-models-utils.js
cli-network-utils.js
cli-path-utils.js
cli-session-utils.js
cli-sessions.js
cli-utils.js
cli-webhook.js
download-artifacts.js
mcp-stdio.js
task-orchestrator.js
task-workspace-chat.js
text-diff.js
win-tray.js
workflow-engine.js
LICENSE
package-lock.json
package.json
plugins/
prompt-templates/
comment-polish/
index.mjs
computed.mjs
index.mjs
manifest.mjs
methods.mjs
overview.mjs
ownership.mjs
rule-ack/
index.mjs
storage.mjs
README.md
README.zh-CN.md
registry.mjs
pnpm-lock.yaml
pnpm-workspace.yaml
README.md
README.vi.md
README.zh.md
scripts/
install.sh
site/
.vitepress/
config.js
public/
images/
logo.png
logo.svg
readme/
readme-hero.png
config-codex.png
config-opencode.png
sessions.png
web-ui-screenshot.png
guide/
getting-started.md
github-pages.md
workflow.md
index.md
package.json
postcss.config.cjs
skills/
context-recovery/
scripts/
search_sessions.py
SKILL.md
tests/
e2e/
helpers.js
recent-health.e2e.js
run.js
test-claude-proxy.js
test-claude.js
test-config.js
test-health-speed.js
test-install-status.js
test-invalid-config.js
test-kilocode-config.js
test-mcp.js
test-messages.js
test-openclaw.js
test-session-convert-derived.js
test-session-resume-commands.js
test-session-search.js
test-sessions.js
test-setup.js
test-task-orchestration.js
test-web-ui-assets.js
test-web-ui-session-browser.js
test-web-ui-session-tab.js
test-web-ui-url-routing.js
test-web-ui-usage-interactions.js
test-webhook.js
test-workflow.js
unit/
agents-diff-ui.test.mjs
agents-files-project.test.mjs
agents-modal-guards.test.mjs
analytics-export-args.test.mjs
api-module.test.mjs
automation.test.mjs
builtin-proxy-responses-shim.test.mjs
ci-workflow-contract.test.mjs
claude-proxy-adapter.test.mjs
claude-settings-sync.test.mjs
cli-help.test.mjs
cli-models-utils.test.mjs
cli-network-utils.test.mjs
coderabbit-workflows.test.mjs
codex-proxy-options.test.mjs
compact-layout-ui.test.mjs
config-health-module.test.mjs
config-refresh-timeout.test.mjs
config-tabs-ui.test.mjs
context-recovery-skill.test.mjs
helpers/
web-ui-app-options.mjs
web-ui-source.mjs
i18n-locales.test.mjs
import-skills-url.test.mjs
install-methods.test.mjs
install-target-cards.test.mjs
kilocode-config-cli.test.mjs
kilocode-config-ui.test.mjs
lint-contract.test.mjs
local-bridge-claude-target-api.test.mjs
mcp-stdio.test.mjs
npm-package-files.test.mjs
openai-bridge-upstream-responses.test.mjs
openclaw-core.test.mjs
openclaw-editing.test.mjs
openclaw-persist-regression.test.mjs
opencode-config-ui.test.mjs
opencode-provider-store-backend.test.mjs
plugins-ownership-contract.test.mjs
plugins-registry-contract.test.mjs
prompt-presets.test.mjs
prompt-templates-ownership-contract.test.mjs
provider-cache-records.test.mjs
provider-default-names.test.mjs
provider-share-command.test.mjs
provider-switch-regression.test.mjs
providers-validation.test.mjs
readme-docs-consistency.test.mjs
release-changelog.test.mjs
reset-main.test.mjs
run.mjs
session-actions-standalone.test.mjs
session-browser-timeline-regression.test.mjs
session-convert-web-ui.test.mjs
session-convert.test.mjs
session-detail-preview-fast.test.mjs
session-header-actions-layout.test.mjs
session-query.test.mjs
session-resume-command.test.mjs
session-tab-switch-performance.test.mjs
session-trash-state.test.mjs
session-usage-backend.test.mjs
session-usage.test.mjs
session-workspace-summary.test.mjs
skills-market-runtime.test.mjs
skills-modal-ui.test.mjs
startup-claude-star-prompt.test.mjs
task-codex-exec-windows.test.mjs
task-orchestrator.test.mjs
task-workspace-chat.test.mjs
test-web-ui-url-normalization.mjs
text-diff.test.mjs
toast-message-translation.test.mjs
unzip-ext.test.mjs
update-version-status.test.mjs
web-run-host.test.mjs
web-ui-behavior-parity.test.mjs
web-ui-logic.test.mjs
web-ui-preferences.test.mjs
web-ui-restart.test.mjs
web-ui-runtime-navigation-regression.test.mjs
web-ui-source-bundle.test.mjs
web-ui-startup-init.test.mjs
web-ui-url-canonicalization.test.mjs
workflow-engine.test.mjs
tools/
ci/
ensure-test-deps.js
run-check.js
dev/
generate-plugins-registry.js
lint.js
reset-and-dev.js
reset-main.js
generate-zh-tw.mjs
release/
changelog.js
publish-npm.cmd
publish-npm.js
web-ui/
web-ui.html
app.js
index.html
logic.agents-diff.mjs
logic.claude.mjs
logic.codex.mjs
logic.mjs
logic.runtime.mjs
logic.session-convert.mjs
logic.sessions.mjs
modules/
api.mjs
app.computed.dashboard.mjs
app.computed.index.mjs
app.computed.main-tabs.mjs
app.computed.prompts.mjs
app.computed.session.mjs
app.constants.mjs
app.methods.agents.mjs
app.methods.claude-config.mjs
app.methods.codex-config.mjs
app.methods.index.mjs
app.methods.install.mjs
app.methods.kilocode-config.mjs
app.methods.navigation.mjs
app.methods.openclaw-core.mjs
app.methods.openclaw-editing.mjs
app.methods.openclaw-persist.mjs
app.methods.opencode-config.mjs
app.methods.provider-cache.mjs
app.methods.providers.mjs
app.methods.runtime.mjs
app.methods.session-actions.mjs
app.methods.session-browser.mjs
app.methods.session-timeline.mjs
app.methods.session-trash.mjs
app.methods.startup-claude.mjs
app.methods.task-orchestration.mjs
app.methods.tool-config-permissions.mjs
app.methods.web-ui-preferences.mjs
app.methods.webhook.mjs
config-mode.computed.mjs
config-template-confirm-pref.mjs
i18n/
i18n.dict.mjs
i18n.mjs
locales/
en.mjs
ja.mjs
vi.mjs
zh-tw.mjs
zh.mjs
plugins.computed.mjs
plugins.methods.mjs
plugins.storage.mjs
provider-default-names.mjs
provider-url-display.mjs
sessions-filters-url.mjs
skills.computed.mjs
skills.methods.mjs
partials/
index/
layout-footer.html
layout-header.html
modal-config-template-agents.html
modal-confirm-toast.html
modal-health-check.html
modal-openclaw-config.html
modal-skills.html
modal-webhook.html
modals-basic.html
panel-config-claude.html
panel-config-codex.html
panel-config-kilocode.html
panel-config-openclaw.html
panel-config-opencode.html
panel-dashboard.html
panel-docs.html
panel-market.html
panel-orchestration.html
panel-plugins.html
panel-prompts.html
panel-sessions.html
panel-settings.html
panel-trash.html
panel-usage.html
res/
json5.min.js
logo-pack.webp
vue.global.prod.js
vue.runtime.global.prod.js
web-ui-render.precompiled.js
session-helpers.mjs
source-bundle.cjs
styles/
styles.css
base-theme.css
bridge-pool.css
controls-forms.css
dashboard.css
docs-panel.css
feedback.css
health-check-dialog.css
layout-shell.css
modals-core.css
navigation-panels.css
openclaw-structured.css
plugins-panel.css
responsive.css
sessions-list.css
sessions-preview.css
sessions-toolbar-trash.css
sessions-usage.css
settings-panel.css
skills-list.css
skills-market.css
task-orchestration.css
titles-cards.css
trash-panel.css
webhook.cssFAQ
codexmate is a Claude Code plugin with 1 hand-picked skill for development work, indexed on Flowy. Install it with the command on its page. It includes context-recovery. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.