nolo-cli 0.78.0-alpha.1 → 0.78.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.
Files changed (150) hide show
  1. package/README.md +2 -2
  2. package/{_executeModel-T3FPYFVF.js → _executeModel-W26HVI75.js} +46 -46
  3. package/{action-D22U6CTH.js → action-6DXQGJMX.js} +11 -11
  4. package/{addContentAction-XAPUTGL4.js → addContentAction-I7VX5SAC.js} +9 -9
  5. package/{addDialogAgentAction-M7VLLBZM.js → addDialogAgentAction-OJSFV7DZ.js} +8 -8
  6. package/{agentDeleteCommand-2TYFURBN.js → agentDeleteCommand-XNFWCKBH.js} +30 -28
  7. package/{agentEmailCommands-7P35ZMUA.js → agentEmailCommands-XYOZGQ6F.js} +61 -59
  8. package/{agentGrantCommands-R3VQEZJR.js → agentGrantCommands-YW6PQAQ2.js} +2 -2
  9. package/{agentListCommands-IFUOWXP3.js → agentListCommands-DFWFU6XO.js} +38 -30
  10. package/{agentMachineCommands-G46ZZ2ZQ.js → agentMachineCommands-2EANXBQS.js} +30 -28
  11. package/{agentProviderCommands-65ZC2WB4.js → agentProviderCommands-ZBYHGTGY.js} +87 -0
  12. package/{agentPullCommand-N7L2CT7L.js → agentPullCommand-GLOOXJ2E.js} +3 -3
  13. package/{agentRecordCommands-R74LTQEQ.js → agentRecordCommands-DRY5LE4F.js} +58 -56
  14. package/{agentRunCommand-IRSZYCEU.js → agentRunCommand-YONMYI4X.js} +59 -57
  15. package/{agentRuntimeLocal-PUZINLWJ.js → agentRuntimeLocal-2JFG4HDU.js} +28 -26
  16. package/{agentSlice-EACXUOWW.js → agentSlice-ZNLGFUB5.js} +10 -10
  17. package/{appDeleteCommands-U4NTEJYQ.js → appDeleteCommands-2UN4N2NR.js} +30 -28
  18. package/{appDeployCommands-FXF45Q7F.js → appDeployCommands-37D74KRR.js} +30 -28
  19. package/{appDeployStatusCommands-KONVRM53.js → appDeployStatusCommands-QBLWL2IA.js} +30 -28
  20. package/{appGetCommands-3VOGIZ7T.js → appGetCommands-6KXIDF2T.js} +30 -28
  21. package/{appListCommands-A6ROBW7P.js → appListCommands-G2WFGEWQ.js} +30 -28
  22. package/{authCommand-EVGFLAHO.js → authCommand-V2DJ7DB7.js} +164 -24
  23. package/{authCommands-ILTBI6JV.js → authCommands-RGOGCPP6.js} +4 -5
  24. package/builtinSkillRegistry-WBGYKIAZ.js +33 -0
  25. package/{chatQueueReduxAdapter-XEIJO5WR.js → chatQueueReduxAdapter-XCJHIY3R.js} +24 -24
  26. package/chunk-2ADBVBEM.js +1625 -0
  27. package/{chunk-FPTQQSS6.js → chunk-2AYMFHUG.js} +26 -5
  28. package/{chunk-EXMHJN7C.js → chunk-2F4VYGFW.js} +2 -2
  29. package/{chunk-C3FZR5EC.js → chunk-2F7RJC6L.js} +1 -1
  30. package/{chunk-MGU5ADIQ.js → chunk-36ZJDN6A.js} +10 -10
  31. package/{chunk-HQUORJTM.js → chunk-3BMYXEUW.js} +1 -1
  32. package/{chunk-PZM3EENV.js → chunk-3CR2LC6X.js} +1 -1
  33. package/{chunk-DWPNOYMB.js → chunk-3R5PH4IP.js} +1 -1
  34. package/{chunk-ZY4K4CZR.js → chunk-4BYPU626.js} +909 -304
  35. package/{chunk-ZZCJUXUI.js → chunk-4DRWWIOL.js} +2 -2
  36. package/{chunk-H7UKKEIS.js → chunk-576IMUGH.js} +1 -1
  37. package/{chunk-QRBAZ5PW.js → chunk-5DFFKASO.js} +3 -3
  38. package/{chunk-5XTOKQLW.js → chunk-5UTFL4QJ.js} +6 -2
  39. package/{chunk-CDVGNZDA.js → chunk-5V4NJHRM.js} +11 -173
  40. package/chunk-5ZUL4CUO.js +10 -0
  41. package/{chunk-BJCWNHVU.js → chunk-6BEA566T.js} +2 -2
  42. package/{chunk-E6RGHPDR.js → chunk-6D6VBVEW.js} +4 -6
  43. package/{chunk-XEEHSS64.js → chunk-74UCTXK3.js} +1199 -51
  44. package/{chunk-U6LKJRJB.js → chunk-7MYYE7WX.js} +42 -26
  45. package/{chunk-BYEJ7K2Z.js → chunk-7S4YWN7P.js} +1 -1
  46. package/{chunk-AFIWC5NH.js → chunk-A2C4AKKM.js} +1 -1
  47. package/{chunk-SREASRV5.js → chunk-ABQYVJBJ.js} +1 -1
  48. package/{chunk-AJHEFRGJ.js → chunk-ASGDO77C.js} +122 -1
  49. package/{chunk-2KDR4CWE.js → chunk-BYMV6QZG.js} +24 -1
  50. package/{chunk-MYU3MJCF.js → chunk-CLI4LFSM.js} +175 -7
  51. package/{chunk-PYXL2CJL.js → chunk-DNQPPRHY.js} +1 -1
  52. package/{chunk-3QPYFHAH.js → chunk-DPQ2WVBY.js} +1 -1
  53. package/{chunk-733J6D44.js → chunk-EXTJ4GXV.js} +6 -6
  54. package/{chunk-DSRXPQWA.js → chunk-F2CGG72C.js} +43 -43
  55. package/{chunk-P7FA2HMM.js → chunk-FQYMLZ6C.js} +13 -15
  56. package/{chunk-BJIRLHJR.js → chunk-GII32WZW.js} +1 -0
  57. package/{chunk-FSFQ3A7S.js → chunk-GRYGRGPS.js} +10 -10
  58. package/{chunk-D74EWXL4.js → chunk-HMEMJ7GH.js} +386 -46
  59. package/{chunk-OZX2IPKM.js → chunk-HQCSU3DI.js} +1 -1
  60. package/{chunk-3JQ2NRYU.js → chunk-HVURBGF3.js} +4 -4
  61. package/{chunk-ALGK6TIE.js → chunk-HYZHJ5GW.js} +3 -3
  62. package/{chunk-Q6FF2MCK.js → chunk-IIKPWSPX.js} +1 -1
  63. package/{chunk-X7Z7U4Z6.js → chunk-JBBZ5KUM.js} +15 -15
  64. package/{chunk-KC5FAHVS.js → chunk-JEDZAO7L.js} +1 -1
  65. package/{chunk-6XIE5ZGI.js → chunk-JPGCXHNM.js} +1 -1
  66. package/{chunk-4EJ5QYB5.js → chunk-JTK3TJYV.js} +1 -1
  67. package/{chunk-CMH2SYHX.js → chunk-K7M3MWCE.js} +2 -2
  68. package/{chunk-5J7W2VWW.js → chunk-L2ICPOAL.js} +6 -265
  69. package/{chunk-RXX4GDIH.js → chunk-LS2ZANRJ.js} +1 -1
  70. package/{chunk-EVBFYPDC.js → chunk-MC4XLIJ7.js} +6 -2
  71. package/{chunk-PGSKWZCB.js → chunk-MJHQ3NRV.js} +1 -1
  72. package/{chunk-ZLPA7K55.js → chunk-N3OAPEZE.js} +29 -10
  73. package/{chunk-K7AG465Q.js → chunk-ND2J3NRB.js} +4 -2
  74. package/{chunk-XWNRAIUL.js → chunk-PH5J5VUY.js} +6 -16
  75. package/{chunk-AETZ7AD6.js → chunk-Q554LLSI.js} +1 -1
  76. package/chunk-Q5FJJ6XI.js +103 -0
  77. package/{chunk-JYYZCK2Z.js → chunk-QFMFJZLO.js} +1 -1
  78. package/{chunk-KIS76A2P.js → chunk-QHETQ3KI.js} +38 -4
  79. package/{chunk-UZ6XXCVR.js → chunk-RZANZZL2.js} +15 -2
  80. package/{chunk-SPAQ4PVV.js → chunk-SAFZABH7.js} +1 -1
  81. package/{chunk-QC5LGHYP.js → chunk-SMZSWB44.js} +10 -5
  82. package/chunk-TL6L5XUT.js +266 -0
  83. package/{chunk-QUH3XHL5.js → chunk-TVNI5FLG.js} +7 -7
  84. package/{chunk-YFADVSZE.js → chunk-UA5S3LQQ.js} +6 -6
  85. package/{chunk-G3NT6BM3.js → chunk-UMGHLCDZ.js} +141 -58
  86. package/{chunk-QA6YKM3H.js → chunk-UTCCPWB2.js} +32 -4
  87. package/{chunk-E36HZARC.js → chunk-VHJLQHPQ.js} +3 -3
  88. package/{chunk-NHRQCXIQ.js → chunk-VMFTFOWF.js} +13 -3
  89. package/{chunk-UJ63UXGE.js → chunk-VRLI2WNW.js} +1073 -752
  90. package/{chunk-NG4UT4K4.js → chunk-WS22FPWT.js} +1 -1
  91. package/{chunk-MEVSATIF.js → chunk-WXPVOQD7.js} +66 -792
  92. package/{chunk-AFIKMMGC.js → chunk-XKQJJK4F.js} +1 -1
  93. package/{chunk-SZLVDREM.js → chunk-XMGHGEN6.js} +3 -3
  94. package/{chunk-L2Y24GRM.js → chunk-XTUY5EL4.js} +16 -12
  95. package/{chunk-V3ZKNK5D.js → chunk-YOXYA2GU.js} +10 -10
  96. package/{chunk-GBPZKFYK.js → chunk-Z33ARZCP.js} +4 -4
  97. package/chunk-ZAB3A45K.js +677 -0
  98. package/{chunk-UDQWGU7F.js → chunk-ZBT3WNBK.js} +1 -1
  99. package/{contentThunks-3SPROFG5.js → contentThunks-VURN3DFW.js} +25 -25
  100. package/{createAgentAutomationAction-EIP2EG3O.js → createAgentAutomationAction-QZAAY77R.js} +25 -25
  101. package/{createDialogAction-RLUSTN4D.js → createDialogAction-CHGXVTAC.js} +28 -28
  102. package/{createPageAction-4Y52G7WG.js → createPageAction-IOGAFIN7.js} +26 -26
  103. package/{dbSlice-GKGGFNOB.js → dbSlice-YXQ6RYIH.js} +8 -8
  104. package/{deleteFile-LWSR674W.js → deleteFile-YG6QMJLU.js} +3 -3
  105. package/{dialogCommands-G223U5WU.js → dialogCommands-XREAP6WQ.js} +32 -30
  106. package/{dialogSlice-THY45JWM.js → dialogSlice-DOPGWGS4.js} +24 -24
  107. package/{docCreateCommands-2P47IJDK.js → docCreateCommands-3PYZGSCL.js} +31 -29
  108. package/{docDeleteCommands-N3EGDOIC.js → docDeleteCommands-3Y6MU44Q.js} +32 -30
  109. package/{docReadCommands-6BFV2HI7.js → docReadCommands-UBANMAFR.js} +31 -29
  110. package/{docStore-ZQ3ECOPY.js → docStore-SYYFBENY.js} +9 -9
  111. package/{docUpdateCommands-ZTMPXHC5.js → docUpdateCommands-4GK2X6BN.js} +31 -29
  112. package/{fetchMessages-DRABNDPZ.js → fetchMessages-EIU7UFFK.js} +3 -4
  113. package/{getPricing-HRMSOF3E.js → getPricing-F2C65RIX.js} +4 -4
  114. package/{handleSendMessageAction-CE4M5XIE.js → handleSendMessageAction-NPVTY2GE.js} +24 -24
  115. package/index.js +83 -75
  116. package/{localDialogRead-PUQKFI73.js → localDialogRead-BTFJ4V2I.js} +2 -2
  117. package/{localRuntimeDb-P37ZTX55.js → localRuntimeDb-SYQGUF4U.js} +1 -1
  118. package/{machineCommands-4OT7KVCD.js → machineCommands-LES3MCTZ.js} +58 -56
  119. package/{machineWsRunDispatch-TR3EYESP.js → machineWsRunDispatch-FZLFAUUP.js} +56 -54
  120. package/{memberThunks-KATHH3F4.js → memberThunks-5T4J6KXQ.js} +9 -9
  121. package/{models-GS72DVJS.js → models-WW7VFNXB.js} +2 -2
  122. package/{offlineMarxistsAgentCommand-GEH6SNNA.js → offlineMarxistsAgentCommand-JEWCIAWM.js} +1 -1
  123. package/package.json +1 -1
  124. package/providerPresetApply-OCWWKBSD.js +214 -0
  125. package/providerRegistry-ZJQU7AJ7.js +31 -0
  126. package/{read-LC6HVYBN.js → read-M2Q6WEKB.js} +5 -4
  127. package/{readDocTool-N3ERJHHF.js → readDocTool-T37P3YPB.js} +1 -1
  128. package/{readlineWorkspace-GSL5CYNJ.js → readlineWorkspace-OZBKHD4T.js} +195 -110
  129. package/{removeDialogAgentAction-F5GPTALR.js → removeDialogAgentAction-HB3JBVAI.js} +11 -11
  130. package/{runAgentClientLoop-NE5EHXSS.js → runAgentClientLoop-3NDADLVE.js} +45 -45
  131. package/{runtimeDoctorCommands-CROTMULY.js → runtimeDoctorCommands-X6WDBEQX.js} +2 -2
  132. package/{setDialogExtraReferencesAction-AY4ZCF3A.js → setDialogExtraReferencesAction-4XLHRV37.js} +9 -9
  133. package/{setPrimaryDialogAgentAction-HPMG7V3R.js → setPrimaryDialogAgentAction-C3JOFC4W.js} +11 -11
  134. package/{settingSlice-OEJA4NQO.js → settingSlice-CZRURSTH.js} +10 -10
  135. package/{spaceCommands-MRP5U3C3.js → spaceCommands-ENYCUUZH.js} +29 -27
  136. package/{streamAgentChatTurn-A6L6O22P.js → streamAgentChatTurn-634OFUSR.js} +57 -56
  137. package/{switchDialogAgentAction-HMDZTZ4I.js → switchDialogAgentAction-C6KVUKJP.js} +8 -8
  138. package/{tableCommands-SUNTHAYX.js → tableCommands-O6NWHFKV.js} +1 -1
  139. package/{toolApiClient-VGYUB4P5.js → toolApiClient-7PSIFQPJ.js} +2 -2
  140. package/{tools-JS475NYO.js → tools-ILBLCF7D.js} +41 -39
  141. package/tuiSummaryLlmCaller-LFUBZKXK.js +127 -0
  142. package/{updateCommands-Y363MC3L.js → updateCommands-2M74UL7P.js} +2 -2
  143. package/{updateDialogTitleAction-GMZUT6RP.js → updateDialogTitleAction-RKFET73N.js} +45 -28
  144. package/chunk-3IT2PFHL.js +0 -611
  145. package/chunk-I42VC5KR.js +0 -15
  146. package/codingSkills-E6KSDNSJ.js +0 -48
  147. package/tuiSummaryLlmCaller-3Z24VUWM.js +0 -116
  148. package/{chunk-3RAG2NAD.js → chunk-UKWGR5SS.js} +3 -3
  149. package/{db-VQSAOWAO.js → db-WK5MDZVN.js} +1 -1
  150. package/{localRuntimeAuthority-R5UBODT3.js → localRuntimeAuthority-6IR6BBXE.js} +3 -3
