@miphamai/cli 0.20.0 → 0.20.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/core/engine.ts +7 -7
- package/src/i18n-context.tsx +2 -6
- package/src/i18n-core/detect.ts +54 -0
- package/src/i18n-core/locales/en-US.json +781 -0
- package/src/i18n-core/locales/zh-CN.json +781 -0
- package/src/i18n-core/t.ts +19 -0
- package/src/i18n-core/types.ts +10 -0
- package/src/index.tsx +9 -6
- package/src/mcp/client.ts +4 -4
- package/src/mcp/oauth.ts +4 -4
- package/src/mcp/registry.ts +9 -5
- package/src/tools/index.ts +9 -5
- package/src/ui/app.tsx +55 -10
- package/src/ui/chat.tsx +18 -12
- package/src/ui/command-picker.tsx +3 -1
- package/src/ui/commands.ts +87 -28
- package/src/ui/picker.tsx +3 -1
|
@@ -0,0 +1,781 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hello": "Hello",
|
|
3
|
+
"install": {
|
|
4
|
+
"banner_title": "Mipham Code Installer",
|
|
5
|
+
"banner_subtitle": "Multi-model open-core intelligent coding terminal",
|
|
6
|
+
"unsupported_os": "Unsupported OS: {os}. Mipham Code supports macOS and Linux.",
|
|
7
|
+
"detected": "Detected: {os}",
|
|
8
|
+
"install_options_title": "Install options:",
|
|
9
|
+
"install_npm_desc": "npm install -g @miphamai/cli (recommended, all platforms)",
|
|
10
|
+
"install_curl_intl": "curl -fsSL https://mipham.ai/install.sh | bash (international)",
|
|
11
|
+
"install_curl_cn": "curl -fsSL https://onemipham.com/install.sh | bash (China mainland)",
|
|
12
|
+
"install_direct": "Direct download: https://mipham.ai/code/install",
|
|
13
|
+
"found_bun": "Found: Bun v{version}",
|
|
14
|
+
"found_node": "Found: Node.js v{version}",
|
|
15
|
+
"node_old_warning": "Node.js v{version} detected (v22+ recommended)",
|
|
16
|
+
"node_old_install_bun": "Installing Bun for optimal performance...",
|
|
17
|
+
"no_runtime": "No runtime detected",
|
|
18
|
+
"installing_bun": "Installing Bun (fast all-in-one JavaScript runtime)...",
|
|
19
|
+
"need_curl_or_wget": "Need curl or wget to install Bun.",
|
|
20
|
+
"bun_installed": "Bun installed successfully",
|
|
21
|
+
"bun_install_failed": "Bun installation failed.",
|
|
22
|
+
"install_manually": "Install manually: https://bun.sh/",
|
|
23
|
+
"downloading_binary": "Downloading binary: {name}...",
|
|
24
|
+
"binary_installed": "Binary installed to /usr/local/bin/mipham",
|
|
25
|
+
"binary_fallback": "Binary download failed, falling back to npm...",
|
|
26
|
+
"installing_package": "Installing {package}...",
|
|
27
|
+
"install_failed": "Installation failed.",
|
|
28
|
+
"try_npm": "Try: npm install -g {package}",
|
|
29
|
+
"install_success": "Mipham Code v{version} installed successfully!",
|
|
30
|
+
"run_to_start": "Run mipham to start.",
|
|
31
|
+
"run_help": "Run mipham --help for options.",
|
|
32
|
+
"docs_url": "Docs: https://mipham.ai/code/docs",
|
|
33
|
+
"not_in_path": "Installation may have succeeded, but 'mipham' not found in PATH.",
|
|
34
|
+
"add_to_path": "Add to PATH or restart your terminal."
|
|
35
|
+
},
|
|
36
|
+
"vscode": {
|
|
37
|
+
"statusBar": "Mipham Code",
|
|
38
|
+
"tooltip": "Click to focus Mipham Code terminal",
|
|
39
|
+
"welcome": "Mipham Code is ready. Press Cmd+Esc to start.",
|
|
40
|
+
"noConfig": "No Mipham Code config found. Run \"mipham /init\" to create one.",
|
|
41
|
+
"start": "Start",
|
|
42
|
+
"dismiss": "Dismiss",
|
|
43
|
+
"terminalName": "Mipham Code"
|
|
44
|
+
},
|
|
45
|
+
"web": {
|
|
46
|
+
"hero": {
|
|
47
|
+
"title": "Mipham Code",
|
|
48
|
+
"subtitle": "Multi-model open-core intelligent coding terminal. Built for developers who demand power, speed, and flexibility.",
|
|
49
|
+
"company": "Powered by One Mipham Corporation | 北京华安麦逸科技有限公司",
|
|
50
|
+
"domains": "International: mipham.ai | 中国大陆: onemipham.com",
|
|
51
|
+
"cta_start": "Get Started",
|
|
52
|
+
"cta_docs": "Documentation"
|
|
53
|
+
},
|
|
54
|
+
"features": {
|
|
55
|
+
"title": "Why Mipham Code?",
|
|
56
|
+
"multi_model": {
|
|
57
|
+
"title": "Multi-Model",
|
|
58
|
+
"desc": "Connect to Claude, GPT, DeepSeek, Qwen, Kimi, and more through a unified interface. Switch models on the fly with Ctrl+P."
|
|
59
|
+
},
|
|
60
|
+
"slash_commands": {
|
|
61
|
+
"title": "85 Slash Commands",
|
|
62
|
+
"desc": "Full Claude Code parity: /commit, /pr, /simplify, /lint, /loop init, /browse-plugins — all 85 commands with zero learning curve."
|
|
63
|
+
},
|
|
64
|
+
"plugins": {
|
|
65
|
+
"title": "Plugin Marketplace",
|
|
66
|
+
"desc": "Install plugins from npm or local paths. Discover community plugins including NotebookLM MCP integration."
|
|
67
|
+
},
|
|
68
|
+
"loopkit": {
|
|
69
|
+
"title": "LoopKit Vault",
|
|
70
|
+
"desc": "/loop init scaffolds a complete project structure: .mipham/ config, hooks, agents, 9-domain skills, .mcp.json, and more."
|
|
71
|
+
},
|
|
72
|
+
"mcp": {
|
|
73
|
+
"title": "MCP Protocol",
|
|
74
|
+
"desc": "Full Model Context Protocol support with stdio transport. Connect to NotebookLM, filesystem, GitHub, and custom MCP servers."
|
|
75
|
+
},
|
|
76
|
+
"secure": {
|
|
77
|
+
"title": "Open-Core & Secure",
|
|
78
|
+
"desc": "Apache 2.0 license. TLS 1.3, AES-256-GCM encryption, comprehensive permission system. Enterprise security out of the box."
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
"models": {
|
|
82
|
+
"title": "Supported Models",
|
|
83
|
+
"status_active": "Active",
|
|
84
|
+
"status_upcoming": "Upcoming"
|
|
85
|
+
},
|
|
86
|
+
"install_section": {
|
|
87
|
+
"title": "Install in Seconds",
|
|
88
|
+
"subtitle": "Four ways to install — choose what works for your platform.",
|
|
89
|
+
"npm_recommended": "npm (recommended)",
|
|
90
|
+
"curl_label": "curl (macOS / Linux)",
|
|
91
|
+
"powershell_label": "PowerShell (Windows)",
|
|
92
|
+
"label_international": "International · 国际站",
|
|
93
|
+
"label_china": "中国大陆 · China mainland",
|
|
94
|
+
"requirements": "Requires Bun 1.2+ or Node.js 22+. Supports macOS, Linux, Windows.",
|
|
95
|
+
"full_guide": "Full installation guide"
|
|
96
|
+
},
|
|
97
|
+
"footer": {
|
|
98
|
+
"copyright": "© {year} One Mipham Corporation. All rights reserved.",
|
|
99
|
+
"docs": "Docs",
|
|
100
|
+
"dashboard": "Dashboard",
|
|
101
|
+
"github": "GitHub"
|
|
102
|
+
},
|
|
103
|
+
"install_page": {
|
|
104
|
+
"title": "Installation",
|
|
105
|
+
"current_version": "Current version:",
|
|
106
|
+
"choose_platform": "Choose your platform and preferred install method.",
|
|
107
|
+
"all_methods_same": "All methods install the same Mipham Code.",
|
|
108
|
+
"prerequisites": "Prerequisites",
|
|
109
|
+
"prereq_bun": "Bun 1.2+ (recommended) or Node.js 22+",
|
|
110
|
+
"prereq_os": "macOS, Linux, or Windows (PowerShell)",
|
|
111
|
+
"prereq_api_key": "At least one AI provider API key (e.g., Anthropic, OpenAI)",
|
|
112
|
+
"npm_title": "1. npm Install (Recommended)",
|
|
113
|
+
"npm_desc": "Works on all platforms — macOS, Linux, Windows.",
|
|
114
|
+
"curl_title": "2. curl Install (macOS / Linux)",
|
|
115
|
+
"powershell_title": "3. PowerShell Install (Windows)",
|
|
116
|
+
"direct_download": "4. Direct Download",
|
|
117
|
+
"table_platform": "Platform",
|
|
118
|
+
"table_download": "Download",
|
|
119
|
+
"platform_mac_arm": "macOS (Apple Silicon)",
|
|
120
|
+
"platform_mac_intel": "macOS (Intel)",
|
|
121
|
+
"platform_linux": "Linux (x64)",
|
|
122
|
+
"platform_windows": "Windows (x64)",
|
|
123
|
+
"verify_title": "Verify Installation",
|
|
124
|
+
"start_title": "Start Mipham Code",
|
|
125
|
+
"first_launch": "On first launch, the interactive setup wizard (/setup) will guide you through provider configuration, model selection, skills installation, and permissions.",
|
|
126
|
+
"api_keys_title": "Set API Keys",
|
|
127
|
+
"api_keys_desc": "Export your provider API keys as environment variables:",
|
|
128
|
+
"international": "International · 国际站",
|
|
129
|
+
"china_mainland": "中国大陆 · China mainland"
|
|
130
|
+
},
|
|
131
|
+
"docs": {
|
|
132
|
+
"title": "Documentation",
|
|
133
|
+
"quick_start": "Quick Start",
|
|
134
|
+
"configuration": "Configuration",
|
|
135
|
+
"commands": "Commands",
|
|
136
|
+
"help": "Show help",
|
|
137
|
+
"model": "Show current model",
|
|
138
|
+
"switch": "Switch model",
|
|
139
|
+
"clear": "Clear conversation",
|
|
140
|
+
"exit": "Exit Mipham Code"
|
|
141
|
+
},
|
|
142
|
+
"dashboard": {
|
|
143
|
+
"title": "Dashboard",
|
|
144
|
+
"coming_soon": "Coming Soon",
|
|
145
|
+
"description": "The Mipham Code dashboard will show your usage analytics — session history, token consumption, most-used models and tools, and skill activity. We’re building this now.",
|
|
146
|
+
"sessions": "Sessions",
|
|
147
|
+
"sessions_desc": "Session history & stats",
|
|
148
|
+
"tokens": "Tokens",
|
|
149
|
+
"tokens_desc": "Usage across providers",
|
|
150
|
+
"skills": "Skills",
|
|
151
|
+
"skills_desc": "Active skill analytics"
|
|
152
|
+
},
|
|
153
|
+
"not_found": {
|
|
154
|
+
"code": "404",
|
|
155
|
+
"title": "Page not found",
|
|
156
|
+
"description": "The page you’re looking for doesn’t exist.",
|
|
157
|
+
"back": "Back to Mipham Code"
|
|
158
|
+
},
|
|
159
|
+
"error": {
|
|
160
|
+
"title": "Something went wrong",
|
|
161
|
+
"fallback_message": "An unexpected error occurred.",
|
|
162
|
+
"try_again": "Try again"
|
|
163
|
+
}
|
|
164
|
+
},
|
|
165
|
+
"greeting": "Hello {name}",
|
|
166
|
+
"commands": {
|
|
167
|
+
"clear": { "confirmed": "✓ Conversation cleared. Context reset." },
|
|
168
|
+
"compact": {
|
|
169
|
+
"confirmed": "✓ Context compacted.",
|
|
170
|
+
"tokens": "Tokens: {before} → {after} (saved {saved}%)"
|
|
171
|
+
},
|
|
172
|
+
"status": {
|
|
173
|
+
"title": "── System Diagnostics ──",
|
|
174
|
+
"session_title": "── Session Status ──",
|
|
175
|
+
"system_title": "── System ──",
|
|
176
|
+
"config": "── Config ──",
|
|
177
|
+
"session": "── Session ──",
|
|
178
|
+
"git": "── Git ──",
|
|
179
|
+
"skills": "── Skills ──",
|
|
180
|
+
"provider": "Provider:",
|
|
181
|
+
"model": "Model:",
|
|
182
|
+
"messages": "Messages:",
|
|
183
|
+
"tokens": "Tokens:",
|
|
184
|
+
"tools": "Tools:",
|
|
185
|
+
"loaded": "loaded",
|
|
186
|
+
"permission": "Permission:",
|
|
187
|
+
"platform": "Platform:",
|
|
188
|
+
"runtime": "Runtime:",
|
|
189
|
+
"cwd": "CWD:"
|
|
190
|
+
},
|
|
191
|
+
"switch": {
|
|
192
|
+
"usage": "Usage: /switch <provider> <model>\nExample: /switch deepseek deepseek-v4-pro",
|
|
193
|
+
"confirmed": "✓ Switched to {provider}/{model}"
|
|
194
|
+
},
|
|
195
|
+
"goal": {
|
|
196
|
+
"set": "✓ Goal set: \"{goal}\"",
|
|
197
|
+
"usage": "Usage: /goal <statement> [options]\n\nSet a session-level completion condition with optional verification.\n\nOptions:\n --decompose Auto-decompose goal into subtasks\n --verify-script <path> Run a shell script to check completion\n --verify-skill <name> Use a skill for verification\n\nExamples:\n /goal Fix all TS errors and make tests pass --decompose\n /goal Complete the build --verify-script ./check-build.sh\n /goal Security audit passes --verify-skill security-review",
|
|
198
|
+
"empty_set": "Goal text is required. Use /goal without arguments to see usage.",
|
|
199
|
+
"decompose_enabled": "📋 Decomposition: enabled — AI will break goal into subtasks",
|
|
200
|
+
"status_title": "── Goal Status ──",
|
|
201
|
+
"status_goal": "🎯 Goal: {goal}",
|
|
202
|
+
"status_verify_script": "📜 Verification: {script}",
|
|
203
|
+
"status_verify_skill": "🛠 Verification skill: {skill}",
|
|
204
|
+
"status_decompose": "📋 Decompose: enabled ({count} subtasks)",
|
|
205
|
+
"status_clear_hint": "Type /goal without arguments to clear.",
|
|
206
|
+
"status_hint": "Use /status to view progress. Type /goal without arguments to clear."
|
|
207
|
+
},
|
|
208
|
+
"rename": {
|
|
209
|
+
"usage": "Usage: /rename <session-name>\nExample: /rename Bug Fix Session",
|
|
210
|
+
"confirmed": "✓ Session renamed to \"{name}\""
|
|
211
|
+
},
|
|
212
|
+
"plan": {
|
|
213
|
+
"entered": "Entered plan mode.",
|
|
214
|
+
"content": "── Plan Mode ──\n\nEntering plan mode — read-only analysis and design.\nUse EnterPlanMode to start, ExitPlanMode to submit for approval."
|
|
215
|
+
},
|
|
216
|
+
"diff": {
|
|
217
|
+
"clean": "No uncommitted changes (working tree clean).",
|
|
218
|
+
"title": "── Git Diff ──",
|
|
219
|
+
"error": "Unable to run git diff. Ensure git is installed and you are in a repository."
|
|
220
|
+
},
|
|
221
|
+
"context": {
|
|
222
|
+
"title": "── Context Stats ──",
|
|
223
|
+
"messages": "Messages:",
|
|
224
|
+
"estimated_tokens": "Estimated tokens:",
|
|
225
|
+
"usage_pct": "Usage:",
|
|
226
|
+
"system_prompt": "System prompt:",
|
|
227
|
+
"compaction": "Compaction:"
|
|
228
|
+
},
|
|
229
|
+
"context_tokens": {
|
|
230
|
+
"title": "── Token Usage (estimated) ──",
|
|
231
|
+
"context_tokens": "Context tokens:",
|
|
232
|
+
"usage": "Usage:",
|
|
233
|
+
"footer": "Token counting is approximate (chars/4).\nActual API usage depends on provider and model."
|
|
234
|
+
},
|
|
235
|
+
"model": {
|
|
236
|
+
"current": "Current model: {model}\nProvider: {provider}\n\nUse /switch <provider> <model> to change."
|
|
237
|
+
},
|
|
238
|
+
"models": {
|
|
239
|
+
"title": "Available models ({count} active):",
|
|
240
|
+
"header": "Provider Model Context Vision",
|
|
241
|
+
"hint": "Use /switch <provider> <model> to change.\nSee /providers for upcoming models."
|
|
242
|
+
},
|
|
243
|
+
"provider": {
|
|
244
|
+
"current": "Current provider: {provider}\nModel: {model}"
|
|
245
|
+
},
|
|
246
|
+
"providers": {
|
|
247
|
+
"title": "Configured providers:",
|
|
248
|
+
"current": "Current: {provider}/{model}"
|
|
249
|
+
},
|
|
250
|
+
"config": {
|
|
251
|
+
"title": "── Configuration ──",
|
|
252
|
+
"edit": "Edit: ~/.mipham/config.yml or .mipham/config.yml"
|
|
253
|
+
},
|
|
254
|
+
"tools": {
|
|
255
|
+
"title": "Available tools ({count}):"
|
|
256
|
+
},
|
|
257
|
+
"skills": {
|
|
258
|
+
"unavailable": "SkillsLoader not available in this context.",
|
|
259
|
+
"loaded": "{count} skills loaded. Use Skill tool to invoke."
|
|
260
|
+
},
|
|
261
|
+
"tdd": {
|
|
262
|
+
"title": "── TDD Mode ──",
|
|
263
|
+
"start": "Starting Test-Driven Development workflow for: {target}",
|
|
264
|
+
"cycle": "Cycle: 🔴 RED → 🟢 GREEN → 🔵 REFACTOR",
|
|
265
|
+
"red": "RED: Write a failing test first",
|
|
266
|
+
"green": "GREEN: Write minimal code to pass",
|
|
267
|
+
"refactor": "REFACTOR: Clean up while keeping tests green",
|
|
268
|
+
"guide": "The AI will guide you through each cycle."
|
|
269
|
+
},
|
|
270
|
+
"todos": {
|
|
271
|
+
"usage_create": "Usage: /todos create <task-title>\n\nExample: /todos create Add user authentication",
|
|
272
|
+
"item_list": "/todos list Show all tasks",
|
|
273
|
+
"item_create": "/todos create <title> Create a new task",
|
|
274
|
+
"list_title": "── Task Management ──",
|
|
275
|
+
"list_fetching": "Fetching current task list...",
|
|
276
|
+
"create_title": "── Create Task ──",
|
|
277
|
+
"default_title": "── Task Management ──",
|
|
278
|
+
"default_body": "The AI manages task state via TaskCreate, TaskList, TaskUpdate, and TaskGet tools.\nTasks appear in the /tasks view and persist across the session."
|
|
279
|
+
},
|
|
280
|
+
"copy": {
|
|
281
|
+
"confirmed": "✓ Copied {count} assistant response(s) to clipboard.",
|
|
282
|
+
"no_responses": "No assistant responses to copy.",
|
|
283
|
+
"usage": "Usage: /copy [N]\nN = number of recent assistant responses to copy (default: 1)"
|
|
284
|
+
},
|
|
285
|
+
"recap": {
|
|
286
|
+
"title": "── Session Recap ──",
|
|
287
|
+
"no_conversation": "No conversation to recap.",
|
|
288
|
+
"messages": "Messages:",
|
|
289
|
+
"est_tokens": "Est. tokens:",
|
|
290
|
+
"checkpoints": "Checkpoints:",
|
|
291
|
+
"recent_topics": "Recent topics:",
|
|
292
|
+
"footer": "Use /rewind to undo, /clear to reset, /export to save."
|
|
293
|
+
},
|
|
294
|
+
"task_list": {
|
|
295
|
+
"title": "── Background Tasks ──",
|
|
296
|
+
"detected": "{count} task operations detected in this session.\n\nUse Task tool (TaskCreate / TaskUpdate / TaskList) to manage structured task tracking.",
|
|
297
|
+
"no_tasks": "No tasks tracked yet. Use TaskCreate, TaskUpdate, and TaskList tools to manage structured tasks.",
|
|
298
|
+
"reference": "Quick reference:",
|
|
299
|
+
"legacy_hint": "Type /todos for the legacy task interface."
|
|
300
|
+
},
|
|
301
|
+
"resume": {
|
|
302
|
+
"no_sessions": "No saved sessions.",
|
|
303
|
+
"restored": "─ Session Restored ─",
|
|
304
|
+
"not_found": "Session \"{name}\" not found.",
|
|
305
|
+
"saved_title": "─ Saved Sessions ─",
|
|
306
|
+
"found_title": "─ Session Found ─",
|
|
307
|
+
"not_found_title": "─ Session Not Found ─",
|
|
308
|
+
"load_failed": "─ Load Failed ─",
|
|
309
|
+
"restored_content": "Name: {name}\nMessages: {total} total{truncated}\nProvider: {provider} / {model}\nUpdated: {date}",
|
|
310
|
+
"restored_footer": "{loaded} of {total} messages loaded. Older context summarized above.",
|
|
311
|
+
"restored_full_footer": "{loaded} messages loaded. Context has been restored.",
|
|
312
|
+
"delete_usage": "Usage: /resume delete <session-name>\n\nDelete a saved session. Use /resume to list all sessions.",
|
|
313
|
+
"delete_confirmed": "✓ Session \"{name}\" deleted.",
|
|
314
|
+
"delete_not_found": "✗ Session \"{name}\" not found. Use /resume to list all sessions.",
|
|
315
|
+
"empty_footer": "Sessions are auto-saved to ~/.mipham/sessions/ when Mipham Code exits.\nStart a conversation — it will be saved automatically.",
|
|
316
|
+
"total_footer": "Total: {count} session(s) • Location: ~/.mipham/sessions/",
|
|
317
|
+
"resume_hint": "To resume a session: /resume <name>",
|
|
318
|
+
"resume_last_hint": "To resume most recent: /resume last",
|
|
319
|
+
"delete_hint": "To delete a session: /resume delete <name>",
|
|
320
|
+
"cli_hint": "To resume from CLI: mipham --resume \"<name>\"",
|
|
321
|
+
"auto_save_hint": "Sessions are auto-saved on exit. The most recent session loads automatically on restart.",
|
|
322
|
+
"not_found_content": "No session named \"{name}\".\n\nUse /resume without arguments to list all saved sessions.",
|
|
323
|
+
"found_content": "Name: {name}\nMessages: {messages}\nProvider: {provider} / {model}\nUpdated: {updated}\n\nTo resume this session:\n /resume last — restore the most recent session\n mipham --resume \"{target}\"\n\nOr restart Mipham Code — the most recent session loads automatically."
|
|
324
|
+
},
|
|
325
|
+
"help": { "title": "── Mipham Code Help ──" },
|
|
326
|
+
"lang": {
|
|
327
|
+
"current": "Language: {locale}",
|
|
328
|
+
"set": "Language set to {locale}. Restart Mipham Code to apply."
|
|
329
|
+
},
|
|
330
|
+
"exit": {},
|
|
331
|
+
"version": {
|
|
332
|
+
"title": "Mipham Code v{version}",
|
|
333
|
+
"runtime_label": "Runtime:",
|
|
334
|
+
"platform_label": "Platform:",
|
|
335
|
+
"node_label": "Node:",
|
|
336
|
+
"cwd_label": "CWD:",
|
|
337
|
+
"provider_label": "Provider:",
|
|
338
|
+
"tools_label": "Tools:",
|
|
339
|
+
"skills_label": "Skills:",
|
|
340
|
+
"skills_details": "{total} built-in ({standard} standard + {mipham} mipham)",
|
|
341
|
+
"skills_unavailable": "(loader unavailable)",
|
|
342
|
+
"license": "License: Apache 2.0"
|
|
343
|
+
},
|
|
344
|
+
"pick": {
|
|
345
|
+
"title": "── Model Picker ──",
|
|
346
|
+
"content": "Use ↑↓ to navigate, Enter to select, Esc to close.\n\nCurrent: {provider} / {model}\nAvailable: {pcount} providers, {mcount} models\n\nTip: Press Ctrl+P or type /pick from the chat input."
|
|
347
|
+
},
|
|
348
|
+
"usage": {
|
|
349
|
+
"title": "── Usage Dashboard ──",
|
|
350
|
+
"api_tokens": "API tokens: {in} in / {out} out ({total} total)",
|
|
351
|
+
"no_api": "API tokens: (no API usage data yet)",
|
|
352
|
+
"context_line": "Context tokens: ~{est} / {max} ({pct}%)",
|
|
353
|
+
"messages_line": "Messages: {count}",
|
|
354
|
+
"provider_line": "Provider: {provider}",
|
|
355
|
+
"model_line": "Model: {model}",
|
|
356
|
+
"tool_section": "── Per-Tool ──",
|
|
357
|
+
"hint": "Use /context for detailed stats, /compact to free space."
|
|
358
|
+
},
|
|
359
|
+
"reload_skills": {
|
|
360
|
+
"unavailable": "SkillsLoader not available in this context.",
|
|
361
|
+
"confirmed": "✓ Skills reloaded — {count} loaded.",
|
|
362
|
+
"failed": "Failed to reload skills: {error}"
|
|
363
|
+
},
|
|
364
|
+
"rewind": {
|
|
365
|
+
"no_checkpoints": "No checkpoints available. Checkpoints are automatically saved after each AI response.",
|
|
366
|
+
"no_restore": "No checkpoint to restore.",
|
|
367
|
+
"confirmed": "✓ Rewound to checkpoint \"{label}\"\nRestored {count} messages.\n\nRemaining checkpoints: {remaining}\nUse /rewind again to go back further, or continue chatting."
|
|
368
|
+
},
|
|
369
|
+
"fast": {
|
|
370
|
+
"on": "✓ Fast mode ON — responses will prioritize speed over depth.",
|
|
371
|
+
"off": "✓ Fast mode OFF — standard quality mode.",
|
|
372
|
+
"usage": "Usage: /fast [on|off]\nToggle fast mode for faster responses.",
|
|
373
|
+
"unknown": "Usage: /fast [on|off]\n\nFast mode prioritizes speed over depth. Currently available as a configuration toggle.\n\nExample:\n /fast on — enable fast mode\n /fast off — disable fast mode"
|
|
374
|
+
},
|
|
375
|
+
"effort": {
|
|
376
|
+
"usage": "Usage: /effort <level>\n\nSet reasoning effort level:\n low — Fast, simple tasks\n medium — Balanced quality and speed\n high — Thorough reasoning (default)\n xhigh — Maximum depth for coding/agentic use\n max — Absolute ceiling, very thorough\n\nCurrent model: {model}\nEffort levels require compatible providers (Anthropic Opus 4.6+, Sonnet 4.6).",
|
|
377
|
+
"confirmed": "✓ Reasoning effort set to \"{level}\""
|
|
378
|
+
},
|
|
379
|
+
"focus": {
|
|
380
|
+
"on": "✓ Focus mode ON — showing only the most recent exchange.\nPrevious messages are hidden but preserved.\nType /focus again to exit focus mode and show all messages."
|
|
381
|
+
},
|
|
382
|
+
"ultracode": {
|
|
383
|
+
"on": "✓ Ultracode mode ON — multi-agent workflow orchestration enabled.\n\nThe AI will use Workflow tool to fan out, verify, and synthesize for all substantive tasks.",
|
|
384
|
+
"off": "✓ Ultracode mode OFF.",
|
|
385
|
+
"usage": "Usage: /ultracode [on|off]\n\nUltracode mode enables multi-agent workflow orchestration for every substantive task.\nWhen ON, the AI uses the Workflow tool to decompose tasks, fan out parallel agents,\nverify findings adversarially, and synthesize results with a top-tier model.\n\nExamples:\n /ultracode on — enable multi-agent mode\n /ultracode off — return to standard single-agent mode"
|
|
386
|
+
},
|
|
387
|
+
"branch": {
|
|
388
|
+
"no_conversation": "No conversation to branch. Start a conversation first.",
|
|
389
|
+
"title": "── Branch Created ──",
|
|
390
|
+
"details": "Name: \"{name}\"\nCheckpoint: #{checkpoint}\nMessages: {messages} saved\n\nCurrent conversation continues from this point.\nTo return to this branch point later, use:\n /rewind\n\nNote: Full session branching (separate concurrent sessions) requires session persistence, coming in a future release. For now, this saves a named checkpoint you can rewind to."
|
|
391
|
+
},
|
|
392
|
+
"memories": {
|
|
393
|
+
"title": "─ Memory ─",
|
|
394
|
+
"no_memories": "─ Memory ─\n\nNo memories stored yet.\n\nMemory is saved to ~/.mipham/memory/ by the AI when you ask it to remember something.\nTry: \"remember that I prefer TypeScript\"",
|
|
395
|
+
"empty": "─ Memory ─\n\nNo memory files found in ~/.mipham/memory/",
|
|
396
|
+
"error": "─ Memory ─\n\nCould not read memory directory.",
|
|
397
|
+
"location": "Location: {path}",
|
|
398
|
+
"total": "Total: {count} memor{plural}",
|
|
399
|
+
"footer": "Memories are used by the AI to provide personalized context across sessions.\nEach file in ~/.mipham/memory/ represents one remembered fact or preference."
|
|
400
|
+
},
|
|
401
|
+
"upgrade": {
|
|
402
|
+
"uptodate": "── Upgrade Mipham Code ──\n\nCurrent version: v{current}\nLatest: v{latest}\n\n✓ Already up to date.\n\nTo check manually: https://www.npmjs.com/package/@miphamai/cli",
|
|
403
|
+
"title": "── Upgrade Mipham Code ──",
|
|
404
|
+
"available": "Current version: v{current}\nLatest: v{latest}\n\n→ New version available! Updating...",
|
|
405
|
+
"updated": "✓ Updated to @miphamai/cli v{version}",
|
|
406
|
+
"config_preserved": "✓ Config preserved: {path}",
|
|
407
|
+
"config_restored": "✓ Config restored from backup.",
|
|
408
|
+
"old_version_warning": "⚠ The running Mipham Code process is still the old version.\n Run `mipham` again to use the new version, or `mipham --version` to verify.",
|
|
409
|
+
"update_failed": "✗ Update failed.\n Try manually: {command}\n Your config backup is at: {path}"
|
|
410
|
+
},
|
|
411
|
+
"no_plan": {
|
|
412
|
+
"confirmed": "✓ Plan mode exited. Your plan has been discarded.\n\nContinue chatting as normal, or type /plan to start a new plan."
|
|
413
|
+
},
|
|
414
|
+
"mcp": {
|
|
415
|
+
"usage_connect": "Usage: /mcp connect <server-name>",
|
|
416
|
+
"usage_disconnect": "Usage: /mcp disconnect <server-name>",
|
|
417
|
+
"title": "── MCP Servers ──",
|
|
418
|
+
"configured": "Configured servers ({count}):",
|
|
419
|
+
"no_servers": "No MCP servers configured.",
|
|
420
|
+
"commands_title": "── Commands ──",
|
|
421
|
+
"commands_body": " /mcp connect <name> Connect to a server (OAuth or stdio)\n /mcp disconnect <name> Disconnect from a server\n /mcp reload Disconnect all and reconnect",
|
|
422
|
+
"protocol_title": "── Protocol ──",
|
|
423
|
+
"protocol_body": "MCP stdio transport (JSON-RPC 2.0) — fully implemented.\nLearn more: https://modelcontextprotocol.io",
|
|
424
|
+
"connect_oauth": "── MCP Connect: {name} (OAuth) ──\n\nStarting OAuth PKCE flow...\nAuthorization: {auth}\nScopes: {scopes}",
|
|
425
|
+
"connect_stdio": "── MCP Connect: {name} ──\n\nConnecting via stdio...",
|
|
426
|
+
"disconnect_title": "── MCP Disconnect: {name} ──",
|
|
427
|
+
"disconnected_tools": "Disconnected. {count} tool(s) removed.",
|
|
428
|
+
"disconnected_no_tools": "Disconnected (no tools were registered).",
|
|
429
|
+
"reload_content": "── MCP Reload ──\n\nDisconnecting all and reconnecting...",
|
|
430
|
+
"not_found": "Server \"{name}\" not found in config.\n\nConfigured: {servers}"
|
|
431
|
+
},
|
|
432
|
+
"login": {
|
|
433
|
+
"title": "── Authentication ──",
|
|
434
|
+
"intro": "Mipham Code uses API keys for authentication — no account login needed.\nEach provider requires its own API key, set via environment variable or config file.",
|
|
435
|
+
"section_keys": "── Provider API Keys ──",
|
|
436
|
+
"section_setup": "── Setup ──",
|
|
437
|
+
"setup_options": "# Option 1: Environment variables (recommended)\n export ANTHROPIC_API_KEY=\"sk-ant-...\"\n export OPENAI_API_KEY=\"sk-...\"\n\n # Option 2: Config file (~/.mipham/config.yml)\n providers:\n - id: anthropic\n apiKey: $ANTHROPIC_API_KEY",
|
|
438
|
+
"current_provider": "Current provider: {provider} / {model}",
|
|
439
|
+
"footer": "Get API keys from each provider's developer console.\nDashboard: https://mipham.ai/code/dashboard"
|
|
440
|
+
},
|
|
441
|
+
"logout": {
|
|
442
|
+
"title": "── Sign Out ──\n\nMipham Code uses API keys (not sessions), so there is no persistent login to \"log out\" of.\n\nTo clear your credentials:\n\n1. Unset environment variables (current session only):\n unset ANTHROPIC_API_KEY\n unset OPENAI_API_KEY\n unset DEEPSEEK_API_KEY\n # ... and others\n\n2. Remove from shell profile (permanent):\n Edit ~/.zshrc or ~/.bashrc and remove the export lines.\n\n3. User config: {config_state}\n\nNote: Clearing keys will prevent Mipham Code from making API calls\nuntil you set them again with /login or manually.\n\nTo switch providers without clearing keys, use /switch <provider> <model>."
|
|
443
|
+
},
|
|
444
|
+
"feedback": {
|
|
445
|
+
"title": "── Feedback ──",
|
|
446
|
+
"preview_title": "── Preview Complete ──",
|
|
447
|
+
"section_channels": "── Feedback Channels ──",
|
|
448
|
+
"section_info": "── System Info (include with bug reports) ──"
|
|
449
|
+
},
|
|
450
|
+
"agents": {
|
|
451
|
+
"initializing": "Agent View dashboard is initializing...",
|
|
452
|
+
"title": "── Agent View ──",
|
|
453
|
+
"needs_input": "🟡 Needs input: {count}",
|
|
454
|
+
"working": "🔵 Working: {count}",
|
|
455
|
+
"completed": "🟢 Completed: {count}",
|
|
456
|
+
"failed": "🔴 Failed: {count}",
|
|
457
|
+
"sessions": "Sessions:",
|
|
458
|
+
"more": " ... and {count} more",
|
|
459
|
+
"dashboard_hint": "Run `mipham agents` for the full interactive dashboard with j/k navigation."
|
|
460
|
+
},
|
|
461
|
+
"bg": {
|
|
462
|
+
"usage": "Usage: /bg <prompt>\n\nSpawn a background agent to work on a task while you continue chatting.\n\nExamples:\n /bg Run the full test suite and report failures\n /bg Audit the src/ directory for security issues\n /bg Generate API documentation from JSDoc comments\n\nBackground agents appear in the Agent View dashboard (/agents).",
|
|
463
|
+
"initializing": "Agent View manager is initializing...",
|
|
464
|
+
"spawned": "✓ Background agent spawned: {id}\n\n Task: {task}\n Provider: {provider} / {model}\n Status: working\n\nUse /agents to view all background sessions.\nRun `mipham agents` for the interactive dashboard."
|
|
465
|
+
},
|
|
466
|
+
"fork": {
|
|
467
|
+
"usage": "Usage: /fork <task description>\n\nFork a task into an isolated worktree with auto commit/push.\n\nWorkflow:\n 1. Creates a new git worktree on branch worktree/<slug>\n 2. Spawns a background agent to work on the task\n 3. Auto-commits changes with Co-Authored-By on completion\n 4. Auto-pushes to origin\n 5. Reports branch and worktree path in the result\n\nExamples:\n /fork Refactor the auth module\n /fork Add input validation to all API endpoints",
|
|
468
|
+
"no_git": "/fork requires a git repository.",
|
|
469
|
+
"initializing": "Agent View manager is initializing...",
|
|
470
|
+
"worktree_failed": "Worktree creation failed: {error}",
|
|
471
|
+
"spawned": "✓ Forked: {id}\n Task: {task}\n Branch: {branch}\n Worktree: {path}\n Status: working\n\nAgent will auto-commit + push on completion.\nUse /agents to track."
|
|
472
|
+
},
|
|
473
|
+
"artifact": {
|
|
474
|
+
"usage": "Usage: /artifact <open|list|server> [name]\n\n /artifact open <name> Open artifact in browser\n /artifact list List all artifacts\n /artifact server Show server status",
|
|
475
|
+
"open_usage": "Usage: /artifact open <name>\nExample: /artifact open dashboard",
|
|
476
|
+
"open_confirmed": "✓ Opening artifact \"{name}\" in browser...\n {url}",
|
|
477
|
+
"open_failed": "✗ Failed to open browser: {error}\n URL: {url}",
|
|
478
|
+
"list_empty": "No artifacts created yet. Ask the AI to generate one with the Artifact tool.",
|
|
479
|
+
"list_title": "── Artifacts ──",
|
|
480
|
+
"list_footer": " {count} artifact(s) — /artifact open <name> to view\n Gallery: http://localhost:9876",
|
|
481
|
+
"server_title": "── Artifact Server ──\n\n URL: {url}\n Port: 9876\n\nArtifacts are served locally. No external network access."
|
|
482
|
+
},
|
|
483
|
+
"commands_list": {
|
|
484
|
+
"title": "── All Slash Commands ({count}) ──",
|
|
485
|
+
"footer": "Type /help for details, or /<command> to run."
|
|
486
|
+
},
|
|
487
|
+
"workflows": {
|
|
488
|
+
"title": "─ Workflows ─",
|
|
489
|
+
"no_workflows": "No workflow scripts found.\n\nWorkflows are multi-agent orchestration scripts stored in:\n .claude/workflows/ (project-level)\n ~/.claude/workflows/ (user-level)\n\nCreate a .js file in either location to add a workflow.",
|
|
490
|
+
"found": "{count} workflow(s) found.\nUse /workflows <name> to run a specific workflow."
|
|
491
|
+
},
|
|
492
|
+
"workflow": {
|
|
493
|
+
"usage": "Usage: /workflow <task description>\n\nDescribes the task, and the AI will generate a workflow script to execute it.\nExamples:\n /workflow audit all routes for missing auth\n /workflow research the impact of React 19 on our codebase\n /workflow find all hardcoded credentials in the codebase\n\nSub-commands:\n /workflow save <name> — save last successful workflow script\n /workflow run <name> — run a saved workflow by name\n /workflows — list all saved workflow scripts",
|
|
494
|
+
"save_no_recent": "No recent workflow run found. Run a workflow first with /workflow <task>.",
|
|
495
|
+
"save_no_script": "No script found in last run state.",
|
|
496
|
+
"save_confirmed": "Workflow saved to {path}\nUse /workflow run {name} to run it again.",
|
|
497
|
+
"save_failed": "Failed to save workflow: {error}",
|
|
498
|
+
"run_not_found": "Workflow \"{name}\" not found in .claude/workflows/ or ~/.claude/workflows/"
|
|
499
|
+
},
|
|
500
|
+
"deep_research": {
|
|
501
|
+
"usage": "Usage: /deep-research <topic>\n\nConducts multi-agent deep research — 5-angle parallel search, adversarial verification,\nand top-tier synthesis into a well-cited report.\n\nExample:\n /deep-research impact of quantum computing on cryptography\n /deep-research latest advances in CRISPR gene editing",
|
|
502
|
+
"title": "── Deep Research ──\n\nTopic: \"{topic}\"\n\nOrchestrating multi-agent research pipeline:\n 1. Scope — 5 research angles\n 2. Research — parallel web searches\n 3. Reduce — deduplicate + merge\n 4. Verify — adversarial skeptic pass\n 5. Synthesize — cited report, top model\n\nThis may take a few minutes..."
|
|
503
|
+
},
|
|
504
|
+
"code_review": {
|
|
505
|
+
"no_changes": "No uncommitted changes to review.\n\nTo review a specific file: /code-review path/to/file.ts",
|
|
506
|
+
"running": "Reviewing uncommitted changes with the code-review skill (7 dimensions: correctness, security, performance, code quality, architecture, testing, language-specific)...",
|
|
507
|
+
"error": "Could not detect changes. Are you in a git repository?"
|
|
508
|
+
},
|
|
509
|
+
"simplify": {
|
|
510
|
+
"no_changes": "No uncommitted changes to simplify.\n\nMake changes first, then run /simplify for cleanup review.",
|
|
511
|
+
"running": "Running cleanup review — 4 passes: reuse, simplification, efficiency, abstraction level...",
|
|
512
|
+
"error": "Could not detect changes. Are you in a git repository?"
|
|
513
|
+
},
|
|
514
|
+
"verify": {
|
|
515
|
+
"no_changes": "No uncommitted changes to verify.\n\nMake changes first, then run /verify for runtime verification.",
|
|
516
|
+
"running": "Running runtime verification — observing actual execution behavior (not tests, not typecheck)...",
|
|
517
|
+
"error": "Could not detect changes. Are you in a git repository?"
|
|
518
|
+
},
|
|
519
|
+
"design": {
|
|
520
|
+
"start": "─ Design ─\n\nStarting architectural design session for: {topic}\n\nExploring approaches, trade-offs, component breakdown, data flow..."
|
|
521
|
+
},
|
|
522
|
+
"lint": {
|
|
523
|
+
"title": "── Lint Results ──",
|
|
524
|
+
"fix_hint": "To fix: type \"fix the lint errors\"",
|
|
525
|
+
"setup_hint": "Set up linting: https://mipham.ai/code/docs/linting",
|
|
526
|
+
"error": "── Lint ──\n\nCould not run linter. Ensure ESLint is installed and configured."
|
|
527
|
+
},
|
|
528
|
+
"files": {
|
|
529
|
+
"title": "── Project Files ──",
|
|
530
|
+
"cwd": "CWD: {path}",
|
|
531
|
+
"more_files": " ... and {count} more files",
|
|
532
|
+
"hint": "Use Read/Glob/Grep tools to examine files.",
|
|
533
|
+
"error": "── Files ──\n\nCould not read directory."
|
|
534
|
+
},
|
|
535
|
+
"stats": {
|
|
536
|
+
"title": "── Session Stats ──",
|
|
537
|
+
"messages": "Messages: {total} ({user} user, {assistant} AI, {system} system)",
|
|
538
|
+
"tokens": "Tokens: ~{tokens} / 200,000",
|
|
539
|
+
"tools": "Tools available: {count}",
|
|
540
|
+
"provider": "Provider: {provider}",
|
|
541
|
+
"model": "Model: {model}",
|
|
542
|
+
"permission": "Permission: {permission}",
|
|
543
|
+
"usage": "Usage: {pct}% of context window"
|
|
544
|
+
},
|
|
545
|
+
"summary": {
|
|
546
|
+
"title": "── Session Summary ──",
|
|
547
|
+
"no_conversation": "── Summary ──\n\nNo conversation to summarize.",
|
|
548
|
+
"total_messages": "Total messages: {count}",
|
|
549
|
+
"est_tokens": "Est. tokens: ~{tokens}",
|
|
550
|
+
"recent_topics": "Recent topics:",
|
|
551
|
+
"footer": "Use /export to save, /clear to reset."
|
|
552
|
+
},
|
|
553
|
+
"cd": {
|
|
554
|
+
"usage": "Usage: /cd <path>\n\nChange the session working directory.\nExample: /cd ~/projects/my-app\n\nCurrent: {cwd}",
|
|
555
|
+
"not_found": "❌ Directory not found: {path}",
|
|
556
|
+
"failed": "❌ Failed to change directory: {error}",
|
|
557
|
+
"title": "── Directory Changed ──",
|
|
558
|
+
"content": "New CWD: {path}\n\nThe AI will now work relative to this directory.\nNote: This changes the filesystem root for tools like Read, Write, Bash."
|
|
559
|
+
},
|
|
560
|
+
"hooks": {
|
|
561
|
+
"title": "── Hooks ──",
|
|
562
|
+
"no_hooks": "── Hooks ──\n\nNo hooks configured.\n\nCreate hook scripts in .mipham/hooks/:\n pre-tool-use.sh — runs before each tool\n post-tool-use.sh — runs after each tool\n stop.sh — runs when session ends\n\nUse /loop init to scaffold hooks directory.",
|
|
563
|
+
"location": "Location: {path}",
|
|
564
|
+
"found": "{count} hook(s) found.",
|
|
565
|
+
"error": "── Hooks ──\n\nCould not read hooks directory."
|
|
566
|
+
},
|
|
567
|
+
"batch": {
|
|
568
|
+
"title": "── Batch Operations ──\n\nApply a change across multiple files or directories.\n\nUsage: type \"apply this change to all .ts files in src/\"\n\nThe AI will:\n 1. Understand your change description\n 2. Find all matching files\n 3. Apply the change consistently\n 4. Report what was modified\n\nUse this for:\n • Renaming symbols across codebase\n • Updating import patterns\n • Applying consistent formatting changes\n • Bulk config updates"
|
|
569
|
+
},
|
|
570
|
+
"export": {
|
|
571
|
+
"confirmed": "✓ Session exported to:\n {path}\n\n{count} messages · {lines} lines"
|
|
572
|
+
},
|
|
573
|
+
"pr_comments": {
|
|
574
|
+
"error": "─ PR Review ─\n\nCould not determine PR context. Are you in a git repository with a remote?",
|
|
575
|
+
"header": "─ PR Review ─",
|
|
576
|
+
"commits_header": "Commits:",
|
|
577
|
+
"changed_header": "Changed files:",
|
|
578
|
+
"hint": "To generate PR description: type \"write a PR description for these changes\" in chat.\nTo review PR: type \"review this PR\" or use /review."
|
|
579
|
+
},
|
|
580
|
+
"doctor": {
|
|
581
|
+
"title": "── System Diagnostics ──",
|
|
582
|
+
"config_section": "── Config ──",
|
|
583
|
+
"session_section": "── Session ──",
|
|
584
|
+
"git_section": "── Git ──",
|
|
585
|
+
"no_git": " (not a git repository or git not available)",
|
|
586
|
+
"skills_section": "── Skills ──",
|
|
587
|
+
"skills_unavailable": " (skills info unavailable)"
|
|
588
|
+
},
|
|
589
|
+
"plugins": {
|
|
590
|
+
"unavailable": "PluginManager not available in this session.",
|
|
591
|
+
"title": "── Installed Plugins ──",
|
|
592
|
+
"none": "No plugins installed.\n\nInstall plugins:\n /install-plugin <npm-package> Install from npm registry\n /browse-plugins Browse community plugins\n mipham plugin install <path> Install from local directory"
|
|
593
|
+
},
|
|
594
|
+
"loop": {
|
|
595
|
+
"init_title": "── LoopKit Vault Created ──",
|
|
596
|
+
"stop_no_active": "No active autonomous loops to stop.",
|
|
597
|
+
"stop_confirmed": "Stopped {count} autonomous loop(s).",
|
|
598
|
+
"status_no_active": "No active autonomous loops.\n\nUse /loop auto <prompt> to start one.",
|
|
599
|
+
"auto_usage": "Usage: /loop auto <prompt>\n\nStart an autonomous self-paced loop. The AI will:\n1. Work on the task\n2. Decide how long to wait before the next iteration\n3. Use ScheduleWakeup to self-schedule\n4. Use ScheduleWakeup(stop:true) when the goal is reached\n\nUse /loop status to view progress.\nUse /loop stop to stop the loop.",
|
|
600
|
+
"auto_title": "── Autonomous Loop Started ──",
|
|
601
|
+
"auto_title_detected": "── Autonomous Loop Started (auto-detected) ──",
|
|
602
|
+
"invalid_interval": "── Invalid Interval ──\n\n\"{interval}\" is not a recognised interval.\n\nUse formats like: 10s, 5m, 1h, 30min, 2hr\nOr use /loop auto <prompt> for autonomous mode.",
|
|
603
|
+
"usage": "Usage: /loop <interval> <prompt> Fixed-interval loop\n or: /loop auto <prompt> Autonomous self-paced loop\n or: /loop stop Stop active autonomous loop\n or: /loop status Show autonomous loop progress\n or: /loop init [path] Scaffold project vault structure\n\nFixed interval formats:\n 10s — 10 seconds\n 5m — 5 minutes\n 1h — 1 hour\n\nExamples:\n /loop 5m check the deploy status\n /loop auto monitor CI and fix failing tests\n /loop init Create vault in current directory",
|
|
604
|
+
"failed": "Loop failed: {error}"
|
|
605
|
+
},
|
|
606
|
+
"schedule": {
|
|
607
|
+
"failed": "Schedule check failed: {error}"
|
|
608
|
+
}
|
|
609
|
+
},
|
|
610
|
+
"ui": {
|
|
611
|
+
"banner": {
|
|
612
|
+
"title": "Mipham Code",
|
|
613
|
+
"subtitle": "AI-Powered Programming Assistant",
|
|
614
|
+
"tagline": "Multi-model / Multi-provider / Skills & Tools / Open-core",
|
|
615
|
+
"start_message": "Type a message to start. /help for commands",
|
|
616
|
+
"controls_hint": "Ctrl+P pick model · Esc to exit",
|
|
617
|
+
"tip_clear": "Tip: Use /clear to start fresh when switching topics and free up context"
|
|
618
|
+
},
|
|
619
|
+
"permission": {
|
|
620
|
+
"manual": "manual mode",
|
|
621
|
+
"accept_edits": "accept edits on",
|
|
622
|
+
"plan_mode": "plan mode / read-only",
|
|
623
|
+
"auto": "auto mode",
|
|
624
|
+
"dont_ask": "don't ask",
|
|
625
|
+
"bypass": "bypass"
|
|
626
|
+
},
|
|
627
|
+
"loading": {
|
|
628
|
+
"doodling": "Doodling",
|
|
629
|
+
"forging": "Forging",
|
|
630
|
+
"cerebrating": "Cerebrating",
|
|
631
|
+
"recombobulating": "Recombobulating",
|
|
632
|
+
"thinking": "Thinking",
|
|
633
|
+
"computing": "Computing",
|
|
634
|
+
"processing": "Processing",
|
|
635
|
+
"analyzing": "Analyzing",
|
|
636
|
+
"generating": "Generating",
|
|
637
|
+
"dreaming": "Dreaming",
|
|
638
|
+
"pondering": "Pondering",
|
|
639
|
+
"ruminating": "Ruminating",
|
|
640
|
+
"deliberating": "Deliberating",
|
|
641
|
+
"contemplating": "Contemplating",
|
|
642
|
+
"synthesizing": "Synthesizing",
|
|
643
|
+
"calculating": "Calculating",
|
|
644
|
+
"inferring": "Inferring",
|
|
645
|
+
"optimizing": "Optimizing",
|
|
646
|
+
"compiling": "Compiling",
|
|
647
|
+
"orchestrating": "Orchestrating",
|
|
648
|
+
"harmonizing": "Harmonizing",
|
|
649
|
+
"galvanizing": "Galvanizing",
|
|
650
|
+
"illuminating": "Illuminating",
|
|
651
|
+
"manifesting": "Manifesting",
|
|
652
|
+
"transmogrifying": "Transmogrifying",
|
|
653
|
+
"actualizing": "Actualizing",
|
|
654
|
+
"completed_brewed": "Brewed",
|
|
655
|
+
"completed_churned": "Churned",
|
|
656
|
+
"completed_cooked": "Cooked",
|
|
657
|
+
"completed_sauteed": "Sautéed",
|
|
658
|
+
"completed_cogitated": "Cogitated",
|
|
659
|
+
"completed_crunched": "Crunched"
|
|
660
|
+
},
|
|
661
|
+
"agent": {
|
|
662
|
+
"running": "running",
|
|
663
|
+
"finished": "finished",
|
|
664
|
+
"status_label": "Agents"
|
|
665
|
+
},
|
|
666
|
+
"system": { "role_label": "System" },
|
|
667
|
+
"assistant": { "role_label": "Mipham Code" },
|
|
668
|
+
"user": { "role_label": "User" },
|
|
669
|
+
"input": {
|
|
670
|
+
"placeholder": "Type a message (Esc to cancel)...",
|
|
671
|
+
"vim_help": "[NORMAL] h/j/k/l w/b 0/$ dd yy p u / (Esc to insert)"
|
|
672
|
+
},
|
|
673
|
+
"slash_hints": {
|
|
674
|
+
"label": "Commands:",
|
|
675
|
+
"count": "{shown} of {total}",
|
|
676
|
+
"all": "all"
|
|
677
|
+
},
|
|
678
|
+
"picker": {
|
|
679
|
+
"title": "Select Model",
|
|
680
|
+
"nav_help": "←→ navigate · ↑↓ move · Enter select · Esc close",
|
|
681
|
+
"provider_label": "PROVIDER",
|
|
682
|
+
"models_label": "MODELS",
|
|
683
|
+
"coming_soon": "[coming]",
|
|
684
|
+
"no_active_models": "(no active models)",
|
|
685
|
+
"select_provider_hint": "Select a provider → Enter to see models",
|
|
686
|
+
"select_model_hint": "Select a model → Enter to switch"
|
|
687
|
+
},
|
|
688
|
+
"command_picker": {
|
|
689
|
+
"title": "Commands",
|
|
690
|
+
"nav_help": "↑↓ navigate · Enter select · Esc close",
|
|
691
|
+
"no_matches": "No commands match \"{filter}\"",
|
|
692
|
+
"scroll_indicator": "{start}–{end} of {total} commands",
|
|
693
|
+
"placeholder": "Type to filter commands..."
|
|
694
|
+
},
|
|
695
|
+
"chat": {
|
|
696
|
+
"focus_hint": "Focus",
|
|
697
|
+
"hidden": "hidden",
|
|
698
|
+
"toggle_focus_hint": "/focus to toggle",
|
|
699
|
+
"expand_hint": "Ctrl+O to expand",
|
|
700
|
+
"showing_all": "showing all {count} messages",
|
|
701
|
+
"tool_outputs_folded": "{hidden} tool outputs folded ({toolCount} total tool calls)"
|
|
702
|
+
},
|
|
703
|
+
"status": {
|
|
704
|
+
"esc_to_interrupt": "esc to interrupt",
|
|
705
|
+
"shift_tab_cycle": "shift+tab to cycle",
|
|
706
|
+
"left_for_agents": "← for agents"
|
|
707
|
+
}
|
|
708
|
+
},
|
|
709
|
+
"tools": {
|
|
710
|
+
"bash": { "name": "Bash", "description": "Execute shell commands" },
|
|
711
|
+
"read": { "name": "Read", "description": "Read a file from the filesystem" },
|
|
712
|
+
"write": { "name": "Write", "description": "Write content to a file" },
|
|
713
|
+
"edit": { "name": "Edit", "description": "Edit a file with string replacement" },
|
|
714
|
+
"glob": { "name": "Glob", "description": "Find files matching a pattern" },
|
|
715
|
+
"grep": { "name": "Grep", "description": "Search file contents with regex" },
|
|
716
|
+
"web_fetch": { "name": "WebFetch", "description": "Fetch a URL and parse content" },
|
|
717
|
+
"web_search": { "name": "WebSearch", "description": "Search the web" },
|
|
718
|
+
"agent": { "name": "Agent", "description": "Launch a sub-agent for complex tasks" },
|
|
719
|
+
"task": { "name": "Task", "description": "Create and track tasks" },
|
|
720
|
+
"skill": { "name": "Skill", "description": "Invoke a named skill" },
|
|
721
|
+
"memory": { "name": "Memory", "description": "Read/write persistent memory" },
|
|
722
|
+
"workflow": { "name": "Workflow", "description": "Execute a multi-agent workflow" },
|
|
723
|
+
"plan": { "name": "Plan", "description": "Enter plan mode for structured thinking" },
|
|
724
|
+
"config": { "name": "Config", "description": "View and modify configuration" },
|
|
725
|
+
"mcp": { "name": "MCP", "description": "Manage MCP server connections" }
|
|
726
|
+
},
|
|
727
|
+
"errors": {
|
|
728
|
+
"tool_not_allowed": "Tool \"{name}\" requires user approval (permission: ask). The tool was not executed.",
|
|
729
|
+
"tool_blocked": "Tool \"{name}\" blocked by hook",
|
|
730
|
+
"user_input_blocked": "User input blocked by hook.",
|
|
731
|
+
"dlp_blocked": "Request blocked by DLP policy.",
|
|
732
|
+
"model_error": "Error: {error}",
|
|
733
|
+
"tool_collision": "[mcp] Tool collision: \"{name}\" already registered. Skipping.",
|
|
734
|
+
"missing_param": "Missing required parameter: \"{param}\"",
|
|
735
|
+
"invalid_params": "Invalid parameters: {errors}",
|
|
736
|
+
"type_string": "\"{key}\" must be a string",
|
|
737
|
+
"type_number": "\"{key}\" must be a number",
|
|
738
|
+
"type_boolean": "\"{key}\" must be a boolean",
|
|
739
|
+
"type_object": "\"{key}\" must be an object",
|
|
740
|
+
"type_array": "\"{key}\" must be an array",
|
|
741
|
+
"type_enum": "\"{key}\" must be one of: {values}",
|
|
742
|
+
"oauth_state_mismatch": "OAuth state mismatch — possible CSRF",
|
|
743
|
+
"oauth_no_code": "No authorization code received",
|
|
744
|
+
"oauth_timeout": "OAuth flow timed out (5 minutes)",
|
|
745
|
+
"mcp_register_collision": "[mcp] Tool collision: \"{name}\" (from server \"{server}\") conflicts with existing tool. Skipping.",
|
|
746
|
+
"mcp_register_failed": "[mcp] Failed to register tool \"{tool}\" from server \"{server}\": {error}",
|
|
747
|
+
"max_tool_turns": "Max tool-calling turns ({max}) reached. Some tool calls were not executed.",
|
|
748
|
+
"max_tool_turns_warning": "You've reached the maximum of {max} tool-calling rounds. {pending} tool call(s) were not executed. Please summarize what you found so far and any next steps the user should take.",
|
|
749
|
+
"mcp_not_connected": "Error: MCP server \"{server}\" not connected",
|
|
750
|
+
"mcp_tool_error": "MCP tool error: {error}",
|
|
751
|
+
"mcp_no_connection": "No connection for \"{name}\""
|
|
752
|
+
},
|
|
753
|
+
"system": {
|
|
754
|
+
"mcp": {
|
|
755
|
+
"connecting": "[mcp] Connecting to \"{name}\"...",
|
|
756
|
+
"connected": "[mcp] Connected to \"{name}\"",
|
|
757
|
+
"failed": "[mcp] Failed to connect \"{name}\": {reason}",
|
|
758
|
+
"registered": "[mcp] \"{name}\": registered {count} tools",
|
|
759
|
+
"disconnected": "[mcp] Disconnected \"{name}\"",
|
|
760
|
+
"reloaded": "[mcp] Reloaded \"{name}\""
|
|
761
|
+
},
|
|
762
|
+
"context": {
|
|
763
|
+
"omitted": "Prior conversation context omitted.",
|
|
764
|
+
"summary_heading": "[Earlier conversation summary — {heading}]",
|
|
765
|
+
"stop_blocked": "[The Stop hook blocked completion]: {reason}"
|
|
766
|
+
},
|
|
767
|
+
"goal": {
|
|
768
|
+
"verified": "✅ Goal verification passed: {script}",
|
|
769
|
+
"failed_continuing": "🔄 Verification script failed — continuing (loop {loop})",
|
|
770
|
+
"running_skill": "🔍 Running verification skill: {skill}",
|
|
771
|
+
"max_loops": "⚠ Max goal loops ({max}) reached — goal may not be achieved."
|
|
772
|
+
},
|
|
773
|
+
"oauth": {
|
|
774
|
+
"authenticated": "Authenticated",
|
|
775
|
+
"close_window": "You may close this window."
|
|
776
|
+
},
|
|
777
|
+
"welcome": {
|
|
778
|
+
"unknown_model": "[mipham] ⚠ Unknown model \"{model}\": assuming {k}k context window."
|
|
779
|
+
}
|
|
780
|
+
}
|
|
781
|
+
}
|