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.
- package/README.md +2 -2
- package/{_executeModel-T3FPYFVF.js → _executeModel-W26HVI75.js} +46 -46
- package/{action-D22U6CTH.js → action-6DXQGJMX.js} +11 -11
- package/{addContentAction-XAPUTGL4.js → addContentAction-I7VX5SAC.js} +9 -9
- package/{addDialogAgentAction-M7VLLBZM.js → addDialogAgentAction-OJSFV7DZ.js} +8 -8
- package/{agentDeleteCommand-2TYFURBN.js → agentDeleteCommand-XNFWCKBH.js} +30 -28
- package/{agentEmailCommands-7P35ZMUA.js → agentEmailCommands-XYOZGQ6F.js} +61 -59
- package/{agentGrantCommands-R3VQEZJR.js → agentGrantCommands-YW6PQAQ2.js} +2 -2
- package/{agentListCommands-IFUOWXP3.js → agentListCommands-DFWFU6XO.js} +38 -30
- package/{agentMachineCommands-G46ZZ2ZQ.js → agentMachineCommands-2EANXBQS.js} +30 -28
- package/{agentProviderCommands-65ZC2WB4.js → agentProviderCommands-ZBYHGTGY.js} +87 -0
- package/{agentPullCommand-N7L2CT7L.js → agentPullCommand-GLOOXJ2E.js} +3 -3
- package/{agentRecordCommands-R74LTQEQ.js → agentRecordCommands-DRY5LE4F.js} +58 -56
- package/{agentRunCommand-IRSZYCEU.js → agentRunCommand-YONMYI4X.js} +59 -57
- package/{agentRuntimeLocal-PUZINLWJ.js → agentRuntimeLocal-2JFG4HDU.js} +28 -26
- package/{agentSlice-EACXUOWW.js → agentSlice-ZNLGFUB5.js} +10 -10
- package/{appDeleteCommands-U4NTEJYQ.js → appDeleteCommands-2UN4N2NR.js} +30 -28
- package/{appDeployCommands-FXF45Q7F.js → appDeployCommands-37D74KRR.js} +30 -28
- package/{appDeployStatusCommands-KONVRM53.js → appDeployStatusCommands-QBLWL2IA.js} +30 -28
- package/{appGetCommands-3VOGIZ7T.js → appGetCommands-6KXIDF2T.js} +30 -28
- package/{appListCommands-A6ROBW7P.js → appListCommands-G2WFGEWQ.js} +30 -28
- package/{authCommand-EVGFLAHO.js → authCommand-V2DJ7DB7.js} +164 -24
- package/{authCommands-ILTBI6JV.js → authCommands-RGOGCPP6.js} +4 -5
- package/builtinSkillRegistry-WBGYKIAZ.js +33 -0
- package/{chatQueueReduxAdapter-XEIJO5WR.js → chatQueueReduxAdapter-XCJHIY3R.js} +24 -24
- package/chunk-2ADBVBEM.js +1625 -0
- package/{chunk-FPTQQSS6.js → chunk-2AYMFHUG.js} +26 -5
- package/{chunk-EXMHJN7C.js → chunk-2F4VYGFW.js} +2 -2
- package/{chunk-C3FZR5EC.js → chunk-2F7RJC6L.js} +1 -1
- package/{chunk-MGU5ADIQ.js → chunk-36ZJDN6A.js} +10 -10
- package/{chunk-HQUORJTM.js → chunk-3BMYXEUW.js} +1 -1
- package/{chunk-PZM3EENV.js → chunk-3CR2LC6X.js} +1 -1
- package/{chunk-DWPNOYMB.js → chunk-3R5PH4IP.js} +1 -1
- package/{chunk-ZY4K4CZR.js → chunk-4BYPU626.js} +909 -304
- package/{chunk-ZZCJUXUI.js → chunk-4DRWWIOL.js} +2 -2
- package/{chunk-H7UKKEIS.js → chunk-576IMUGH.js} +1 -1
- package/{chunk-QRBAZ5PW.js → chunk-5DFFKASO.js} +3 -3
- package/{chunk-5XTOKQLW.js → chunk-5UTFL4QJ.js} +6 -2
- package/{chunk-CDVGNZDA.js → chunk-5V4NJHRM.js} +11 -173
- package/chunk-5ZUL4CUO.js +10 -0
- package/{chunk-BJCWNHVU.js → chunk-6BEA566T.js} +2 -2
- package/{chunk-E6RGHPDR.js → chunk-6D6VBVEW.js} +4 -6
- package/{chunk-XEEHSS64.js → chunk-74UCTXK3.js} +1199 -51
- package/{chunk-U6LKJRJB.js → chunk-7MYYE7WX.js} +42 -26
- package/{chunk-BYEJ7K2Z.js → chunk-7S4YWN7P.js} +1 -1
- package/{chunk-AFIWC5NH.js → chunk-A2C4AKKM.js} +1 -1
- package/{chunk-SREASRV5.js → chunk-ABQYVJBJ.js} +1 -1
- package/{chunk-AJHEFRGJ.js → chunk-ASGDO77C.js} +122 -1
- package/{chunk-2KDR4CWE.js → chunk-BYMV6QZG.js} +24 -1
- package/{chunk-MYU3MJCF.js → chunk-CLI4LFSM.js} +175 -7
- package/{chunk-PYXL2CJL.js → chunk-DNQPPRHY.js} +1 -1
- package/{chunk-3QPYFHAH.js → chunk-DPQ2WVBY.js} +1 -1
- package/{chunk-733J6D44.js → chunk-EXTJ4GXV.js} +6 -6
- package/{chunk-DSRXPQWA.js → chunk-F2CGG72C.js} +43 -43
- package/{chunk-P7FA2HMM.js → chunk-FQYMLZ6C.js} +13 -15
- package/{chunk-BJIRLHJR.js → chunk-GII32WZW.js} +1 -0
- package/{chunk-FSFQ3A7S.js → chunk-GRYGRGPS.js} +10 -10
- package/{chunk-D74EWXL4.js → chunk-HMEMJ7GH.js} +386 -46
- package/{chunk-OZX2IPKM.js → chunk-HQCSU3DI.js} +1 -1
- package/{chunk-3JQ2NRYU.js → chunk-HVURBGF3.js} +4 -4
- package/{chunk-ALGK6TIE.js → chunk-HYZHJ5GW.js} +3 -3
- package/{chunk-Q6FF2MCK.js → chunk-IIKPWSPX.js} +1 -1
- package/{chunk-X7Z7U4Z6.js → chunk-JBBZ5KUM.js} +15 -15
- package/{chunk-KC5FAHVS.js → chunk-JEDZAO7L.js} +1 -1
- package/{chunk-6XIE5ZGI.js → chunk-JPGCXHNM.js} +1 -1
- package/{chunk-4EJ5QYB5.js → chunk-JTK3TJYV.js} +1 -1
- package/{chunk-CMH2SYHX.js → chunk-K7M3MWCE.js} +2 -2
- package/{chunk-5J7W2VWW.js → chunk-L2ICPOAL.js} +6 -265
- package/{chunk-RXX4GDIH.js → chunk-LS2ZANRJ.js} +1 -1
- package/{chunk-EVBFYPDC.js → chunk-MC4XLIJ7.js} +6 -2
- package/{chunk-PGSKWZCB.js → chunk-MJHQ3NRV.js} +1 -1
- package/{chunk-ZLPA7K55.js → chunk-N3OAPEZE.js} +29 -10
- package/{chunk-K7AG465Q.js → chunk-ND2J3NRB.js} +4 -2
- package/{chunk-XWNRAIUL.js → chunk-PH5J5VUY.js} +6 -16
- package/{chunk-AETZ7AD6.js → chunk-Q554LLSI.js} +1 -1
- package/chunk-Q5FJJ6XI.js +103 -0
- package/{chunk-JYYZCK2Z.js → chunk-QFMFJZLO.js} +1 -1
- package/{chunk-KIS76A2P.js → chunk-QHETQ3KI.js} +38 -4
- package/{chunk-UZ6XXCVR.js → chunk-RZANZZL2.js} +15 -2
- package/{chunk-SPAQ4PVV.js → chunk-SAFZABH7.js} +1 -1
- package/{chunk-QC5LGHYP.js → chunk-SMZSWB44.js} +10 -5
- package/chunk-TL6L5XUT.js +266 -0
- package/{chunk-QUH3XHL5.js → chunk-TVNI5FLG.js} +7 -7
- package/{chunk-YFADVSZE.js → chunk-UA5S3LQQ.js} +6 -6
- package/{chunk-G3NT6BM3.js → chunk-UMGHLCDZ.js} +141 -58
- package/{chunk-QA6YKM3H.js → chunk-UTCCPWB2.js} +32 -4
- package/{chunk-E36HZARC.js → chunk-VHJLQHPQ.js} +3 -3
- package/{chunk-NHRQCXIQ.js → chunk-VMFTFOWF.js} +13 -3
- package/{chunk-UJ63UXGE.js → chunk-VRLI2WNW.js} +1073 -752
- package/{chunk-NG4UT4K4.js → chunk-WS22FPWT.js} +1 -1
- package/{chunk-MEVSATIF.js → chunk-WXPVOQD7.js} +66 -792
- package/{chunk-AFIKMMGC.js → chunk-XKQJJK4F.js} +1 -1
- package/{chunk-SZLVDREM.js → chunk-XMGHGEN6.js} +3 -3
- package/{chunk-L2Y24GRM.js → chunk-XTUY5EL4.js} +16 -12
- package/{chunk-V3ZKNK5D.js → chunk-YOXYA2GU.js} +10 -10
- package/{chunk-GBPZKFYK.js → chunk-Z33ARZCP.js} +4 -4
- package/chunk-ZAB3A45K.js +677 -0
- package/{chunk-UDQWGU7F.js → chunk-ZBT3WNBK.js} +1 -1
- package/{contentThunks-3SPROFG5.js → contentThunks-VURN3DFW.js} +25 -25
- package/{createAgentAutomationAction-EIP2EG3O.js → createAgentAutomationAction-QZAAY77R.js} +25 -25
- package/{createDialogAction-RLUSTN4D.js → createDialogAction-CHGXVTAC.js} +28 -28
- package/{createPageAction-4Y52G7WG.js → createPageAction-IOGAFIN7.js} +26 -26
- package/{dbSlice-GKGGFNOB.js → dbSlice-YXQ6RYIH.js} +8 -8
- package/{deleteFile-LWSR674W.js → deleteFile-YG6QMJLU.js} +3 -3
- package/{dialogCommands-G223U5WU.js → dialogCommands-XREAP6WQ.js} +32 -30
- package/{dialogSlice-THY45JWM.js → dialogSlice-DOPGWGS4.js} +24 -24
- package/{docCreateCommands-2P47IJDK.js → docCreateCommands-3PYZGSCL.js} +31 -29
- package/{docDeleteCommands-N3EGDOIC.js → docDeleteCommands-3Y6MU44Q.js} +32 -30
- package/{docReadCommands-6BFV2HI7.js → docReadCommands-UBANMAFR.js} +31 -29
- package/{docStore-ZQ3ECOPY.js → docStore-SYYFBENY.js} +9 -9
- package/{docUpdateCommands-ZTMPXHC5.js → docUpdateCommands-4GK2X6BN.js} +31 -29
- package/{fetchMessages-DRABNDPZ.js → fetchMessages-EIU7UFFK.js} +3 -4
- package/{getPricing-HRMSOF3E.js → getPricing-F2C65RIX.js} +4 -4
- package/{handleSendMessageAction-CE4M5XIE.js → handleSendMessageAction-NPVTY2GE.js} +24 -24
- package/index.js +83 -75
- package/{localDialogRead-PUQKFI73.js → localDialogRead-BTFJ4V2I.js} +2 -2
- package/{localRuntimeDb-P37ZTX55.js → localRuntimeDb-SYQGUF4U.js} +1 -1
- package/{machineCommands-4OT7KVCD.js → machineCommands-LES3MCTZ.js} +58 -56
- package/{machineWsRunDispatch-TR3EYESP.js → machineWsRunDispatch-FZLFAUUP.js} +56 -54
- package/{memberThunks-KATHH3F4.js → memberThunks-5T4J6KXQ.js} +9 -9
- package/{models-GS72DVJS.js → models-WW7VFNXB.js} +2 -2
- package/{offlineMarxistsAgentCommand-GEH6SNNA.js → offlineMarxistsAgentCommand-JEWCIAWM.js} +1 -1
- package/package.json +1 -1
- package/providerPresetApply-OCWWKBSD.js +214 -0
- package/providerRegistry-ZJQU7AJ7.js +31 -0
- package/{read-LC6HVYBN.js → read-M2Q6WEKB.js} +5 -4
- package/{readDocTool-N3ERJHHF.js → readDocTool-T37P3YPB.js} +1 -1
- package/{readlineWorkspace-GSL5CYNJ.js → readlineWorkspace-OZBKHD4T.js} +195 -110
- package/{removeDialogAgentAction-F5GPTALR.js → removeDialogAgentAction-HB3JBVAI.js} +11 -11
- package/{runAgentClientLoop-NE5EHXSS.js → runAgentClientLoop-3NDADLVE.js} +45 -45
- package/{runtimeDoctorCommands-CROTMULY.js → runtimeDoctorCommands-X6WDBEQX.js} +2 -2
- package/{setDialogExtraReferencesAction-AY4ZCF3A.js → setDialogExtraReferencesAction-4XLHRV37.js} +9 -9
- package/{setPrimaryDialogAgentAction-HPMG7V3R.js → setPrimaryDialogAgentAction-C3JOFC4W.js} +11 -11
- package/{settingSlice-OEJA4NQO.js → settingSlice-CZRURSTH.js} +10 -10
- package/{spaceCommands-MRP5U3C3.js → spaceCommands-ENYCUUZH.js} +29 -27
- package/{streamAgentChatTurn-A6L6O22P.js → streamAgentChatTurn-634OFUSR.js} +57 -56
- package/{switchDialogAgentAction-HMDZTZ4I.js → switchDialogAgentAction-C6KVUKJP.js} +8 -8
- package/{tableCommands-SUNTHAYX.js → tableCommands-O6NWHFKV.js} +1 -1
- package/{toolApiClient-VGYUB4P5.js → toolApiClient-7PSIFQPJ.js} +2 -2
- package/{tools-JS475NYO.js → tools-ILBLCF7D.js} +41 -39
- package/tuiSummaryLlmCaller-LFUBZKXK.js +127 -0
- package/{updateCommands-Y363MC3L.js → updateCommands-2M74UL7P.js} +2 -2
- package/{updateDialogTitleAction-GMZUT6RP.js → updateDialogTitleAction-RKFET73N.js} +45 -28
- package/chunk-3IT2PFHL.js +0 -611
- package/chunk-I42VC5KR.js +0 -15
- package/codingSkills-E6KSDNSJ.js +0 -48
- package/tuiSummaryLlmCaller-3Z24VUWM.js +0 -116
- package/{chunk-3RAG2NAD.js → chunk-UKWGR5SS.js} +3 -3
- package/{db-VQSAOWAO.js → db-WK5MDZVN.js} +1 -1
- 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-
|
|
7
|
+
} from "./chunk-YOXYA2GU.js";
|
|
8
8
|
import {
|
|
9
9
|
getModelContextWindow
|
|
10
|
-
} from "./chunk-
|
|
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-
|
|
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
|
-
|
|
151
|
-
|
|
152
|
-
|
|
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\
|
|
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\
|
|
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-
|
|
3
|
+
} from "./chunk-VRLI2WNW.js";
|
|
4
4
|
import {
|
|
5
5
|
isPlatformHostedDeepseekModel,
|
|
6
6
|
isPlatformHostedOpenAIImageModel,
|
|
7
7
|
resolvePlatformHostedRouting
|
|
8
|
-
} from "./chunk-
|
|
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
|
-
|
|
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-
|
|
17
|
+
} from "./chunk-UA5S3LQQ.js";
|
|
17
18
|
import {
|
|
18
19
|
createUserKey,
|
|
19
20
|
createUserPreferenceKey,
|
|
20
21
|
ulid
|
|
21
|
-
} from "./chunk-
|
|
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-
|
|
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,
|
|
@@ -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
|
+
};
|
|
@@ -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-
|
|
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:
|
|
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
|
};
|
|
@@ -35,15 +35,16 @@ import {
|
|
|
35
35
|
resolvePlatformAuthToken,
|
|
36
36
|
resolvePlatformServerUrl,
|
|
37
37
|
resolveProviderTransportDecision
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-K7M3MWCE.js";
|
|
39
39
|
import {
|
|
40
40
|
clipCompactText,
|
|
41
41
|
isMeaningfulChatCompletionOutput,
|
|
42
42
|
isMeaningfulResponsesOutput
|
|
43
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-VHJLQHPQ.js";
|
|
44
44
|
import {
|
|
45
|
-
NOLO_CLIENT_VERSION_HEADER
|
|
46
|
-
|
|
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());
|