@@ -4,10 +4,10 @@ import {
4
4
  } from "./chunk-PUOC4YRO.js";
5
5
  import {
6
6
  AGENT_SELECTION_PRIORITY_INSTRUCTIONS
7
- } from "./chunk-V3ZKNK5D.js";
7
+ } from "./chunk-YOXYA2GU.js";
8
8
  import {
9
9
  getModelContextWindow
10
- } from "./chunk-DSRXPQWA.js";
10
+ } from "./chunk-F2CGG72C.js";
11
11
  import {
12
12
  estimateTokenCount
13
13
  } from "./chunk-PSCNXBYA.js";
@@ -18,7 +18,7 @@ import {
18
18
  PLATFORM_HOSTED_KIMI_K3_MODEL,
19
19
  isFireworksKimiModel,
20
20
  isNoloHostedProvider
21
- } from "./chunk-AJHEFRGJ.js";
21
+ } from "./chunk-ASGDO77C.js";
22
22
  import {
23
23
  asTrimmedLowercaseString
24
24
  } from "./chunk-QSJ3HFEF.js";
@@ -91,6 +91,13 @@ var buildStartupProtocolBlock = (options = {}) => {
91
91
  };
92
92
 
93
93
  // packages/agent-runtime/runtimeGuidance.ts
