opencode-ultra 0.7.4 → 0.7.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/index.js +32 -30
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -14926,7 +14926,7 @@ function buildEvolveMessage(ctx) {
|
|
|
14926
14926
|
return `[evolve-mode] SELF-IMPROVEMENT CYCLE ACTIVATED.
|
|
14927
14927
|
|
|
14928
14928
|
## MISSION
|
|
14929
|
-
Compare opencode-ultra's current capabilities with other OpenCode plugins, then propose concrete improvements.
|
|
14929
|
+
Compare opencode-ultra's current capabilities with other OpenCode plugins, then propose concrete, implementation-ready improvements.
|
|
14930
14930
|
This is NOT about installing other plugins. This is about LEARNING from the ecosystem and making opencode-ultra better.
|
|
14931
14931
|
|
|
14932
14932
|
## opencode-ultra CURRENT CAPABILITIES (auto-generated from source)
|
|
@@ -14934,21 +14934,15 @@ ${inventory}
|
|
|
14934
14934
|
|
|
14935
14935
|
You already have the full capability list above. Do NOT try to read opencode-ultra source files \u2014 this inventory IS the source of truth.
|
|
14936
14936
|
|
|
14937
|
-
## PHASE 1: ECOSYSTEM RESEARCH
|
|
14937
|
+
## PHASE 1: ECOSYSTEM RESEARCH
|
|
14938
14938
|
|
|
14939
|
-
|
|
14940
|
-
|
|
14941
|
-
|
|
14942
|
-
agents: [
|
|
14943
|
-
{agent: "scout", prompt: "Search npm and GitHub for OpenCode 1.2.x plugins. For EACH interesting plugin: what features does it provide? What hooks, tools, or techniques does it use? Focus on UNIQUE capabilities. Return a structured feature inventory per plugin.", description: "Ecosystem scan"},
|
|
14944
|
-
{agent: "librarian", prompt: "Search for OpenCode plugin best practices, architectural patterns, and advanced techniques. Look at oh-my-opencode, opencode-supermemory, opencode-dcp, opencode-rate-limit-fallback, opencode-worktree, opencode-mad. What patterns do they share? What's unique?", description: "Plugin patterns research"}
|
|
14945
|
-
]
|
|
14946
|
-
})
|
|
14947
|
-
\`\`\`
|
|
14939
|
+
Search npm and GitHub for OpenCode 1.2.x plugins. Use google_search, webfetch, or spawn_agent with scout/librarian agents.
|
|
14940
|
+
For EACH interesting plugin: what features does it provide? What hooks, tools, or techniques does it use?
|
|
14941
|
+
Focus on UNIQUE capabilities not already in the inventory above.
|
|
14948
14942
|
|
|
14949
14943
|
## PHASE 2: COMPARE
|
|
14950
14944
|
|
|
14951
|
-
Build a Feature Matrix using the capability list above and
|
|
14945
|
+
Build a Feature Matrix using the capability list above and research results.
|
|
14952
14946
|
|
|
14953
14947
|
**RULE**: The "opencode-ultra" column MUST be Yes/No/Partial based on the inventory above. NEVER write "TBD", "unknown", or "\u4E0D\u660E".
|
|
14954
14948
|
|
|
@@ -14956,34 +14950,43 @@ Build a Feature Matrix using the capability list above and agent results.
|
|
|
14956
14950
|
|---------|---------------|-----------------|------|
|
|
14957
14951
|
| (feature) | Yes \u2014 (tool/hook name) | Which plugin | Covered / Missing / Partial |
|
|
14958
14952
|
|
|
14959
|
-
Focus on genuinely useful, feasible, complementary features.
|
|
14960
|
-
|
|
14961
14953
|
## PHASE 3: PROPOSE
|
|
14962
14954
|
|
|
14963
|
-
For each Missing or Partial gap:
|
|
14955
|
+
For each Missing or Partial gap, write a structured proposal. Each proposal MUST include:
|
|
14964
14956
|
|
|
14965
|
-
|
|
14966
|
-
|
|
14967
|
-
|
|
14968
|
-
|
|
14969
|
-
**
|
|
14970
|
-
**Effort**: Low / Medium / High
|
|
14971
|
-
|
|
14957
|
+
- **\u5BFE\u8C61\u30D5\u30A1\u30A4\u30EB\u3068\u95A2\u6570\u540D**: Which source file(s) and function(s) to modify or create
|
|
14958
|
+
- **\u73FE\u72B6\u306E\u554F\u984C\u70B9**: What's missing or broken, citing specific tools/hooks from the inventory
|
|
14959
|
+
- **\u5177\u4F53\u7684\u306A\u5909\u66F4\u5185\u5BB9**: What to add/modify (specific enough to implement in one session)
|
|
14960
|
+
- **\u671F\u5F85\u3055\u308C\u308B\u52B9\u679C**: Concrete benefit to the user
|
|
14961
|
+
- **Priority**: P0 (critical gap) / P1 (valuable) / P2 (nice-to-have)
|
|
14962
|
+
- **Effort**: Low (< 1 file) / Medium (2-4 files) / High (5+ files or new subsystem)
|
|
14963
|
+
|
|
14964
|
+
Write each proposal as a JSONL line to \`.opencode/evolve-proposals.jsonl\`:
|
|
14965
|
+
\`\`\`
|
|
14966
|
+
{"title":"\u6A5F\u80FD\u540D","priority":"P0","effort":"Medium","inspiration":"\u53C2\u8003\u30D7\u30E9\u30B0\u30A4\u30F3","current_state":"\u73FE\u72B6\u306E\u554F\u984C","why":"\u671F\u5F85\u52B9\u679C","how":"\u5BFE\u8C61\u30D5\u30A1\u30A4\u30EB:\u95A2\u6570\u540D \u2014 \u5909\u66F4\u5185\u5BB9"}
|
|
14967
|
+
\`\`\`
|
|
14972
14968
|
|
|
14973
|
-
|
|
14969
|
+
## PHASE 4: SCORE
|
|
14974
14970
|
|
|
14975
|
-
|
|
14971
|
+
Use the \`evolve_score\` tool to score and rank ALL proposals:
|
|
14972
|
+
\`\`\`
|
|
14973
|
+
evolve_score({ markdown: "## Improvement: ...\\n**Priority**: ...\\n**Effort**: ...\\n**Why**: ..." })
|
|
14974
|
+
\`\`\`
|
|
14975
|
+
Include the score results and reasoning in the final output.
|
|
14976
|
+
|
|
14977
|
+
## PHASE 5: SAVE
|
|
14976
14978
|
\`\`\`
|
|
14977
14979
|
ledger_save({
|
|
14978
14980
|
name: "evolve-scan-YYYY-MM-DD",
|
|
14979
|
-
content: "# Evolve Scan Results\\n\\n## Feature Matrix\\n...\\n## Proposals\\n..."
|
|
14981
|
+
content: "# Evolve Scan Results\\n\\n## Feature Matrix\\n...\\n## Scored Proposals\\n..."
|
|
14980
14982
|
})
|
|
14981
14983
|
\`\`\`
|
|
14982
14984
|
|
|
14983
14985
|
## RULES
|
|
14984
|
-
- Use the capability inventory above as ground truth.
|
|
14985
|
-
-
|
|
14986
|
-
-
|
|
14986
|
+
- Use the capability inventory above as ground truth.
|
|
14987
|
+
- Do NOT use evolve_apply. Proposals only. Humans decide what to implement.
|
|
14988
|
+
- Sort final proposals by score descending.
|
|
14989
|
+
- Each proposal must be specific enough to implement in one coding session.`;
|
|
14987
14990
|
}
|
|
14988
14991
|
function buildSelfInventory(ctx) {
|
|
14989
14992
|
const lines = [];
|
|
@@ -14999,8 +15002,7 @@ function buildSelfInventory(ctx) {
|
|
|
14999
15002
|
lines.push("");
|
|
15000
15003
|
lines.push("### Agents");
|
|
15001
15004
|
for (const [name, def] of Object.entries(ctx.agents)) {
|
|
15002
|
-
|
|
15003
|
-
lines.push(`- **${name}** (${shortModel}) \u2014 ${def.description}`);
|
|
15005
|
+
lines.push(`- **${name}** \u2014 ${def.description}`);
|
|
15004
15006
|
}
|
|
15005
15007
|
lines.push("");
|
|
15006
15008
|
lines.push("### Additional Features");
|