oh-my-opencode 3.5.4 → 3.5.5
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/dist/cli/index.js +13 -13
- package/dist/index.js +20 -9
- package/dist/tools/delegate-task/constants.d.ts +1 -1
- package/package.json +8 -8
package/dist/cli/index.js
CHANGED
|
@@ -6782,9 +6782,10 @@ var init_model_requirements = __esm(() => {
|
|
|
6782
6782
|
CATEGORY_MODEL_REQUIREMENTS = {
|
|
6783
6783
|
"visual-engineering": {
|
|
6784
6784
|
fallbackChain: [
|
|
6785
|
-
{ providers: ["google", "github-copilot", "opencode"], model: "gemini-3-pro" },
|
|
6785
|
+
{ providers: ["google", "github-copilot", "opencode"], model: "gemini-3-pro", variant: "high" },
|
|
6786
|
+
{ providers: ["zai-coding-plan"], model: "glm-5" },
|
|
6786
6787
|
{ providers: ["anthropic", "github-copilot", "opencode"], model: "claude-opus-4-6", variant: "max" },
|
|
6787
|
-
{ providers: ["
|
|
6788
|
+
{ providers: ["kimi-for-coding"], model: "k2p5" }
|
|
6788
6789
|
]
|
|
6789
6790
|
},
|
|
6790
6791
|
ultrabrain: {
|
|
@@ -6833,10 +6834,9 @@ var init_model_requirements = __esm(() => {
|
|
|
6833
6834
|
},
|
|
6834
6835
|
writing: {
|
|
6835
6836
|
fallbackChain: [
|
|
6837
|
+
{ providers: ["kimi-for-coding"], model: "k2p5" },
|
|
6836
6838
|
{ providers: ["google", "github-copilot", "opencode"], model: "gemini-3-flash" },
|
|
6837
|
-
{ providers: ["anthropic", "github-copilot", "opencode"], model: "claude-sonnet-4-5" }
|
|
6838
|
-
{ providers: ["zai-coding-plan"], model: "glm-4.7" },
|
|
6839
|
-
{ providers: ["openai", "github-copilot", "opencode"], model: "gpt-5.2" }
|
|
6839
|
+
{ providers: ["anthropic", "github-copilot", "opencode"], model: "claude-sonnet-4-5" }
|
|
6840
6840
|
]
|
|
6841
6841
|
}
|
|
6842
6842
|
};
|
|
@@ -8877,7 +8877,7 @@ var {
|
|
|
8877
8877
|
// package.json
|
|
8878
8878
|
var package_default = {
|
|
8879
8879
|
name: "oh-my-opencode",
|
|
8880
|
-
version: "3.5.
|
|
8880
|
+
version: "3.5.5",
|
|
8881
8881
|
description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
|
|
8882
8882
|
main: "dist/index.js",
|
|
8883
8883
|
types: "dist/index.d.ts",
|
|
@@ -8951,13 +8951,13 @@ var package_default = {
|
|
|
8951
8951
|
typescript: "^5.7.3"
|
|
8952
8952
|
},
|
|
8953
8953
|
optionalDependencies: {
|
|
8954
|
-
"oh-my-opencode-darwin-arm64": "3.5.
|
|
8955
|
-
"oh-my-opencode-darwin-x64": "3.5.
|
|
8956
|
-
"oh-my-opencode-linux-arm64": "3.5.
|
|
8957
|
-
"oh-my-opencode-linux-arm64-musl": "3.5.
|
|
8958
|
-
"oh-my-opencode-linux-x64": "3.5.
|
|
8959
|
-
"oh-my-opencode-linux-x64-musl": "3.5.
|
|
8960
|
-
"oh-my-opencode-windows-x64": "3.5.
|
|
8954
|
+
"oh-my-opencode-darwin-arm64": "3.5.5",
|
|
8955
|
+
"oh-my-opencode-darwin-x64": "3.5.5",
|
|
8956
|
+
"oh-my-opencode-linux-arm64": "3.5.5",
|
|
8957
|
+
"oh-my-opencode-linux-arm64-musl": "3.5.5",
|
|
8958
|
+
"oh-my-opencode-linux-x64": "3.5.5",
|
|
8959
|
+
"oh-my-opencode-linux-x64-musl": "3.5.5",
|
|
8960
|
+
"oh-my-opencode-windows-x64": "3.5.5"
|
|
8961
8961
|
},
|
|
8962
8962
|
trustedDependencies: [
|
|
8963
8963
|
"@ast-grep/cli",
|
package/dist/index.js
CHANGED
|
@@ -4963,6 +4963,16 @@ Approach:
|
|
|
4963
4963
|
- Draft with care
|
|
4964
4964
|
- Polish for clarity and impact
|
|
4965
4965
|
- Documentation, READMEs, articles, technical writing
|
|
4966
|
+
|
|
4967
|
+
ANTI-AI-SLOP RULES (NON-NEGOTIABLE):
|
|
4968
|
+
- NEVER use em dashes (\u2014) or en dashes (\u2013). Use commas, periods, ellipses, or line breaks instead. Zero tolerance.
|
|
4969
|
+
- Remove AI-sounding phrases: "delve", "it's important to note", "I'd be happy to", "certainly", "please don't hesitate", "leverage", "utilize", "in order to", "moving forward", "circle back", "at the end of the day", "robust", "streamline", "facilitate"
|
|
4970
|
+
- Pick plain words. "Use" not "utilize". "Start" not "commence". "Help" not "facilitate".
|
|
4971
|
+
- Use contractions naturally: "don't" not "do not", "it's" not "it is".
|
|
4972
|
+
- Vary sentence length. Don't make every sentence the same length.
|
|
4973
|
+
- NEVER start consecutive sentences with the same word.
|
|
4974
|
+
- No filler openings: skip "In today's world...", "As we all know...", "It goes without saying..."
|
|
4975
|
+
- Write like a human, not a corporate template.
|
|
4966
4976
|
</Category_Context>`, DEEP_CATEGORY_PROMPT_APPEND = `<Category_Context>
|
|
4967
4977
|
You are working on GOAL-ORIENTED AUTONOMOUS tasks.
|
|
4968
4978
|
|
|
@@ -5238,14 +5248,14 @@ WHY THIS FORMAT IS MANDATORY:
|
|
|
5238
5248
|
`, PLAN_AGENT_NAMES, PLAN_FAMILY_NAMES;
|
|
5239
5249
|
var init_constants = __esm(() => {
|
|
5240
5250
|
DEFAULT_CATEGORIES = {
|
|
5241
|
-
"visual-engineering": { model: "google/gemini-3-pro" },
|
|
5251
|
+
"visual-engineering": { model: "google/gemini-3-pro", variant: "high" },
|
|
5242
5252
|
ultrabrain: { model: "openai/gpt-5.3-codex", variant: "xhigh" },
|
|
5243
5253
|
deep: { model: "openai/gpt-5.3-codex", variant: "medium" },
|
|
5244
5254
|
artistry: { model: "google/gemini-3-pro", variant: "high" },
|
|
5245
5255
|
quick: { model: "anthropic/claude-haiku-4-5" },
|
|
5246
5256
|
"unspecified-low": { model: "anthropic/claude-sonnet-4-5" },
|
|
5247
5257
|
"unspecified-high": { model: "anthropic/claude-opus-4-6", variant: "max" },
|
|
5248
|
-
writing: { model: "
|
|
5258
|
+
writing: { model: "kimi-for-coding/k2p5" }
|
|
5249
5259
|
};
|
|
5250
5260
|
CATEGORY_PROMPT_APPENDS = {
|
|
5251
5261
|
"visual-engineering": VISUAL_CATEGORY_PROMPT_APPEND,
|
|
@@ -33130,9 +33140,10 @@ var AGENT_MODEL_REQUIREMENTS = {
|
|
|
33130
33140
|
var CATEGORY_MODEL_REQUIREMENTS = {
|
|
33131
33141
|
"visual-engineering": {
|
|
33132
33142
|
fallbackChain: [
|
|
33133
|
-
{ providers: ["google", "github-copilot", "opencode"], model: "gemini-3-pro" },
|
|
33143
|
+
{ providers: ["google", "github-copilot", "opencode"], model: "gemini-3-pro", variant: "high" },
|
|
33144
|
+
{ providers: ["zai-coding-plan"], model: "glm-5" },
|
|
33134
33145
|
{ providers: ["anthropic", "github-copilot", "opencode"], model: "claude-opus-4-6", variant: "max" },
|
|
33135
|
-
{ providers: ["
|
|
33146
|
+
{ providers: ["kimi-for-coding"], model: "k2p5" }
|
|
33136
33147
|
]
|
|
33137
33148
|
},
|
|
33138
33149
|
ultrabrain: {
|
|
@@ -33181,10 +33192,9 @@ var CATEGORY_MODEL_REQUIREMENTS = {
|
|
|
33181
33192
|
},
|
|
33182
33193
|
writing: {
|
|
33183
33194
|
fallbackChain: [
|
|
33195
|
+
{ providers: ["kimi-for-coding"], model: "k2p5" },
|
|
33184
33196
|
{ providers: ["google", "github-copilot", "opencode"], model: "gemini-3-flash" },
|
|
33185
|
-
{ providers: ["anthropic", "github-copilot", "opencode"], model: "claude-sonnet-4-5" }
|
|
33186
|
-
{ providers: ["zai-coding-plan"], model: "glm-4.7" },
|
|
33187
|
-
{ providers: ["openai", "github-copilot", "opencode"], model: "gpt-5.2" }
|
|
33197
|
+
{ providers: ["anthropic", "github-copilot", "opencode"], model: "claude-sonnet-4-5" }
|
|
33188
33198
|
]
|
|
33189
33199
|
}
|
|
33190
33200
|
};
|
|
@@ -53600,7 +53610,7 @@ class BackgroundManager {
|
|
|
53600
53610
|
}
|
|
53601
53611
|
handleEvent(event) {
|
|
53602
53612
|
const props = event.properties;
|
|
53603
|
-
if (event.type === "message.part.updated") {
|
|
53613
|
+
if (event.type === "message.part.updated" || event.type === "message.part.delta") {
|
|
53604
53614
|
if (!props || typeof props !== "object" || !("sessionID" in props))
|
|
53605
53615
|
return;
|
|
53606
53616
|
const partInfo = props;
|
|
@@ -54225,7 +54235,8 @@ Use \`background_output(task_id="${task.id}")\` to retrieve this result when rea
|
|
|
54225
54235
|
const sessionID = task.sessionID;
|
|
54226
54236
|
if (!startedAt || !sessionID)
|
|
54227
54237
|
continue;
|
|
54228
|
-
const
|
|
54238
|
+
const sessionStatus = allStatuses[sessionID]?.type;
|
|
54239
|
+
const sessionIsRunning = sessionStatus !== undefined && sessionStatus !== "idle";
|
|
54229
54240
|
const runtime = now - startedAt.getTime();
|
|
54230
54241
|
if (!task.progress?.lastUpdate) {
|
|
54231
54242
|
if (sessionIsRunning)
|
|
@@ -6,7 +6,7 @@ export declare const ARTISTRY_CATEGORY_PROMPT_APPEND = "<Category_Context>\nYou
|
|
|
6
6
|
export declare const QUICK_CATEGORY_PROMPT_APPEND = "<Category_Context>\nYou are working on SMALL / QUICK tasks.\n\nEfficient execution mindset:\n- Fast, focused, minimal overhead\n- Get to the point immediately\n- No over-engineering\n- Simple solutions for simple problems\n\nApproach:\n- Minimal viable implementation\n- Skip unnecessary abstractions\n- Direct and concise\n</Category_Context>\n\n<Caller_Warning>\nTHIS CATEGORY USES A LESS CAPABLE MODEL (claude-haiku-4-5).\n\nThe model executing this task has LIMITED reasoning capacity. Your prompt MUST be:\n\n**EXHAUSTIVELY EXPLICIT** - Leave NOTHING to interpretation:\n1. MUST DO: List every required action as atomic, numbered steps\n2. MUST NOT DO: Explicitly forbid likely mistakes and deviations\n3. EXPECTED OUTPUT: Describe exact success criteria with concrete examples\n\n**WHY THIS MATTERS:**\n- Less capable models WILL deviate without explicit guardrails\n- Vague instructions \u2192 unpredictable results\n- Implicit expectations \u2192 missed requirements\n\n**PROMPT STRUCTURE (MANDATORY):**\n```\nTASK: [One-sentence goal]\n\nMUST DO:\n1. [Specific action with exact details]\n2. [Another specific action]\n...\n\nMUST NOT DO:\n- [Forbidden action + why]\n- [Another forbidden action]\n...\n\nEXPECTED OUTPUT:\n- [Exact deliverable description]\n- [Success criteria / verification method]\n```\n\nIf your prompt lacks this structure, REWRITE IT before delegating.\n</Caller_Warning>";
|
|
7
7
|
export declare const UNSPECIFIED_LOW_CATEGORY_PROMPT_APPEND = "<Category_Context>\nYou are working on tasks that don't fit specific categories but require moderate effort.\n\n<Selection_Gate>\nBEFORE selecting this category, VERIFY ALL conditions:\n1. Task does NOT fit: quick (trivial), visual-engineering (UI), ultrabrain (deep logic), artistry (creative), writing (docs)\n2. Task requires more than trivial effort but is NOT system-wide\n3. Scope is contained within a few files/modules\n\nIf task fits ANY other category, DO NOT select unspecified-low.\nThis is NOT a default choice - it's for genuinely unclassifiable moderate-effort work.\n</Selection_Gate>\n</Category_Context>\n\n<Caller_Warning>\nTHIS CATEGORY USES A MID-TIER MODEL (claude-sonnet-4-5).\n\n**PROVIDE CLEAR STRUCTURE:**\n1. MUST DO: Enumerate required actions explicitly\n2. MUST NOT DO: State forbidden actions to prevent scope creep\n3. EXPECTED OUTPUT: Define concrete success criteria\n</Caller_Warning>";
|
|
8
8
|
export declare const UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND = "<Category_Context>\nYou are working on tasks that don't fit specific categories but require substantial effort.\n\n<Selection_Gate>\nBEFORE selecting this category, VERIFY ALL conditions:\n1. Task does NOT fit: quick (trivial), visual-engineering (UI), ultrabrain (deep logic), artistry (creative), writing (docs)\n2. Task requires substantial effort across multiple systems/modules\n3. Changes have broad impact or require careful coordination\n4. NOT just \"complex\" - must be genuinely unclassifiable AND high-effort\n\nIf task fits ANY other category, DO NOT select unspecified-high.\nIf task is unclassifiable but moderate-effort, use unspecified-low instead.\n</Selection_Gate>\n</Category_Context>";
|
|
9
|
-
export declare const WRITING_CATEGORY_PROMPT_APPEND = "<Category_Context>\nYou are working on WRITING / PROSE tasks.\n\nWordsmith mindset:\n- Clear, flowing prose\n- Appropriate tone and voice\n- Engaging and readable\n- Proper structure and organization\n\nApproach:\n- Understand the audience\n- Draft with care\n- Polish for clarity and impact\n- Documentation, READMEs, articles, technical writing\n</Category_Context>";
|
|
9
|
+
export declare const WRITING_CATEGORY_PROMPT_APPEND = "<Category_Context>\nYou are working on WRITING / PROSE tasks.\n\nWordsmith mindset:\n- Clear, flowing prose\n- Appropriate tone and voice\n- Engaging and readable\n- Proper structure and organization\n\nApproach:\n- Understand the audience\n- Draft with care\n- Polish for clarity and impact\n- Documentation, READMEs, articles, technical writing\n\nANTI-AI-SLOP RULES (NON-NEGOTIABLE):\n- NEVER use em dashes (\u2014) or en dashes (\u2013). Use commas, periods, ellipses, or line breaks instead. Zero tolerance.\n- Remove AI-sounding phrases: \"delve\", \"it's important to note\", \"I'd be happy to\", \"certainly\", \"please don't hesitate\", \"leverage\", \"utilize\", \"in order to\", \"moving forward\", \"circle back\", \"at the end of the day\", \"robust\", \"streamline\", \"facilitate\"\n- Pick plain words. \"Use\" not \"utilize\". \"Start\" not \"commence\". \"Help\" not \"facilitate\".\n- Use contractions naturally: \"don't\" not \"do not\", \"it's\" not \"it is\".\n- Vary sentence length. Don't make every sentence the same length.\n- NEVER start consecutive sentences with the same word.\n- No filler openings: skip \"In today's world...\", \"As we all know...\", \"It goes without saying...\"\n- Write like a human, not a corporate template.\n</Category_Context>";
|
|
10
10
|
export declare const DEEP_CATEGORY_PROMPT_APPEND = "<Category_Context>\nYou are working on GOAL-ORIENTED AUTONOMOUS tasks.\n\n**CRITICAL - AUTONOMOUS EXECUTION MINDSET (NON-NEGOTIABLE)**:\nYou are NOT an interactive assistant. You are an autonomous problem-solver.\n\n**BEFORE making ANY changes**:\n1. SILENTLY explore the codebase extensively (5-15 minutes of reading is normal)\n2. Read related files, trace dependencies, understand the full context\n3. Build a complete mental model of the problem space\n4. DO NOT ask clarifying questions - the goal is already defined\n\n**Autonomous executor mindset**:\n- You receive a GOAL, not step-by-step instructions\n- Figure out HOW to achieve the goal yourself\n- Thorough research before any action\n- Fix hairy problems that require deep understanding\n- Work independently without frequent check-ins\n\n**Approach**:\n- Explore extensively, understand deeply, then act decisively\n- Prefer comprehensive solutions over quick patches\n- If the goal is unclear, make reasonable assumptions and proceed\n- Document your reasoning in code comments only when non-obvious\n\n**Response format**:\n- Minimal status updates (user trusts your autonomy)\n- Focus on results, not play-by-play progress\n- Report completion with summary of changes made\n</Category_Context>";
|
|
11
11
|
export declare const DEFAULT_CATEGORIES: Record<string, CategoryConfig>;
|
|
12
12
|
export declare const CATEGORY_PROMPT_APPENDS: Record<string, string>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "oh-my-opencode",
|
|
3
|
-
"version": "3.5.
|
|
3
|
+
"version": "3.5.5",
|
|
4
4
|
"description": "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -74,13 +74,13 @@
|
|
|
74
74
|
"typescript": "^5.7.3"
|
|
75
75
|
},
|
|
76
76
|
"optionalDependencies": {
|
|
77
|
-
"oh-my-opencode-darwin-arm64": "3.5.
|
|
78
|
-
"oh-my-opencode-darwin-x64": "3.5.
|
|
79
|
-
"oh-my-opencode-linux-arm64": "3.5.
|
|
80
|
-
"oh-my-opencode-linux-arm64-musl": "3.5.
|
|
81
|
-
"oh-my-opencode-linux-x64": "3.5.
|
|
82
|
-
"oh-my-opencode-linux-x64-musl": "3.5.
|
|
83
|
-
"oh-my-opencode-windows-x64": "3.5.
|
|
77
|
+
"oh-my-opencode-darwin-arm64": "3.5.5",
|
|
78
|
+
"oh-my-opencode-darwin-x64": "3.5.5",
|
|
79
|
+
"oh-my-opencode-linux-arm64": "3.5.5",
|
|
80
|
+
"oh-my-opencode-linux-arm64-musl": "3.5.5",
|
|
81
|
+
"oh-my-opencode-linux-x64": "3.5.5",
|
|
82
|
+
"oh-my-opencode-linux-x64-musl": "3.5.5",
|
|
83
|
+
"oh-my-opencode-windows-x64": "3.5.5"
|
|
84
84
|
},
|
|
85
85
|
"trustedDependencies": [
|
|
86
86
|
"@ast-grep/cli",
|