94
+ var NOLO_WORKING_PHILOSOPHY = [
95
+ "--- Nolo \u5DE5\u4F5C\u539F\u5219 ---",
96
+ "\u9002\u5E94\u7528\u6237\u7684\u5DE5\u4F5C\u65B9\u5F0F\uFF0C\u800C\u4E0D\u662F\u8981\u6C42\u7528\u6237\u9002\u5E94\u4F60\u3002\u4FDD\u62A4\u7528\u6237\u6709\u9650\u7684\u6CE8\u610F\u529B\uFF1A\u80FD\u53EF\u9760\u5904\u7406\u7684\u5E38\u89C4\u590D\u6742\u6027\u5C3D\u91CF\u81EA\u884C\u5904\u7406\uFF1B\u771F\u6B63\u5F71\u54CD\u76EE\u6807\u3001\u98CE\u9669\u3001\u5BA1\u7F8E\u3001\u8D39\u7528\u3001\u6743\u9650\u3001\u4E0D\u53EF\u9006\u540E\u679C\u548C\u65B9\u5411\u7684\u51B3\u5B9A\u7559\u7ED9\u7528\u6237\u3002",
97
+ "\u5C0A\u91CD\u7528\u6237\u7684\u610F\u56FE\u4E0E\u5224\u65AD\uFF0C\u4F46\u4E0D\u8981\u76F2\u4ECE\uFF1B\u5F53\u786E\u5B9E\u80FD\u6539\u53D8\u7ED3\u679C\u65F6\uFF0C\u6307\u51FA\u91CD\u8981\u76F2\u533A\u3001\u98CE\u9669\u3001\u66F4\u597D\u7684\u65B9\u6848\u6216\u65B0\u7684\u53EF\u80FD\u3002\u4E0D\u8981\u4E3A\u4E86\u663E\u5F97\u6709\u601D\u8003\u800C\u523B\u610F\u53CD\u9A73\u3002",
98
+ "\u5229\u7528\u76F8\u5173\u7684 Space\u3001\u8BB0\u5FC6\u3001\u5386\u53F2\u51B3\u5B9A\u548C\u5F53\u524D\u4E0A\u4E0B\u6587\uFF0C\u8BA9\u5408\u4F5C\u4EA7\u751F\u79EF\u7D2F\uFF1B\u4E0D\u8981\u56E0\u4E3A\u5B58\u5728\u65E7\u4E0A\u4E0B\u6587\u5C31\u5F3A\u884C\u5E26\u5165\u65E0\u5173\u4EFB\u52A1\uFF0C\u4E5F\u4E0D\u8981\u8BA9\u7528\u6237\u91CD\u590D\u8BF4\u660E\u5DF2\u7ECF\u53EF\u7528\u7684\u4FE1\u606F\u3002",
99
+ "\u76EE\u6807\u4E0D\u662F\u66FF\u7528\u6237\u505A\u6240\u6709\u51B3\u5B9A\uFF0C\u4E5F\u4E0D\u662F\u628A\u6240\u6709\u9009\u62E9\u91CD\u65B0\u4E22\u7ED9\u7528\u6237\uFF0C\u800C\u662F\u51CF\u5C11\u65E0\u610F\u4E49\u7684\u6253\u6270\uFF0C\u8BA9\u7528\u6237\u628A\u6CE8\u610F\u529B\u653E\u5728\u771F\u6B63\u9700\u8981\u5176\u5224\u65AD\u7684\u5730\u65B9\u3002"
100
+ ].join("\n");
94
101
  var normalizeToolName = (name) => name.replace(/[-_]/g, "").toLowerCase();
95
102
  var hasAnyTool = (normalizedTools, candidates) => candidates.some((candidate) => normalizedTools.has(normalizeToolName(candidate)));
96
103
  var hasAllTools = (normalizedTools, candidates) => candidates.every((candidate) => normalizedTools.has(normalizeToolName(candidate)));
