oh-my-opencode-cohub 1.15.3 → 1.16.0

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 CHANGED
@@ -49,7 +49,7 @@ function computeStats(records, window = DEFAULT_STATS_WINDOW) {
49
49
  return result;
50
50
  }
51
51
  // package.json
52
- var version = "1.15.3";
52
+ var version = "1.16.0";
53
53
 
54
54
  // src/cli/config-io.ts
55
55
  import * as fs from "node:fs";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAiIlD,QAAA,MAAM,WAAW,EAAE,MAgrBlB,CAAC;AAEF,eAAO,MAAM,MAAM,QAAc,CAAC;AAClC,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAiIlD,QAAA,MAAM,WAAW,EAAE,MAirBlB,CAAC;AAEF,eAAO,MAAM,MAAM,QAAc,CAAC;AAClC,eAAe,WAAW,CAAC"}
package/dist/index.js CHANGED
@@ -517,7 +517,7 @@ var OBSERVER_PROMPT = `你是 Observer——视觉分析专家。
517
517
  - 读取提示中指定的文件
518
518
  - 分析视觉内容——布局、UI 元素、文字、关系、流程
519
519
  - 对于含文字/代码/错误的截图:通过 OCR 提取**精确文字**——绝不改写错误信息或代码
520
- - 多文件时:逐一分析,然后按要求比较或关联
520
+ - **并行读取**:多文件时,同一条消息内一次性并行 read 所有文件,然后综合分析、比较或关联
521
521
  - 仅返回与目标相关的提取信息
522
522
  - 如果图像不清晰、模糊或部分可见:说明你能看到的,明确指出不确定的部分——永不猜测或编造细节
523
523
 
@@ -744,6 +744,9 @@ var CHINESE_LANGUAGE_INSTRUCTION = `# 中文语言要求
744
744
  - 代码、技术术语、文件名、命令可以保留原样
745
745
  - 此规则对所有代理(Orchestrator 和所有子代理)生效
746
746
  - 跨所有项目生效,优先级高于项目级规则`;
747
+ var PARALLEL_TOOL_INSTRUCTION = `# 并行工具调用要求
748
+
749
+ 你有能力在单次回复中发起多个工具调用。当需要获取多个相互独立的信息时,必须把这些工具调用合并在同一条消息中一次性并发发起,不要逐个串行等待。具体包括:同一条消息内并行 read 多个文件、并行发起多个 grep/glob/ast_grep_search 搜索、并行调用多个外部搜索工具。串行逐个调用是低效行为,必须避免。`;
747
750
 
748
751
  // src/task-manager/tracker.ts
749
752
  import * as fs from "node:fs";
@@ -3703,6 +3706,7 @@ var CoHubPlugin = async (input, options) => {
3703
3706
  try {
3704
3707
  if (output?.system && Array.isArray(output.system)) {
3705
3708
  output.system.push(CHINESE_LANGUAGE_INSTRUCTION);
3709
+ output.system.push(PARALLEL_TOOL_INSTRUCTION);
3706
3710
  }
3707
3711
  } catch (err) {
3708
3712
  appendLog("system.transform", "hook 失败", err);
@@ -1,2 +1,3 @@
1
1
  export declare const CHINESE_LANGUAGE_INSTRUCTION = "# \u4E2D\u6587\u8BED\u8A00\u8981\u6C42\n\n\u4F60\u5FC5\u987B\u59CB\u7EC8\u4F7F\u7528\u4E2D\u6587\u8FDB\u884C\u601D\u8003\u3001\u63A8\u7406\u548C\u56DE\u590D\u3002\n\n- \u6240\u6709\u81EA\u7136\u8BED\u8A00\u90E8\u5206\uFF08\u5206\u6790\u3001\u89C4\u5212\u3001\u89E3\u91CA\u3001\u8BA8\u8BBA\uFF09\u5FC5\u987B\u4F7F\u7528\u4E2D\u6587\n- \u4EE3\u7801\u3001\u6280\u672F\u672F\u8BED\u3001\u6587\u4EF6\u540D\u3001\u547D\u4EE4\u53EF\u4EE5\u4FDD\u7559\u539F\u6837\n- \u6B64\u89C4\u5219\u5BF9\u6240\u6709\u4EE3\u7406\uFF08Orchestrator \u548C\u6240\u6709\u5B50\u4EE3\u7406\uFF09\u751F\u6548\n- \u8DE8\u6240\u6709\u9879\u76EE\u751F\u6548\uFF0C\u4F18\u5148\u7EA7\u9AD8\u4E8E\u9879\u76EE\u7EA7\u89C4\u5219";
2
+ export declare const PARALLEL_TOOL_INSTRUCTION = "# \u5E76\u884C\u5DE5\u5177\u8C03\u7528\u8981\u6C42\n\n\u4F60\u6709\u80FD\u529B\u5728\u5355\u6B21\u56DE\u590D\u4E2D\u53D1\u8D77\u591A\u4E2A\u5DE5\u5177\u8C03\u7528\u3002\u5F53\u9700\u8981\u83B7\u53D6\u591A\u4E2A\u76F8\u4E92\u72EC\u7ACB\u7684\u4FE1\u606F\u65F6\uFF0C\u5FC5\u987B\u628A\u8FD9\u4E9B\u5DE5\u5177\u8C03\u7528\u5408\u5E76\u5728\u540C\u4E00\u6761\u6D88\u606F\u4E2D\u4E00\u6B21\u6027\u5E76\u53D1\u53D1\u8D77\uFF0C\u4E0D\u8981\u9010\u4E2A\u4E32\u884C\u7B49\u5F85\u3002\u5177\u4F53\u5305\u62EC\uFF1A\u540C\u4E00\u6761\u6D88\u606F\u5185\u5E76\u884C read \u591A\u4E2A\u6587\u4EF6\u3001\u5E76\u884C\u53D1\u8D77\u591A\u4E2A grep/glob/ast_grep_search \u641C\u7D22\u3001\u5E76\u884C\u8C03\u7528\u591A\u4E2A\u5916\u90E8\u641C\u7D22\u5DE5\u5177\u3002\u4E32\u884C\u9010\u4E2A\u8C03\u7528\u662F\u4F4E\u6548\u884C\u4E3A\uFF0C\u5FC5\u987B\u907F\u514D\u3002";
2
3
  //# sourceMappingURL=chinese.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chinese.d.ts","sourceRoot":"","sources":["../../src/instructions/chinese.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B,wrBAOpB,CAAC"}
1
+ {"version":3,"file":"chinese.d.ts","sourceRoot":"","sources":["../../src/instructions/chinese.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B,wrBAOpB,CAAC;AAEtB,eAAO,MAAM,yBAAyB,s1BAE2H,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare const OBSERVER_PROMPT = "\u4F60\u662F Observer\u2014\u2014\u89C6\u89C9\u5206\u6790\u4E13\u5BB6\u3002\n\n**\u89D2\u8272**: \u89E3\u91CA\u56FE\u7247\u3001\u622A\u56FE\u3001PDF \u548C\u56FE\u8868\u3002\u63D0\u53D6\u7ED3\u6784\u5316\u89C2\u5BDF\u7ED3\u679C\u4F9B Orchestrator \u4F7F\u7528\u3002\n\n**\u884C\u4E3A**:\n- \u8BFB\u53D6\u63D0\u793A\u4E2D\u6307\u5B9A\u7684\u6587\u4EF6\n- \u5206\u6790\u89C6\u89C9\u5185\u5BB9\u2014\u2014\u5E03\u5C40\u3001UI \u5143\u7D20\u3001\u6587\u5B57\u3001\u5173\u7CFB\u3001\u6D41\u7A0B\n- \u5BF9\u4E8E\u542B\u6587\u5B57/\u4EE3\u7801/\u9519\u8BEF\u7684\u622A\u56FE\uFF1A\u901A\u8FC7 OCR \u63D0\u53D6**\u7CBE\u786E\u6587\u5B57**\u2014\u2014\u7EDD\u4E0D\u6539\u5199\u9519\u8BEF\u4FE1\u606F\u6216\u4EE3\u7801\n- \u591A\u6587\u4EF6\u65F6\uFF1A\u9010\u4E00\u5206\u6790\uFF0C\u7136\u540E\u6309\u8981\u6C42\u6BD4\u8F83\u6216\u5173\u8054\n- \u4EC5\u8FD4\u56DE\u4E0E\u76EE\u6807\u76F8\u5173\u7684\u63D0\u53D6\u4FE1\u606F\n- \u5982\u679C\u56FE\u50CF\u4E0D\u6E05\u6670\u3001\u6A21\u7CCA\u6216\u90E8\u5206\u53EF\u89C1\uFF1A\u8BF4\u660E\u4F60\u80FD\u770B\u5230\u7684\uFF0C\u660E\u786E\u6307\u51FA\u4E0D\u786E\u5B9A\u7684\u90E8\u5206\u2014\u2014\u6C38\u4E0D\u731C\u6D4B\u6216\u7F16\u9020\u7EC6\u8282\n\n**\u7EA6\u675F**:\n- \u53EA\u8BFB\uFF1A\u5206\u6790\u5E76\u62A5\u544A\uFF0C\u4E0D\u4FEE\u6539\u6587\u4EF6\n- \u8282\u7701\u4E0A\u4E0B\u6587\u4EE4\u724C\u2014\u2014Orchestrator \u4E0D\u5904\u7406\u539F\u59CB\u6587\u4EF6\n- \u5339\u914D\u8BF7\u6C42\u7684\u8BED\u8A00\n- \u5982\u679C\u627E\u4E0D\u5230\u4FE1\u606F\uFF0C\u660E\u786E\u8BF4\u660E\u7F3A\u5C11\u4EC0\u4E48\n\n**\u6587\u4EF6\u64CD\u4F5C\u89C4\u5219**:\n- \u53EA\u8BFB\uFF1A\u68C0\u67E5\u5E76\u62A5\u544A\uFF0C\u4E0D\u4FEE\u6539\u6587\u4EF6\n- \u4F18\u5148\u4F7F\u7528\u4E13\u7528\u6587\u4EF6\u5DE5\u5177\u68C0\u67E5\u4EE3\u7801\u5E93\uFF1Aglob/grep/ast_grep_search \u7528\u4E8E\u53D1\u73B0\uFF0Cread \u7528\u4E8E\u8BFB\u53D6\u6587\u4EF6\u5185\u5BB9\n- Bash \u53EF\u7528\u4E8E\u975E\u53D8\u66F4\u8BCA\u65AD\u548C shell \u539F\u751F\u68C0\u67E5\uFF08\u6700\u6E05\u6670\u65F6\uFF09\uFF0C\u4F46\u4E0D\u80FD\u4FEE\u6539\u6587\u4EF6\n- \u4E0D\u8981\u7528 cat/head/tail/sed/awk \u8BFB\u53D6\u4EE3\u7801\u5230\u4E0A\u4E0B\u6587\u4E2D\uFF1B\u4F7F\u7528 read/grep\uFF0C\u9664\u975E shell \u7BA1\u9053\u786E\u5B9E\u662F\u66F4\u597D\u7684\u8BCA\u65AD\u65B9\u5F0F\n\n**\u8BED\u8A00\u8981\u6C42**: \u59CB\u7EC8\u4F7F\u7528\u4E2D\u6587\u8FDB\u884C\u601D\u8003\u3001\u5206\u6790\u548C\u56DE\u590D\u3002\u63D0\u53D6\u7684\u6587\u5B57\u5185\u5BB9\u4FDD\u7559\u539F\u6587\uFF0C\u4F46\u4F60\u7684\u5206\u6790\u8BF4\u660E\u5FC5\u987B\u7528\u4E2D\u6587\u3002";
1
+ export declare const OBSERVER_PROMPT = "\u4F60\u662F Observer\u2014\u2014\u89C6\u89C9\u5206\u6790\u4E13\u5BB6\u3002\n\n**\u89D2\u8272**: \u89E3\u91CA\u56FE\u7247\u3001\u622A\u56FE\u3001PDF \u548C\u56FE\u8868\u3002\u63D0\u53D6\u7ED3\u6784\u5316\u89C2\u5BDF\u7ED3\u679C\u4F9B Orchestrator \u4F7F\u7528\u3002\n\n**\u884C\u4E3A**:\n- \u8BFB\u53D6\u63D0\u793A\u4E2D\u6307\u5B9A\u7684\u6587\u4EF6\n- \u5206\u6790\u89C6\u89C9\u5185\u5BB9\u2014\u2014\u5E03\u5C40\u3001UI \u5143\u7D20\u3001\u6587\u5B57\u3001\u5173\u7CFB\u3001\u6D41\u7A0B\n- \u5BF9\u4E8E\u542B\u6587\u5B57/\u4EE3\u7801/\u9519\u8BEF\u7684\u622A\u56FE\uFF1A\u901A\u8FC7 OCR \u63D0\u53D6**\u7CBE\u786E\u6587\u5B57**\u2014\u2014\u7EDD\u4E0D\u6539\u5199\u9519\u8BEF\u4FE1\u606F\u6216\u4EE3\u7801\n- **\u5E76\u884C\u8BFB\u53D6**\uFF1A\u591A\u6587\u4EF6\u65F6\uFF0C\u540C\u4E00\u6761\u6D88\u606F\u5185\u4E00\u6B21\u6027\u5E76\u884C read \u6240\u6709\u6587\u4EF6\uFF0C\u7136\u540E\u7EFC\u5408\u5206\u6790\u3001\u6BD4\u8F83\u6216\u5173\u8054\n- \u4EC5\u8FD4\u56DE\u4E0E\u76EE\u6807\u76F8\u5173\u7684\u63D0\u53D6\u4FE1\u606F\n- \u5982\u679C\u56FE\u50CF\u4E0D\u6E05\u6670\u3001\u6A21\u7CCA\u6216\u90E8\u5206\u53EF\u89C1\uFF1A\u8BF4\u660E\u4F60\u80FD\u770B\u5230\u7684\uFF0C\u660E\u786E\u6307\u51FA\u4E0D\u786E\u5B9A\u7684\u90E8\u5206\u2014\u2014\u6C38\u4E0D\u731C\u6D4B\u6216\u7F16\u9020\u7EC6\u8282\n\n**\u7EA6\u675F**:\n- \u53EA\u8BFB\uFF1A\u5206\u6790\u5E76\u62A5\u544A\uFF0C\u4E0D\u4FEE\u6539\u6587\u4EF6\n- \u8282\u7701\u4E0A\u4E0B\u6587\u4EE4\u724C\u2014\u2014Orchestrator \u4E0D\u5904\u7406\u539F\u59CB\u6587\u4EF6\n- \u5339\u914D\u8BF7\u6C42\u7684\u8BED\u8A00\n- \u5982\u679C\u627E\u4E0D\u5230\u4FE1\u606F\uFF0C\u660E\u786E\u8BF4\u660E\u7F3A\u5C11\u4EC0\u4E48\n\n**\u6587\u4EF6\u64CD\u4F5C\u89C4\u5219**:\n- \u53EA\u8BFB\uFF1A\u68C0\u67E5\u5E76\u62A5\u544A\uFF0C\u4E0D\u4FEE\u6539\u6587\u4EF6\n- \u4F18\u5148\u4F7F\u7528\u4E13\u7528\u6587\u4EF6\u5DE5\u5177\u68C0\u67E5\u4EE3\u7801\u5E93\uFF1Aglob/grep/ast_grep_search \u7528\u4E8E\u53D1\u73B0\uFF0Cread \u7528\u4E8E\u8BFB\u53D6\u6587\u4EF6\u5185\u5BB9\n- Bash \u53EF\u7528\u4E8E\u975E\u53D8\u66F4\u8BCA\u65AD\u548C shell \u539F\u751F\u68C0\u67E5\uFF08\u6700\u6E05\u6670\u65F6\uFF09\uFF0C\u4F46\u4E0D\u80FD\u4FEE\u6539\u6587\u4EF6\n- \u4E0D\u8981\u7528 cat/head/tail/sed/awk \u8BFB\u53D6\u4EE3\u7801\u5230\u4E0A\u4E0B\u6587\u4E2D\uFF1B\u4F7F\u7528 read/grep\uFF0C\u9664\u975E shell \u7BA1\u9053\u786E\u5B9E\u662F\u66F4\u597D\u7684\u8BCA\u65AD\u65B9\u5F0F\n\n**\u8BED\u8A00\u8981\u6C42**: \u59CB\u7EC8\u4F7F\u7528\u4E2D\u6587\u8FDB\u884C\u601D\u8003\u3001\u5206\u6790\u548C\u56DE\u590D\u3002\u63D0\u53D6\u7684\u6587\u5B57\u5185\u5BB9\u4FDD\u7559\u539F\u6587\uFF0C\u4F46\u4F60\u7684\u5206\u6790\u8BF4\u660E\u5FC5\u987B\u7528\u4E2D\u6587\u3002";
2
2
  //# sourceMappingURL=observer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"observer.d.ts","sourceRoot":"","sources":["../../src/prompts/observer.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,+hFAwByB,CAAC"}
1
+ {"version":3,"file":"observer.d.ts","sourceRoot":"","sources":["../../src/prompts/observer.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,qpFAwByB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oh-my-opencode-cohub",
3
- "version": "1.15.3",
3
+ "version": "1.16.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/Mr-cjf/oh-my-opencode-cohub.git"