@@ -146,11 +153,14 @@ var resolveRuntimeGuidanceToolOptions = (tools = []) => {
146
153
  var buildRuntimeGuidanceBlocks = (tools = []) => {
147
154
  const options = resolveRuntimeGuidanceToolOptions(tools);
148
155
  const normalizedTools = canonicalizeToolNames(tools);
156
+ const startupProtocol = buildStartupProtocolBlock({
157
+ hasCheckEnvTool: options.hasCheckEnvTool,
158
+ hasExecShellTool: options.hasExecShellTool
159
+ });
149
160
  return {
150
- startupProtocol: buildStartupProtocolBlock({
151
- hasCheckEnvTool: options.hasCheckEnvTool,
152
- hasExecShellTool: options.hasExecShellTool
153
- }),
161
+ // 复用现有 startup-protocol session-scope 槽位,保证 web/server/local 三条
162
+ // 装配线无需各自新增一份全局哲学;具体 startup protocol 为空时原则仍常驻。
163
+ startupProtocol: [NOLO_WORKING_PHILOSOPHY, startupProtocol].filter(Boolean).join("\n\n"),
154
164
  contextLayerContract: buildContextLayerContractBlock({
155
165
  hasRememberMemoryTool: options.hasRememberMemoryTool,
156
166
  hasDocTools: options.hasDocTools
@@ -190,13 +200,22 @@ var TOOL_USE_GUIDANCE = `--- \u5DE5\u5177\u4F7F\u7528\u7EAA\u5F8B ---
190
200
  var AGENT_ORCHESTRATION_RUN_INSTRUCTIONS = `--- \u591A Agent \u7F16\u6392\uFF08\u540E\u53F0 Run\uFF09 ---
191
201
  \u7528 startAgentRun \u542F\u52A8\u5B50 Agent\uFF08wait:false \u5F02\u6B65 fork+exec \u8FD4\u56DE runId\uFF1Bwait:true \u540C\u6B65\u7B49\u7ED3\u679C\uFF09\uFF0C\u7528 controlAgentRun \u63A7\u5236/\u8BCA\u65AD\u3002\u4F55\u65F6\u6D3E\u53D1\u89C1\u300C\u591A Agent \u534F\u4F5C\u300D\u6BB5\uFF1B\u672C\u6BB5\u53EA\u8BB2\u6D3E\u53D1\u4E4B\u540E\u7684\u76EF\u68A2\u4E0E\u6392\u9519\u3002
192
202
 
193
- 1. \u76EF\u68A2\uFF1A**\u5F02\u6B65\u6D3E\u53D1\u540E\u7ACB\u5373\u6536\u5C3E\uFF0C\u7B49\u7EC8\u6001\u901A\u77E5\u3002** \u4E32\u884C\u4F9D\u8D56\u4E0D\u662F\u963B\u585E\u5BF9\u8BDD\u7684\u7406\u7531\u3002\u662F\u5426\u5141\u8BB8\u963B\u585E\u7B49\u5F85\u7531\u5DE5\u5177\u8868\u56DE\u7B54\uFF0C\u4E0D\u7528\u731C\u73AF\u5883\uFF1AcontrolAgentRun \u6709 wait action \u5C31\u7528\u5B83\u963B\u585E\u5230\u7EC8\u6001\uFF08\u4E0D\u8981\u81EA\u5DF1\u5FAA\u73AF wait\u2014\u2014\u90A3\u662F\u4F2A\u88C5\u6210\u7B49\u5F85\u7684\u8F6E\u8BE2\uFF09\uFF1B\u6CA1\u6709\u5C31\u6309\u5DE5\u5177\u63CF\u8FF0\u5904\u7406\uFF0C\u4E0D\u8981\u63A8\u65AD\u4E00\u5B9A\u5B58\u5728 terminal wake\u3002
203
+ 1. \u76EF\u68A2\uFF1A**\u5F02\u6B65\u6D3E\u53D1\u540E\u7ACB\u5373\u6536\u5C3E\uFF0C\u7B49\u7EC8\u6001\u901A\u77E5\u3002** \u4E32\u884C\u4F9D\u8D56\u4E0D\u662F\u963B\u585E\u5BF9\u8BDD\u7684\u7406\u7531\u3002\u7B49\u5F85\u65B9\u5F0F\u6309\u73AF\u5883\u5206\u4E09\u79CD\uFF1A\u2460 controlAgentRun \u6709 wait action \u2192 \u7528\u5B83\u963B\u585E\u5230\u7EC8\u6001\uFF08\u4EC5\u9650\u9884\u8BA1 <100s \u4E14\u9A6C\u4E0A\u8981\u7528\u7ED3\u679C\u7684\u573A\u666F\uFF0C\u6216\u7528\u6237\u660E\u786E\u8981\u6C42\u540C\u6B65\u7B49\u5F85\uFF09\uFF1B\u2461 \u65E0 wait action \u4F46\u5BBF\u4E3B\u6709 terminal wake \u2192 \u6D3E\u53D1\u540E\u76F4\u63A5\u7ED3\u675F\u672C\u8F6E\u56DE\u590D\uFF0Crun \u5230\u7EC8\u6001\u65F6\u5BBF\u4E3B\u81EA\u52A8\u628A\u7236\u5BF9\u8BDD\u63A5\u56DE\u6765\uFF0C\u4E0D\u9700\u8981\u4EFB\u4F55\u4E3B\u52A8\u7B49\u5F85\uFF1B\u2462 \u65E0 wait action \u4E14\u65E0 terminal wake \u2192 \u6D3E\u53D1\u540E\u540C\u6837\u7ED3\u675F\u672C\u8F6E\u56DE\u590D\uFF0Crun \u7ED3\u675F\u65F6\u4E0D\u4F1A\u88AB\u81EA\u52A8\u63A5\u56DE\u6765\uFF0C\u8FD9\u662F\u5BBF\u4E3B\u9650\u5236\uFF0C\u5E94\u5728\u56DE\u590D\u4E2D\u5982\u5B9E\u544A\u77E5\u7528\u6237\u300Crun \u5DF2\u5728\u540E\u53F0\u8FD0\u884C\uFF0C\u7ED3\u679C\u9700\u624B\u52A8\u67E5\u8BE2\u300D\uFF0C\u800C\u4E0D\u662F\u7528 execShell sleep \u8F6E\u8BE2\u7ED5\u8FC7\u3002**execShell sleep \u6C38\u8FDC\u4E0D\u662F\u7B49\u5F85 agent run \u7684\u6B63\u786E\u65B9\u5F0F**\uFF1A\u547D\u4EE4\u8D85 5s \u4F1A\u88AB\u81EA\u52A8 detach \u6210\u540E\u53F0\u4EFB\u52A1\uFF0C\u6BCF\u4E2A\u5B8C\u6210\u90FD\u4EA7\u751F\u4E00\u6761\u901A\u77E5\uFF0C\u5F62\u6210\u566A\u97F3\u4E14\u5B8C\u5168\u65E0\u6548\u3002
194
204
  2. \u7981\u6B62\u8F6E\u8BE2\u3001\u7981\u7A7A\u8F6C\u3001\u522B\u590D\u8FF0 status\uFF1B\u8BED\u4E49\u4EE5\u5DE5\u5177\u63CF\u8FF0\u4E3A\u51C6\u3002status \u4EC5\u7528\u4E8E\u5F02\u5E38\u8BCA\u65AD\u2014\u2014\u6000\u7591\u5361\u6B7B\u3001failed \u540E\u770B\u8BE6\u60C5/\u65E5\u5FD7\u3001\u7528\u6237\u660E\u786E\u8BE2\u95EE\u6267\u884C\u7EC6\u8282\uFF08tailLines:0 \u53EA\u770B\u6458\u8981\uFF09\uFF1B\u5B83\u4E0D\u662F stop \u524D\u7684 preflight\u3002\u5E76\u884C\uFF1A\u65E0\u6587\u4EF6\u4EA4\u96C6\u3001\u65E0\u771F\u5B9E\u6570\u636E\u4F9D\u8D56\u7684\u72EC\u7ACB\u5B50\u4EFB\u52A1\u9ED8\u8BA4\u5E76\u53D1\u6D3E\u53D1\uFF1B\u4E0D\u8981\u56E0\u5171\u7528\u540C\u4E00\u6267\u884C agent/\u901A\u9053\u800C\u81EA\u884C\u52A0\u300C\u901A\u9053\u4E32\u884C\u300D\u4FDD\u5B88\u5047\u8BBE\uFF08\u540C\u901A\u9053\u5141\u8BB8\u5E76\u53D1 fork\uFF0C\u5B9E\u4F8B\u95F4\u65E0\u4E0A\u4E0B\u6587\u5171\u4EAB\uFF09\uFF0C\u53EA\u6709\u771F\u5B9E\u6587\u4EF6/\u6570\u636E\u4F9D\u8D56\u6216 brief \u660E\u793A\u51B2\u7A81\u9762\u65F6\u624D\u4E32\u884C\u3002
195
205
  3. \u6392\u9519\u5148\u5206\u8BCA\uFF1AagentKey \u6CA1\u7167\u6284 listAgents \u5C31\u5148\u4FEE key\uFF08\u4E0D\u7B97\u901A\u9053\u6545\u969C\uFF09\uFF1B\u62A5\u9519\u542B not found / invalid ref / Local agent config not found \u2192 \u5148 readAgent \u590D\u6838\uFF0C**\u7981\u6B62**\u636E\u6B64\u63A8\u65AD\u51ED\u8BC1\u7F3A\u5931\u6216\u901A\u9053\u5168\u6302\uFF1B\u540C\u4E00\u5DF2\u9A8C\u8BC1 key \u4ECD\u5931\u8D25\u4E14\u9519\u8BEF\u660E\u786E\u6307\u5411\u901A\u9053\uFF08429\u3001\u9274\u6743\u5931\u8D25\u3001machine offline\uFF09\u624D\u8BB0\u4E3A\u901A\u9053\u6545\u969C\u3002\u5224\u5B9A\u300C\u6D3E\u53D1\u901A\u9053\u6574\u4F53\u4E0D\u53EF\u7528\u300D\u9700 \u22652 \u4E2A\u4E0D\u540C\u5019\u9009\u5404\u81EA\u5B8C\u6210\u300C\u5DF2\u9A8C\u8BC1 key + \u4E00\u6B21\u771F\u5B9E\u6D3E\u53D1\u300D\u4E14\u5931\u8D25\uFF0C\u5019\u9009\u4E0D\u8DB3\u5C31\u5982\u5B9E\u62A5\u544A\u300C\u4EC5\u6B64\u5019\u9009\u4E14\u901A\u9053\u5931\u8D25\u300D\uFF0C\u4E0D\u5F97\u5938\u5927\u6210\u5168\u5E93\u4E0D\u53EF\u7528\u3002
196
206
  4. \u53EA\u6709 status=failed/\u8D85\u65F6\u6216 progress \u957F\u65F6\u95F4\u65E0\u52A8\u9759\uFF08\u7591\u4F3C\u5361\u6B7B\uFF09\u624D\u62C9 tailLines:30 \u770B\u65E5\u5FD7\u3002append \u53EF\u76F4\u63A5\u8C03\u7528\u2014\u2014not found/\u5DF2\u7EC8\u6001/\u8FD0\u884C\u4E2D\u5165\u961F\u7531 executor \u81EA\u8BC1\uFF1Bstop \u53EF\u76F4\u63A5\u8C03\u7528\uFF0Cnot found/\u5DF2\u7EC8\u6001/\u8FD0\u884C\u4E2D\u7531\u63A7\u5236\u5E73\u9762\u81EA\u884C\u5904\u7406\uFF08\u5DF2\u7EC8\u6001\u539F\u6837\u8FD4\u56DE\u3001\u4E0D\u4F1A\u88AB\u8986\u76D6\uFF09\u3002`;
197
207
  var AGENT_COLLABORATION_INSTRUCTIONS = `--- Agent \u7F16\u6392\u4E0E\u534F\u4F5C\uFF08\u591A Agent \u534F\u4F5C\uFF1A\u8BA1\u5212 \u2192 \u6309\u9700\u6D3E\u53D1 \u2192 \u5BA1\u67E5\uFF09 ---
198
208
  \u4EA7\u51FA\u4F18\u5148\uFF1A\u4E0D\u4E3A\u300C\u51D1\u6570\u91CF\u300D\u6D3E\u53D1\uFF0C\u4E5F\u4E0D\u5305\u529E\u53EF\u5E76\u884C\u7684\u72EC\u7ACB\u9886\u57DF\uFF1B\u6BCF\u8F6E\u63A8\u8FDB\u5F53\u524D\u6700\u6709\u4EF7\u503C\u7684\u52A8\u4F5C\uFF0C\u62FF\u8BC1\u636E\u518D\u5224\u65AD\u3002
199
209
 
210
+ **\u6D3E\u53D1\u4EF7\u503C\uFF08\u5148\u5224\u65AD\u503C\u4E0D\u503C\u5F97\u6D3E\uFF0C\u518D\u9009\u4EBA\uFF09**\uFF1A
211
+ - \u4E0D\u4E3A\u201C\u770B\u8D77\u6765\u50CF\u591A Agent\u201D\u800C\u6D3E\u53D1\u3002\u53EA\u6709\u9884\u671F\u65B0\u589E\u4EF7\u503C\u660E\u663E\u5927\u4E8E\u534F\u4F5C\u6210\u672C\u65F6\u624D\u6D3E\u3002
212
+ - \u4EF7\u503C\u4E0D\u53EA\u770B\u201C\u4E3B Agent \u505A\u4E0D\u52A8\u201D\u3002\u81F3\u5C11\u4ECE\u4E09\u79CD\u6760\u6746\u5224\u65AD\uFF1A
213
+ 1. **\u4E0A\u4E0B\u6587\u6760\u6746\uFF08Context leverage\uFF09**\uFF1A\u628A\u673A\u68B0 inventory\u3001\u5927\u8F93\u51FA\u3001\u91CD\u590D\u9A8C\u8BC1\u5FAA\u73AF\u3001\u8BC1\u636E\u641C\u96C6\u9694\u79BB\u51FA\u53BB\uFF0C\u4FDD\u62A4\u4E3B\u5BF9\u8BDD\u4E0A\u4E0B\u6587\u4E0E\u6CE8\u610F\u529B\u3002
214
+ 2. **\u5E76\u884C\u6760\u6746\uFF08Parallel leverage\uFF09**\uFF1A\u4E24\u4E2A\u6216\u66F4\u591A\u4E92\u4E0D\u4F9D\u8D56\u7684\u5DE5\u4F5C\u6D41\u53EF\u4EE5\u540C\u65F6\u63A8\u8FDB\uFF0C\u7F29\u77ED\u603B\u5B8C\u6210\u65F6\u95F4\u3002
215
+ 3. **\u8BA4\u77E5\u6760\u6746\uFF08Cognitive leverage\uFF09**\uFF1A\u72EC\u7ACB\u89C6\u89D2\u3001\u53CD\u65B9\u5BA1\u67E5\u3001\u521B\u610F\u5206\u652F\u3001\u9886\u57DF\u4E13\u5BB6\u6216\u4E0D\u540C\u6A21\u578B\u80FD\u663E\u8457\u63D0\u9AD8\u65B9\u6848\u8D28\u91CF\u3001\u53D1\u73B0\u76F2\u533A\u6216\u964D\u4F4E\u5171\u4EAB\u9519\u8BEF\u98CE\u9669\u3002\u4EA7\u54C1\u3001\u8BBE\u8BA1\u3001\u7814\u7A76\u3001\u5199\u4F5C\u3001\u6218\u7565\u548C\u590D\u6742\u51B3\u7B56\u540C\u6837\u9002\u7528\uFF0C\u4E0D\u9650\u4E8E\u4EE3\u7801\u3002
216
+ - **\u53CD\u7EA6\u675F**\uFF1A\u5982\u679C\u5B50 Agent \u9884\u8BA1\u53EA\u4F1A\u590D\u8FF0\u7236 Agent \u5DF2\u77E5\u4FE1\u606F\u3001\u6CA1\u6709\u72EC\u7ACB\u8BC1\u636E/\u89C6\u89D2/\u5E76\u884C\u6536\u76CA\uFF0C\u5C31\u4E0D\u8981\u6D3E\u3002\u4E0D\u8981\u628A\u534F\u8C03\u5F00\u9500\u4F2A\u88C5\u6210\u201C\u66F4\u8BA4\u771F\u201D\u3002
217
+ - **\u4FDD\u62A4\u7528\u6237\u6CE8\u610F\u529B**\uFF1A\u7F16\u6392\u8005\u5E94\u5148\u5728\u5185\u90E8\u5B8C\u6210\u80FD\u53EF\u9760\u5B8C\u6210\u7684\u6BD4\u8F83\u3001\u7B5B\u9009\u4E0E\u9ED8\u8BA4\u5224\u65AD\uFF1B\u53EA\u6709\u76EE\u6807\u3001\u98CE\u9669\u3001\u5BA1\u7F8E\u3001\u8D39\u7528\u3001\u6743\u9650\u3001\u4E0D\u53EF\u9006\u540E\u679C\u7B49\u771F\u6B63\u9700\u8981\u7528\u6237\u51B3\u5B9A\u7684\u4E8B\u9879\u624D\u6253\u65AD\u7528\u6237\u3002\u4E0D\u8981\u628A\u201C\u8BF7\u9009\u62E9 A/B/C\u201D\u5F53\u4F5C\u5DF2\u7ECF\u5B8C\u6210\u89C4\u5212\uFF1B\u6709\u8DB3\u591F\u4F9D\u636E\u65F6\u5148\u7ED9\u63A8\u8350\u4E0E\u7406\u7531\uFF0C\u5E76\u8BF4\u660E\u4F55\u79CD\u6761\u4EF6\u4E0B\u5E94\u6539\u9009\u3002
218
+
200
219
  **\u5E73\u53F0 Agent / \u5E73\u53F0\u79EF\u5206\u6263\u8D39\u786E\u8BA4\u786C\u95F8\u95E8\uFF08\u5FC5\u987B\u5148\u786E\u8BA4\uFF0C\u540E\u8C03\u7528\uFF09**\uFF1A
201
220
  - \u53EA\u8981\u5019\u9009 Agent \u7684 apiSource \u4E3A platform\uFF0C\u6216\u65E0\u6CD5\u786E\u8BA4\u8C03\u7528\u662F\u5426\u6D88\u8017\u5E73\u53F0\u79EF\u5206/\u989D\u5EA6\uFF0C\u5C31\u5FC5\u987B\u628A\u5B83\u89C6\u4E3A\u53EF\u80FD\u6263\u8D39\u7684\u9AD8\u6210\u672C\u8C03\u7528\u3002
202
221
  - **\u4EC5\u544A\u77E5\u7528\u6237\u201C\u4F1A\u6D88\u8017\u5E73\u53F0\u79EF\u5206\u201D\u4E0D\u7B49\u4E8E\u83B7\u5F97\u6388\u6743\u3002** \u8C03\u7528 startAgentRun \u524D\uFF0C\u5FC5\u987B\u5148\u5411\u7528\u6237\u8BF4\u660E\uFF1A\u539F\u4F18\u5148\u901A\u9053\u4E3A\u4F55\u4E0D\u53EF\u7528\u3001\u5019\u9009\u5E73\u53F0 Agent\u3001\u9884\u8BA1\u6263\u8D39/\u79EF\u5206\u5F71\u54CD\uFF0C\u5E76\u505C\u4E0B\u6765\u7B49\u5F85\u7528\u6237\u5F53\u6B21\u660E\u786E\u80AF\u5B9A\u6388\u6743\u3002
@@ -208,7 +227,7 @@ var AGENT_COLLABORATION_INSTRUCTIONS = `--- Agent \u7F16\u6392\u4E0E\u534F\u4F5C
208
227
  **\u6D3E\u53D1\u524D\u81EA\u68C0**\uFF1A\u6BCF\u6B21\u8C03\u7528 startAgentRun \u524D\uFF0C\u5148\u6838\u5BF9 agentKey \u7684 apiSource\u3001\u6536\u85CF/\u79C1\u6709\u72B6\u6001\u3001\u5360\u7528\u72B6\u6001\uFF08\u4EC5\u5F53\u5DE5\u5177/\u901A\u9053\u660E\u786E\u8FD4\u56DE\u8BE5\u5019\u9009\u4E0D\u53EF\u7528\uFF0C\u6216\u9879\u76EE\u660E\u786E\u89C4\u5B9A\u5B58\u5728\u540C\u4E00 Agent \u7684\u8D44\u6E90\u9501\u65F6\u6210\u7ACB\uFF09\u548C\u5F53\u524D\u6388\u6743\uFF1B\u65E0\u6CD5\u786E\u8BA4\u6263\u8D39\u72B6\u6001\u65F6\u6309\u53EF\u80FD\u6263\u8D39\u5904\u7406\uFF0C\u5148\u8BE2\u95EE\uFF0C\u4E0D\u5F97\u731C\u6D4B\u3002
209
228
 
210
229
  **\u5206\u6863\u6807\u51C6\uFF08\u4E24\u8D26\u5224\u636E\uFF1A\u4E0A\u4E0B\u6587\u8D26 / \u5E76\u884C\u8D26\uFF1B\u6A21\u578B\u6210\u672C\u4E0D\u6784\u6210\u6D3E\u53D1\u7406\u7531\uFF09**\uFF1A
211
- - **\u81EA\u5DF1\u505A**\uFF1A\u7EAF\u95EE\u7B54/\u54A8\u8BE2/\u95F2\u804A\u76F4\u63A5\u56DE\u7B54\uFF1B\u4E24\u8D26\u5747\u4E0D\u547D\u4E2D\u7684\u4E2D\u5C0F\u5B9E\u73B0\uFF08\u5178\u578B \u22643 \u4E2A\u6587\u4EF6\u30011~2 \u6B21\u9A8C\u8BC1\u5F80\u8FD4\u3001\u65E0\u5927\u8F93\u51FA\u3001\u65E0 \u22652 \u4E2A\u72EC\u7ACB\u9886\u57DF\uFF09\u76F4\u63A5\u5B8C\u6210\uFF0C\u4E0D\u58F0\u660E\u3001\u4E0D\u6D3E\u53D1\u3002
230
+ - **\u81EA\u5DF1\u505A**\uFF1A\u7EAF\u95EE\u7B54/\u54A8\u8BE2/\u95F2\u804A\u9ED8\u8BA4\u76F4\u63A5\u56DE\u7B54\u2014\u2014\u4F46\u82E5\u95EE\u9898\u672C\u8EAB\u662F\u5F00\u653E\u5F0F\u521B\u4F5C\u3001\u590D\u6742\u53D6\u820D\u3001\u957F\u671F\u4EA7\u54C1\u8BED\u4E49\u3001\u91CD\u5927\u51B3\u7B56\u6216\u660E\u786E\u5B58\u5728\u591A\u89C6\u89D2\u4EF7\u503C\uFF0C\u8BA4\u77E5\u6760\u6746\u547D\u4E2D\u5373\u6309\u53D1\u6563/\u4F1A\u5546\u6D3E\u53D1\uFF1B\u53EA\u6709\u786E\u5B9E\u6CA1\u6709\u65B0\u589E\u89C6\u89D2/\u8BC1\u636E/\u5E76\u884C\u6536\u76CA\u65F6\u624D\u76F4\u63A5\u56DE\u7B54\u3002\u4E24\u8D26\u5747\u4E0D\u547D\u4E2D\u7684\u4E2D\u5C0F\u5B9E\u73B0\uFF08\u5178\u578B \u22643 \u4E2A\u6587\u4EF6\u30011~2 \u6B21\u9A8C\u8BC1\u5F80\u8FD4\u3001\u65E0\u5927\u8F93\u51FA\u3001\u65E0 \u22652 \u4E2A\u72EC\u7ACB\u9886\u57DF\uFF09\u76F4\u63A5\u5B8C\u6210\uFF0C\u4E0D\u58F0\u660E\u3001\u4E0D\u6D3E\u53D1\u3002
212
231
  - **\u4E0A\u4E0B\u6587\u8D26\u547D\u4E2D \u2192 \u6D3E\u53D1**\uFF1A\u9A8C\u8BC1\u5FAA\u73AF \u22653 \u6B21\u300C\u8DD1\u547D\u4EE4\u2192\u770B\u62A5\u9519\u2192\u6539\u300D\uFF0C\u6216\u5355\u6B65\u5927\u8F93\u51FA\uFF08\u5168\u91CF typecheck \u62A5\u9519\u3001\u957F\u6D4B\u8BD5\u6808\u3001\u5927 diff\u3001\u5927\u6587\u4EF6\u8BFB\u53D6\uFF09\u2014\u2014\u91CD\u590D\u9A8C\u8BC1\u5FAA\u73AF\u3001\u5927\u8F93\u51FA\u5904\u7406\u4E0E\u673A\u68B0 inventory/\u8BC1\u636E\u5B9A\u4F4D\u4EA4\u7ED9\u5B50 Agent\uFF1B\u7236 Agent \u63A5\u6536\u7ED3\u6784\u5316\u8BC1\u636E\uFF0C\u5E76\u4EB2\u81EA\u590D\u6838\u6240\u6709\u5F71\u54CD\u5173\u952E\u51B3\u7B56\u7684\u539F\u59CB\u8BC1\u636E\u3002
213
232
  - **\u5173\u952E\u51B3\u7B56\u4E0A\u4E0B\u6587\u4E0D\u5916\u5305**\uFF1A\u4E0A\u4E0B\u6587\u8D26\u53EA\u51B3\u5B9A\u91CD\u590D\u9A8C\u8BC1\u5FAA\u73AF\u3001\u5927\u8F93\u51FA\u5904\u7406\u3001\u673A\u68B0 inventory/\u8BC1\u636E\u5B9A\u4F4D\u7684\u6D3E\u53D1\uFF1B\u6D89\u53CA\u67B6\u6784\u3001\u8BA1\u8D39\u3001\u5B89\u5168\u3001\u6743\u9650\u3001\u6570\u636E\u5B8C\u6574\u6027\u3001\u4E0D\u53EF\u9006\u8FC1\u79FB\u3001\u957F\u671F\u4EA7\u54C1\u8BED\u4E49\u65F6\uFF0C\u7F16\u6392\u8005\u5FC5\u987B\u4EB2\u81EA\u8BFB\u53D6\u8DB3\u4EE5\u51B3\u7B56\u7684\u4E00\u7EA7\u4EE3\u7801\u3001\u6B63\u5F0F\u771F\u503C\u3001\u539F\u59CB\u65E5\u5FD7\u548C\u771F\u5B9E\u6570\u636E\u8BC1\u636E\uFF1B\u5B50 Agent \u53EF\u505A\u5B9A\u4F4D\u3001\u673A\u68B0\u6536\u96C6\u3001\u72EC\u7ACB\u590D\u6838\u4E0E\u53CD\u65B9\u5BA1\u67E5\uFF0C\u4F46\u5176\u6458\u8981\u4E0D\u80FD\u66FF\u4EE3\u5173\u952E\u4E0A\u4E0B\u6587\u4EB2\u8BFB\u3002
214
233
  - **\u5E76\u884C\u8D26\u547D\u4E2D \u2192 \u6D3E\u53D1**\uFF1A\u22652 \u4E2A\u4E92\u4E0D\u4F9D\u8D56\u7684\u72EC\u7ACB\u9886\u57DF\uFF0C\u6216\u4ED3\u5E93\u6539\u52A8\uFF0B\u9A8C\u8BC1\uFF0B\u53D1\u5E03/\u8FC1\u79FB\u957F\u94FE\u8DEF \u2192 \u6309\u9886\u57DF\u5E76\u53D1\u6D3E\u53D1\u3002
@@ -283,7 +302,7 @@ var TOOL_ROUND_ECONOMY_INSTRUCTIONS = `--- \u5DE5\u5177\u8F6E\u6B21\u7ECF\u6D4E\
283
302
  - **\u5DF2\u7ECF\u77E5\u9053\u8981\u505A\u7684\u3001\u4E92\u4E0D\u4F9D\u8D56\u7684\u8C03\u7528\uFF0C\u5728\u540C\u4E00\u8F6E\u91CC\u4E00\u6B21\u53D1\u5B8C**\uFF08\u8BFB\u591A\u4E2A\u6587\u4EF6\u3001\u67E5\u591A\u5904\u5F15\u7528\u3001\u51E0\u5904\u72EC\u7ACB\u7684\u68C0\u67E5\uFF09\uFF0C\u4E0D\u8981\u4E00\u4E2A\u4E00\u4E2A\u6765\u56DE\u95EE\u3002
284
303
  - \u53EA\u6709\u300C\u4E0B\u4E00\u6B65\u8981\u505A\u4EC0\u4E48\u53D6\u51B3\u4E8E\u4E0A\u4E00\u6B65\u7684\u7ED3\u679C\u300D\u65F6\u624D\u5206\u8F6E\u3002
285
304
  - \u4E00\u6B21\u8C03\u7528\u91CC\u80FD\u8868\u8FBE\u7684\u5C31\u522B\u62C6\u6210\u591A\u6B21\uFF1A\u7528 glob \u7684\u82B1\u62EC\u53F7\u7EC4\u4E00\u6B21\u5339\u914D\u591A\u79CD\u540E\u7F00\u3001\u7528\u4E00\u6761\u547D\u4EE4\u4EE3\u66FF\u4E09\u6761\u3001\u6309\u9700\u8981\u7684\u884C\u8303\u56F4\u8BFB\u6587\u4EF6\u800C\u4E0D\u662F\u5148\u5168\u8BFB\u518D\u56DE\u5934\u627E\u3002
286
- - \u7B49\u5F85\u7C7B\u5DE5\u5177\uFF08taskWait \u7B49\uFF09\u6309\u9884\u8BA1\u8017\u65F6\u4E00\u6B21\u7ED9\u8DB3\u9884\u7B97\uFF0C\u4E0D\u8981\u7528\u77ED\u8D85\u65F6\u53CD\u590D\u7EED\u7B49\u2014\u2014\u90A3\u662F\u628A\u5FAA\u73AF\u653E\u5728\u4E86\u6700\u8D35\u7684\u5730\u65B9\u3002`;
305
+ - \u82E5\u5F53\u524D\u5BBF\u4E3B\u63D0\u4F9B\u7B49\u5F85\u7C7B\u5DE5\u5177\uFF0C\u6309\u9884\u8BA1\u8017\u65F6\u4E00\u6B21\u7ED9\u8DB3\u9884\u7B97\u3001\u4E0D\u8981\u7528\u77ED\u8D85\u65F6\u53CD\u590D\u7EED\u7B49\uFF08\u90A3\u662F\u628A\u5FAA\u73AF\u653E\u5728\u4E86\u6700\u8D35\u7684\u5730\u65B9\uFF09\uFF1B\u5DF2\u6709\u7EC8\u6001\u81EA\u52A8\u5524\u9192\u65F6\u4E0D\u5FC5\u518D\u7B49\u5F85\u3002`;
287
306
  var PRIVILEGE_ESCALATION_INSTRUCTIONS = `--- \u6743\u9650\u63D0\u5347 ---
288
307
  \u547D\u4EE4\u5931\u8D25\u4E14\u539F\u56E0\u6307\u5411\u6743\u9650\u4E0D\u8DB3\uFF08sudo: \u9700\u8981\u5BC6\u7801 / Permission denied / EACCES / Operation not permitted\uFF09\u65F6\uFF0C\u4F18\u5148\u628A\u300C\u8F93\u5BC6\u7801\u300D\u8FD9\u4E00\u6B65\u4EA4\u8FD8\u7ED9\u7528\u6237\u7684\u56FE\u5F62\u6388\u6743\u901A\u9053\uFF0C\u800C\u4E0D\u662F\u628A sudo \u547D\u4EE4\u629B\u56DE\u7ED9\u7528\u6237\u624B\u6284\uFF1A
289
308
  1. \u684C\u9762\u4F1A\u8BDD\uFF08Linux \u6709 DISPLAY/WAYLAND_DISPLAY\uFF09\u76F4\u63A5\u8DD1 \`pkexec <\u547D\u4EE4>\`\uFF1Apolkit \u4F1A\u5728\u7528\u6237\u5C4F\u5E55\u5F39 GUI \u5BC6\u7801\u6846\u3002\u5F39\u4E4B\u524D\u5148\u4E00\u53E5\u8BDD\u8BF4\u660E\u8981\u505A\u4EC0\u4E48\u3001\u4E3A\u4F55\u9700\u8981 root\uFF0C\u907F\u514D\u51ED\u7A7A\u5F39\u7A97\uFF1B\u590D\u6742\u547D\u4EE4\u5148\u5199\u6210\u811A\u672C\u518D \`pkexec bash /tmp/xxx.sh\`\u3002
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  getModelConfig
3
- } from "./chunk-UJ63UXGE.js";
3
+ } from "./chunk-VRLI2WNW.js";
4
4
  import {
5
5
  isPlatformHostedDeepseekModel,
6
6
  isPlatformHostedOpenAIImageModel,
7
7
  resolvePlatformHostedRouting
8
- } from "./chunk-AJHEFRGJ.js";
8
+ } from "./chunk-ASGDO77C.js";
9
9
  import {
10
10
  asTrimmedLowercaseString
11
11
  } from "./chunk-QSJ3HFEF.js";
@@ -25,6 +25,8 @@ var PLATFORM_CHAT_COMPLETIONS_ENDPOINTS = {
25
25
  qwen: "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions",
26
26
  // Moonshot AI(月之暗面)开放平台 OpenAI 兼容模式(按量计费)
27
27
  moonshot: "https://api.moonshot.cn/v1/chat/completions",
28
+ // 阶跃星辰(StepFun)开放平台 OpenAI 兼容模式
29
+ stepfun: "https://api.stepfun.com/v1/chat/completions",
28
30
  // 平台托管 GLM 5.3 Flash 的实际上游(RunInfra 独家廉价快档)
29
31
  runinfra: "https://api.runinfra.ai/v1/chat/completions"
30
32
  // 无 nolo 默认上游:平台托管模型全部显式分流,未识别模型返回 undefined
@@ -2,8 +2,9 @@ import {
2
2
  parsePositiveFiniteNumberOrFallback
3
3
  } from "./chunk-Y5GCAMGP.js";
4
4
  import {
5
- DEFAULT_SYSTEM_AGENT_CAPABILITIES
6
- } from "./chunk-UZ6XXCVR.js";
5
+ DEFAULT_SYSTEM_AGENT_CAPABILITIES,
6
+ noloAgentId
7
+ } from "./chunk-RZANZZL2.js";
7
8
  import {
8
9
  asRecordOrEmpty
9
10
  } from "./chunk-KX6YBIHG.js";
@@ -13,25 +14,22 @@ import {
13
14
  toTimestampMs,
14
15
  upsert,
15
16
  write
16
- } from "./chunk-YFADVSZE.js";
17
+ } from "./chunk-UA5S3LQQ.js";
17
18
  import {
18
19
  createUserKey,
19
20
  createUserPreferenceKey,
20
21
  ulid
21
- } from "./chunk-NHRQCXIQ.js";
22
+ } from "./chunk-VMFTFOWF.js";
22
23
  import {
23
24
  asTrimmedLowercaseString
24
25
  } from "./chunk-QSJ3HFEF.js";
25
- import {
26
- BUILTIN_NOLO_AGENT_KEY
27
- } from "./chunk-5J7W2VWW.js";
28
26
  import {
29
27
  asyncThunkCreator,
30
28
  buildCreateSlice,
31
29
  createAction,
32
30
  createAsyncThunk,
33
31
  createSelector
34
- } from "./chunk-3RAG2NAD.js";
32
+ } from "./chunk-UKWGR5SS.js";
35
33
  import {
36
34
  getAllServers,
37
35
  getIsDesktopApp,
@@ -1016,12 +1014,6 @@ var withSettingsRecordSchema = (changes) => ({
1016
1014
  schemaVersion: SETTINGS_RECORD_SCHEMA_VERSION
1017
1015
  });
1018
1016
 
1019
- // packages/core/init.ts
1020
- var nolotusId = "0e95801d90";
1021
- var ADMIN_IDS = /* @__PURE__ */ new Set([nolotusId]);
1022
- var isSystemAdmin = (userId) => userId != null && ADMIN_IDS.has(userId);
1023
- var noloAgentId = BUILTIN_NOLO_AGENT_KEY;
1024
-
1025
1017
  // packages/app/settings/settingNormalizers.ts
1026
1018
  var hasOwn = (target, key) => Object.prototype.hasOwnProperty.call(target, key);
1027
1019
  var normalizeDefaultAgentIdSetting = (value) => {
@@ -1994,8 +1986,6 @@ export {
1994
1986
  AGENT_UPDATE_FIELD_NAMES,
1995
1987
  normalizeAgentUpdateFieldList,
1996
1988
  SYSTEM_DEFAULT_AGENT_ID,
1997
- nolotusId,
1998
- isSystemAdmin,
1999
1989
  normalizeSettingChanges,
2000
1990
  LOCAL_FIRST_APPEARANCE_KEYS,
2001
1991
  LOCAL_ONLY_SETTINGS_KEYS,
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-KHCLMKZZ.js";
5
5
  import {
6
6
  asTrimmedNonEmptyStringArray
7
- } from "./chunk-I42VC5KR.js";
7
+ } from "./chunk-VMFTFOWF.js";
8
8
  import {
9
9
  asOptionalTrimmedString
10
10
  } from "./chunk-G3SUCT4W.js";
@@ -0,0 +1,103 @@
1
+ // packages/agent-runtime/devinOAuth.ts
2
+ import { existsSync, readFileSync } from "node:fs";
3
+ import { homedir } from "node:os";
4
+ import { join } from "node:path";
5
+ var DEVIN_CONNECT_URL = "https://server.codeium.com/exa.api_server_pb.ApiServerService/GetChatMessage";
6
+ function buildDevinAuthUrl(orgId) {
7
+ const cleanOrg = orgId?.trim();
8
+ if (cleanOrg) {
9
+ return `https://app.devin.ai/org/${encodeURIComponent(cleanOrg)}/settings/keys`;
10
+ }
11
+ return "https://app.devin.ai/settings/keys";
12
+ }
13
+ function extractDevinToken(input) {
14
+ const raw = input?.trim();
15
+ if (!raw) return null;
16
+ if (/^https?:\/\//i.test(raw)) {
17
+ try {
18
+ const url = new URL(raw);
19
+ const queryToken = url.searchParams.get("token") || url.searchParams.get("access_token") || url.searchParams.get("auth_token");
20
+ if (queryToken?.trim()) return queryToken.trim();
21
+ if (url.hash) {
22
+ const hashParams = new URLSearchParams(url.hash.replace(/^#/, ""));
23
+ const hashToken = hashParams.get("token") || hashParams.get("access_token") || hashParams.get("auth_token");
24
+ if (hashToken?.trim()) return hashToken.trim();
25
+ }
26
+ } catch {
27
+ }
28
+ }
29
+ return raw || null;
30
+ }
31
+ function parseDevinCredentialsToml(content) {
32
+ for (const line of content.split(/\r?\n/)) {
33
+ const cogMatch = line.match(/(cog_[A-Za-z0-9_-]+)/);
34
+ if (cogMatch?.[1]) {
35
+ return cogMatch[1].trim();
36
+ }
37
+ const match = line.match(
38
+ /^\s*(?:windsurf_api_key|devin_api_key|api_key|api_token|token)\s*=\s*"([^"]+)"\s*$/i
39
+ );
40
+ if (match?.[1]) {
41
+ return match[1].trim();
42
+ }
43
+ }
44
+ return null;
45
+ }
46
+ function detectLocalDevinCredentials(options) {
47
+ const baseHome = options?.homeDir || homedir();
48
+ const xdgData = process.env.XDG_DATA_HOME;
49
+ const candidateCliPaths = [
50
+ xdgData ? join(xdgData, "devin", "credentials.toml") : null,
51
+ join(baseHome, ".local", "share", "devin", "credentials.toml"),
52
+ process.env.APPDATA ? join(process.env.APPDATA, "devin", "credentials.toml") : null
53
+ ].filter((p) => Boolean(p));
54
+ for (const credPath of candidateCliPaths) {
55
+ if (existsSync(credPath)) {
56
+ try {
57
+ const content = readFileSync(credPath, "utf-8");
58
+ const token = parseDevinCredentialsToml(content);
59
+ if (token) {
60
+ return {
61
+ found: true,
62
+ token,
63
+ source: "devin-cli",
64
+ sourcePath: credPath
65
+ };
66
+ }
67
+ } catch {
68
+ }
69
+ }
70
+ }
71
+ const codeiumPath = join(baseHome, ".codeium", "config.json");
72
+ if (existsSync(codeiumPath)) {
73
+ try {
74
+ const parsed = JSON.parse(readFileSync(codeiumPath, "utf-8"));
75
+ const token = parsed.apiKey || parsed.api_key;
76
+ if (token?.trim()) {
77
+ return {
78
+ found: true,
79
+ token: token.trim(),
80
+ source: "codeium-config",
81
+ sourcePath: codeiumPath
82
+ };
83
+ }
84
+ } catch {
85
+ }
86
+ }
87
+ return { found: false };
88
+ }
89
+ function buildDevinOAuthCredential(token, now = Date.now()) {
90
+ return {
91
+ provider: "devin",
92
+ accessToken: token.trim(),
93
+ obtainedAt: now
94
+ };
95
+ }
96
+
97
+ export {
98
+ DEVIN_CONNECT_URL,
99
+ buildDevinAuthUrl,
100
+ extractDevinToken,
101
+ detectLocalDevinCredentials,
102
+ buildDevinOAuthCredential
103
+ };
@@ -2,7 +2,7 @@ import {
2
2
  LOCAL_CODEX_AGENT_KEY,
3
3
  isLocalCliAgentKey,
4
4
  resolveCliAgentKeyInput
5
- } from "./chunk-SPAQ4PVV.js";
5
+ } from "./chunk-SAFZABH7.js";
6
6
  import {
7
7
  DEFAULT_NOLO_SERVER_URL
8
8
  } from "./chunk-OLZBQWZU.js";
@@ -1,19 +1,25 @@
1
+ import {
2
+ isDevinOAuthAgent
3
+ } from "./chunk-5ZUL4CUO.js";
4
+ import {
5
+ getModelContextWindow
6
+ } from "./chunk-F2CGG72C.js";
1
7
  import {
2
8
  findModelConfig,
3
9
  getProviderByModelName
4
- } from "./chunk-UJ63UXGE.js";
10
+ } from "./chunk-VRLI2WNW.js";
5
11
  import {
6
12
  asOptionalFiniteNumber
7
13
  } from "./chunk-WWC7I6TA.js";
8
14
  import {
9
15
  asTrimmedLowercaseString
10
16
  } from "./chunk-QSJ3HFEF.js";
11
- import {
12
- asTrimmedString
13
- } from "./chunk-3EUW3WEO.js";
14
17
  import {
15
18
  isRecord
16
19
  } from "./chunk-KUG52IAP.js";
20
+ import {
21
+ asTrimmedString
22
+ } from "./chunk-3EUW3WEO.js";
17
23
  import {
18
24
  asOptionalTrimmedString
19
25
  } from "./chunk-G3SUCT4W.js";
@@ -120,6 +126,33 @@ async function stripImagePartsForTextOnlyAgent(messages, agentConfig) {
120
126
  return { messages: !supportsVision && hasImages ? stripImagePartsFromMessages(messages) : messages };
121
127
  }
122
128
 
129
+ // packages/agent-runtime/devin/devinChannelWindows.ts
130
+ var DEVIN_CHANNEL_CONTEXT_WINDOWS = {
131
+ // SWE-2 家族(catalog 无裸 swe-2 selector;旧点号/裸写法如 swe-2、
132
+ // swe-1.7 实测均 permission_denied,已不是可用 selector)。
133
+ "swe-2-max": 262e3,
134
+ "swe-2-high": 262e3,
135
+ "swe-2-medium": 262e3,
136
+ // SWE-1.7 家族。
137
+ "swe-1-7": 262e3,
138
+ "swe-1-7-medium": 262e3,
139
+ "swe-1-7-lightning": 202752,
140
+ // SWE-1.6 家族(免费档默认)。
141
+ "swe-1-6": 2e5,
142
+ "swe-1-6-fast": 2e5,
143
+ // 经 devin 通道转售、且与厂商原生窗口不同的模型(catalog 枚举型 selector)。
144
+ "MODEL_GPT_5_2_LOW": 384e3,
145
+ "MODEL_GPT_5_2_MEDIUM": 384e3,
146
+ "MODEL_GPT_5_2_HIGH": 384e3,
147
+ "MODEL_GPT_5_2_XHIGH": 384e3
148
+ };
149
+ var devinChannelContextWindow = (model) => {
150
+ const raw = model?.trim();
151
+ if (!raw) return void 0;
152
+ return DEVIN_CHANNEL_CONTEXT_WINDOWS[raw];
153
+ };
154
+ var resolveAgentContextWindow = (agent) => (isDevinOAuthAgent(agent) ? devinChannelContextWindow(agent.model) : void 0) ?? getModelContextWindow(agent.model ?? "");
155
+
123
156
  // packages/agent-runtime/agentRecordConfig.ts
124
157
  function stringField(record, key) {
125
158
  const value = record[key];
@@ -540,6 +573,7 @@ export {
540
573
  resolveHistoricalToolContentCap,
541
574
  projectToolMessageContent,
542
575
  clipToolText,
576
+ resolveAgentContextWindow,
543
577
  resolveAgentRuntimeConfigFromRecord,
544
578
  buildDesktopAgentRuntimeAgentConfigSnapshot,
545
579
  buildDesktopAgentRuntimeDialogHistorySnapshot,
@@ -1,3 +1,7 @@
1
+ import {
2
+ BUILTIN_NOLO_AGENT_KEY
3
+ } from "./chunk-TL6L5XUT.js";
4
+
1
5
  // packages/ai/tools/agentCapabilities.ts
2
6
  var SYSTEM_AGENT_CAPABILITIES = [
3
7
  {
@@ -13,7 +17,7 @@ var SYSTEM_AGENT_CAPABILITIES = [
13
17
  label: "\u6DF1\u5EA6\u7F51\u9875\u6293\u53D6",
14
18
  description: "\u5728\u666E\u901A\u8054\u7F51\u641C\u7D22\u4E4B\u5916\uFF0C\u7528 Firecrawl \u505A\u7ED3\u6784\u5316\u641C\u7D22\u4E0E\u6574\u9875\u6293\u53D6\uFF0C\u9002\u5408\u9700\u8981\u5B8C\u6574\u6B63\u6587\u3001\u6587\u6863\u7AD9\u70B9\u6216\u7AD9\u5185\u68C0\u7D22\u7684\u573A\u666F\u3002",
15
19
  tools: ["firecrawl_search", "firecrawl_scrape"],
16
- defaultEnabled: true,
20
+ defaultEnabled: false,
17
21
  icon: "\u{1F578}\uFE0F"
18
22
  },
19
23
  {
@@ -43,8 +47,17 @@ var DEFAULT_SYSTEM_AGENT_CAPABILITIES = Object.fromEntries(
43
47
  ])
44
48
  );
45
49
 
50
+ // packages/core/init.ts
51
+ var nolotusId = "0e95801d90";
52
+ var ADMIN_IDS = /* @__PURE__ */ new Set([nolotusId]);
53
+ var isSystemAdmin = (userId) => userId != null && ADMIN_IDS.has(userId);
54
+ var noloAgentId = BUILTIN_NOLO_AGENT_KEY;
55
+
46
56
  export {
47
57
  SYSTEM_AGENT_CAPABILITIES,
48
58
  SYSTEM_AGENT_CAPABILITY_IDS,
49
- DEFAULT_SYSTEM_AGENT_CAPABILITIES
59
+ DEFAULT_SYSTEM_AGENT_CAPABILITIES,
60
+ nolotusId,
61
+ isSystemAdmin,
62
+ noloAgentId
50
63
  };
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  ownedAgentKey,
6
6
  publicAgentKey
7
- } from "./chunk-BJIRLHJR.js";
7
+ } from "./chunk-GII32WZW.js";
8
8
 
9
9
  // packages/cli/agentAliases.ts
10
10
  var CURRENT_OPERATOR_USER_ID = "0e95801d90";
@@ -35,15 +35,16 @@ import {
35
35
  resolvePlatformAuthToken,
36
36
  resolvePlatformServerUrl,
37
37
  resolveProviderTransportDecision
38
- } from "./chunk-CMH2SYHX.js";
38
+ } from "./chunk-K7M3MWCE.js";
39
39
  import {
40
40
  clipCompactText,
41
41
  isMeaningfulChatCompletionOutput,
42
42
  isMeaningfulResponsesOutput
43
- } from "./chunk-E36HZARC.js";
43
+ } from "./chunk-VHJLQHPQ.js";
44
44
  import {
45
- NOLO_CLIENT_VERSION_HEADER
46
- } from "./chunk-AJHEFRGJ.js";
45
+ NOLO_CLIENT_VERSION_HEADER,
46
+ isPlatformMimoProviderModel
47
+ } from "./chunk-ASGDO77C.js";
47
48
  import {
48
49
  isRecord
49
50
  } from "./chunk-KUG52IAP.js";
@@ -465,7 +466,11 @@ function isAbortOrTimeoutError(error) {
465
466
  }
466
467
  var CHAT_PROXY_PATH = "/api/v1/chat";
467
468
  function shouldDisableThinking(providerConfig) {
468
- return providerConfig.provider.toLowerCase() === "mimo" || /xiaomimimo\.com/i.test(providerConfig.endpoint);
469
+ return providerConfig.provider.toLowerCase() === "mimo" || /xiaomimimo\.com/i.test(providerConfig.endpoint) || // 平台托管 MiMo(provider=nolo + mimo-v2.6-*):endpoint 通常已解析成
470
+ // api.xiaomimimo.com/...(上面的正则已命中),但 transport=direct 时
471
+ // endpoint 是 nolo 服务器地址——模型 id 判据保证两跳都关掉 thinking
472
+ // (上游 thinking 默认 enabled)。
473
+ isPlatformMimoProviderModel(providerConfig.provider, providerConfig.model);
469
474
  }
470
475
  function isResponsesEndpoint(endpoint) {
471
476
  return /\/responses$/i.test(endpoint.trim());