nolo-cli 0.153.0-alpha.1 → 0.153.1
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/{_executeModel-4KHFMQT4.js → _executeModel-NID5KIUZ.js} +46 -48
- package/{accountResolver-7RYB4D2P.js → accountResolver-55EDKEIK.js} +1 -1
- package/{action-SXJD5N5R.js → action-GPPJC5TI.js} +4 -4
- package/{addContentAction-ZV774PHH.js → addContentAction-BI6RDRTQ.js} +8 -8
- package/{addDialogAgentAction-A6SMKAGH.js → addDialogAgentAction-4RJYUSIK.js} +7 -7
- package/{agentDeleteCommand-EKFV5FC7.js → agentDeleteCommand-6HYGISLC.js} +59 -60
- package/{agentEmailCommands-MNV3MUH5.js → agentEmailCommands-Q7UW4SRL.js} +61 -62
- package/{agentListCommands-E6FYKXC3.js → agentListCommands-MM5OLPBY.js} +23 -23
- package/{agentMachineCommands-2GFUU7GF.js → agentMachineCommands-V5TSZ2QN.js} +22 -21
- package/{agentProviderCommands-HL6MBLCL.js → agentProviderCommands-MKG2OOEY.js} +2 -2
- package/{agentRecordCommands-LPHHTEPM.js → agentRecordCommands-P2YXZEWY.js} +59 -60
- package/{agentRunCommand-JSPW7W32.js → agentRunCommand-B2MBD56K.js} +61 -61
- package/{agentRunControl-IFM7IGMG.js → agentRunControl-2C5GM3BW.js} +5 -5
- package/{agentRuntimeLocal-ARS4TV77.js → agentRuntimeLocal-RJKTDWNN.js} +16 -16
- package/{agentSlice-IP4DZNNV.js → agentSlice-636W6M5A.js} +8 -8
- package/{appDeleteCommands-JHTLKQSX.js → appDeleteCommands-7EOM274T.js} +21 -21
- package/{appDeployCommands-5V26M2KA.js → appDeployCommands-2I3QYJ5G.js} +21 -21
- package/{appDeployStatusCommands-SBSPS627.js → appDeployStatusCommands-LEML7FPR.js} +21 -21
- package/{appGetCommands-NKPD2L45.js → appGetCommands-ZQSVHGQM.js} +21 -21
- package/{appListCommands-ZOGRZFYY.js → appListCommands-BVA7XKQO.js} +21 -21
- package/{authCommand-QYN47CQD.js → authCommand-NIV3DKPF.js} +13 -293
- package/{authCommands-77CHYBGF.js → authCommands-AMNIAKEG.js} +2 -2
- package/{builtinSkillRegistry-TDQ6JB2E.js → builtinSkillRegistry-H3AY27TR.js} +3 -3
- package/{chromeCommands-OBBNJCLS.js → chromeCommands-IY4NVSXZ.js} +17 -10
- package/{chunk-SW4S4XYB.js → chunk-2AB2HA4M.js} +84 -34
- package/{chunk-4PXHOOFA.js → chunk-2MTE2PEH.js} +3 -3
- package/{chunk-4YRTZIVN.js → chunk-2SGAI64X.js} +2 -2
- package/{chunk-QFEW2ULV.js → chunk-32ZKZET7.js} +1 -1
- package/{chunk-GQV5KHJU.js → chunk-3C2QLERX.js} +1 -1
- package/{chunk-XPWGOTBQ.js → chunk-3L2WKC3W.js} +1 -8
- package/{chunk-WD4XYDYC.js → chunk-3WIXU4XO.js} +224 -1
- package/{chunk-6LIKQYG4.js → chunk-42QZQ6QG.js} +21 -23
- package/{chunk-YBNHPX4S.js → chunk-4RJJDA57.js} +1 -1
- package/{chunk-PFBIXTFB.js → chunk-6CTXMBXD.js} +56 -30
- package/{chunk-HL3O3PCQ.js → chunk-6TF64IF2.js} +2 -2
- package/{chunk-PMYAE4OZ.js → chunk-7HVMGI5M.js} +3 -3
- package/{chunk-BNDETALN.js → chunk-7NSQJKGA.js} +45 -13
- package/{chunk-UUPR3TD7.js → chunk-7RF4O6AT.js} +1 -3
- package/{chunk-HSJPKBLC.js → chunk-ANJTRG52.js} +2 -2
- package/{chunk-2GGXHQIW.js → chunk-BLVSFYQ3.js} +4 -2
- package/{chunk-ISQL4V7C.js → chunk-C3OK72G3.js} +1 -1
- package/{chunk-CHCS6XPJ.js → chunk-CGFNDIKK.js} +65 -0
- package/{chunk-5MM7NNO6.js → chunk-CNWKLQRL.js} +8 -3
- package/{chunk-F32Z66T4.js → chunk-CON6SI7N.js} +1 -1
- package/{chunk-AHYBQP3M.js → chunk-CQFBGOKS.js} +3 -3
- package/{chunk-HIQ4GF53.js → chunk-DC3SZCRR.js} +7 -3
- package/{chunk-RVWMAFIT.js → chunk-FYYSDHVQ.js} +1 -1
- package/{chunk-TYYRSFBG.js → chunk-HB4XPBC7.js} +3 -35
- package/{chunk-6MJNEXUU.js → chunk-HGDKT2D6.js} +4 -0
- package/{chunk-KMM2X7LP.js → chunk-HHNNUPAB.js} +3 -3
- package/{chunk-JWTSWUPS.js → chunk-HSPGMGTN.js} +7 -6
- package/{chunk-UBUH2TCC.js → chunk-I2RMFLLH.js} +2 -2
- package/{chunk-VJXHL6MH.js → chunk-ICRRXBRN.js} +3 -3
- package/{chunk-XS47QOFV.js → chunk-IE5PXKVU.js} +2 -264
- package/{chunk-T5BHHWA5.js → chunk-IJVJUAHF.js} +7 -7
- package/{chunk-KFHQQ3NO.js → chunk-INFHX73M.js} +1 -1
- package/{chunk-XRUSXPCQ.js → chunk-IPAW7XLD.js} +57 -4
- package/{chunk-PLSVXHSA.js → chunk-IRTOYSA2.js} +3 -3
- package/{chunk-RQ6E3G5L.js → chunk-IUMO3L46.js} +18 -2
- package/{chunk-GCKHQECX.js → chunk-IYBIRCQV.js} +1 -1
- package/{chunk-ILU2NPWY.js → chunk-J2ATF74A.js} +2 -2
- package/{chunk-XZNCX52W.js → chunk-JGRPBIZZ.js} +1 -1
- package/{chunk-E2AKSW7L.js → chunk-JPJGMOIM.js} +2 -2
- package/{chunk-44WXLHFI.js → chunk-K43ZF2C3.js} +1 -1
- package/{chunk-I2ZMGXXF.js → chunk-KFHREHUQ.js} +1 -1
- package/{chunk-MZHOLWW5.js → chunk-KKQAAL57.js} +3 -3
- package/{chunk-JKMLSTZK.js → chunk-KLA62VVE.js} +3 -3
- package/{chunk-EHFS4XZO.js → chunk-KXFN2UYT.js} +12 -8
- package/{chunk-DYYMIUN4.js → chunk-L6EQV5OC.js} +4 -4
- package/{chunk-EZVK3N5L.js → chunk-LOEO7LRC.js} +56 -0
- package/{chunk-EDX5XSJM.js → chunk-M2P3OGXZ.js} +3 -3
- package/{chunk-LC23WBCU.js → chunk-M3KPY3TH.js} +6 -6
- package/{chunk-YVLQXTUB.js → chunk-MM3662RS.js} +1 -1
- package/{chunk-CBHGZRCE.js → chunk-MYOH447Z.js} +1 -1
- package/{chunk-A4MW3YZL.js → chunk-NDZOXXIM.js} +18 -4
- package/{chunk-I5V3V2H4.js → chunk-OAVSTXC7.js} +37 -25
- package/{chunk-36OMEXXR.js → chunk-OON4OBWI.js} +1 -1
- package/{chunk-VNP54NZL.js → chunk-P42RHYS3.js} +14 -14
- package/chunk-PLQYH5XK.js +2685 -0
- package/{chunk-SEJ5OS6F.js → chunk-PXYBUFDB.js} +4 -0
- package/{chunk-USHQX6VT.js → chunk-QPY264HO.js} +1 -1
- package/{chunk-XCA6HQGS.js → chunk-QQ72PAGR.js} +5 -5
- package/{chunk-TNIX77YM.js → chunk-R5GO3YZP.js} +34 -1
- package/{chunk-AIZE5TDM.js → chunk-SPKLALBU.js} +2 -2
- package/{chunk-PPU323UE.js → chunk-SRGKEBQ6.js} +184 -67
- package/{chunk-64PFYIAY.js → chunk-STAG2AHQ.js} +677 -640
- package/{chunk-K2AER7RX.js → chunk-SUKSWFLP.js} +2 -2
- package/{chunk-I4SN4NUQ.js → chunk-TRW43TSC.js} +1 -1
- package/{chunk-D2QN6CTI.js → chunk-UCLSOLX4.js} +8 -6
- package/{chunk-TYJ5XFEA.js → chunk-UFYBYB26.js} +1 -1
- package/{chunk-SCMHQUMK.js → chunk-US6MKPE7.js} +1 -1
- package/{chunk-ZIWPQEFU.js → chunk-VYNMQ6HW.js} +1 -28
- package/{chunk-IJERIUXS.js → chunk-WRCZXJ4N.js} +6 -3
- package/chunk-Y5GCAMGP.js +9 -0
- package/{chunk-XTWDF6RU.js → chunk-Y5NUMYMH.js} +21 -17
- package/{chunk-GKXCHNTE.js → chunk-Y6ORVLSS.js} +1 -1
- package/{chunk-RSHPU4PD.js → chunk-YANF2RR4.js} +2 -2
- package/{chunk-EYWJT7A2.js → chunk-YPG7TUQD.js} +3 -3
- package/{chunk-ZF6526IQ.js → chunk-ZEY4NJRE.js} +2 -2
- package/{chunk-74RAWNQN.js → chunk-ZVQHBIWV.js} +6 -6
- package/{chunk-DTODXBHK.js → chunk-ZWG3C7VI.js} +2 -2
- package/{commandRegistry-VBALU4Q4.js → commandRegistry-6MVZTG5Y.js} +79 -87
- package/{contentThunks-HPY2QNWZ.js → contentThunks-F7XJS5WV.js} +21 -21
- package/{createAgentAutomationAction-6ADGPGY6.js → createAgentAutomationAction-Z2AW4ZPK.js} +21 -21
- package/{createDialogAction-6ABMSEW2.js → createDialogAction-PWG7C7VG.js} +22 -22
- package/{createPageAction-OC4NNRPC.js → createPageAction-2L5Q2KOB.js} +22 -23
- package/{dbSlice-J37OGIXH.js → dbSlice-DC2J53RC.js} +7 -7
- package/{deleteFile-6JWDDRVP.js → deleteFile-KYWEMNFX.js} +4 -4
- package/{dialogCommands-EIGBRSQP.js → dialogCommands-MUFYPVMP.js} +24 -23
- package/{dialogSlice-SI45KJOH.js → dialogSlice-G5EIKHJA.js} +20 -20
- package/{docCreateCommands-3JDBBMU5.js → docCreateCommands-OPWOKG62.js} +19 -19
- package/{docDeleteCommands-5M6C7UUB.js → docDeleteCommands-IBV3WMKI.js} +20 -20
- package/{docReadCommands-DUB57F6V.js → docReadCommands-LVALHMLZ.js} +19 -19
- package/{docStore-L43MDEK4.js → docStore-CUFUJQGC.js} +8 -8
- package/{docUpdateCommands-WF7MAMPK.js → docUpdateCommands-Z5OUEAK7.js} +19 -19
- package/{getPricing-FKK3F5EJ.js → getPricing-TX35D7PI.js} +3 -3
- package/{handleSendMessageAction-BSMU7SVS.js → handleSendMessageAction-26HUY2ZV.js} +34 -34
- package/index.js +7 -7
- package/{localRuntimeAdapter-N5PDR26F.js → localRuntimeAdapter-SV22ZUP3.js} +59 -58
- package/{machineCommands-TMXJKZCE.js → machineCommands-2G5ESGDC.js} +63 -62
- package/{machineWsRunDispatch-25H63KEH.js → machineWsRunDispatch-NXKGHYPP.js} +58 -59
- package/{memberThunks-66DH6ABQ.js → memberThunks-2DWKLE6W.js} +8 -8
- package/{models-LAS4B2B5.js → models-PZQC7VV4.js} +2 -2
- package/package.json +4 -2
- package/{profileConfig-ZGOFORWV.js → profileConfig-KN3N2BLF.js} +7 -1
- package/{providerPresetApply-MY66I6NT.js → providerPresetApply-GSJI4JBJ.js} +6 -6
- package/{providerRegistry-QOE2FT57.js → providerRegistry-TSSTPGWF.js} +6 -6
- package/{read-DC4NUGN6.js → read-L7QEJETH.js} +5 -5
- package/{readDocTool-NCJ5NT25.js → readDocTool-QELXV2GW.js} +1 -1
- package/{readlineWorkspace-BS7WVCL2.js → readlineWorkspace-AYCWJVXF.js} +334 -123
- package/{removeDialogAgentAction-E2H3OZU6.js → removeDialogAgentAction-376XSUP2.js} +9 -9
- package/{runAgentClientLoop-BVKRI4SY.js → runAgentClientLoop-SJQUUBEC.js} +50 -47
- package/{runtimeDoctorCommands-GIOGC5SC.js → runtimeDoctorCommands-56NWKNON.js} +5 -5
- package/{secretCommands-ZXZRLR3R.js → secretCommands-DNY56NSU.js} +11 -1
- package/{setDialogExtraReferencesAction-SITRPMYU.js → setDialogExtraReferencesAction-QBDSH63D.js} +8 -8
- package/{setPrimaryDialogAgentAction-U7N45TGC.js → setPrimaryDialogAgentAction-537QFGW3.js} +9 -9
- package/settingThunks-4Z43ZSAT.js +923 -0
- package/{spaceCommands-5EWREUWS.js → spaceCommands-AWIIP7J5.js} +19 -19
- package/{streamAgentChatTurn-B4VFUV52.js → streamAgentChatTurn-OITCT4FF.js} +55 -106
- package/{switchDialogAgentAction-OMGBD3N2.js → switchDialogAgentAction-CSO6AKRL.js} +7 -7
- package/{tableCommands-U3QDY4L6.js → tableCommands-LBH3QPPO.js} +1 -1
- package/{toolApiClient-7WSJJJBV.js → toolApiClient-HGNO53TC.js} +2 -2
- package/{tools-5WYAUKMK.js → tools-KH4MMAFG.js} +39 -40
- package/{tuiSummaryLlmCaller-PPU7YDBG.js → tuiSummaryLlmCaller-KLK6K3Q3.js} +8 -8
- package/{updateCommands-NQXAGFM7.js → updateCommands-LXZLG44Y.js} +2 -2
- package/{updateDialogTitleAction-YJHDKHFX.js → updateDialogTitleAction-PDJUW7Z7.js} +22 -22
- package/{workloadLifecycle-36DXRZKU.js → workloadLifecycle-6O6PMISX.js} +2 -2
- package/chunk-IA7TRNNR.js +0 -11
- package/chunk-OFVFQYIE.js +0 -7012
- package/chunk-W4S6OTSC.js +0 -35
- package/clipboardy-GCO3GT3I.js +0 -11793
- package/settingThunks-Y7SVJOMZ.js +0 -1371
|
@@ -296,21 +296,49 @@ var STRINGS = {
|
|
|
296
296
|
en: "Usage: /altscreen <on|off>",
|
|
297
297
|
zh: "\u7528\u6CD5\uFF1A/altscreen <on|off>"
|
|
298
298
|
},
|
|
299
|
-
autoCurrent: {
|
|
300
|
-
en: "Permission auto-approve: {0}",
|
|
301
|
-
zh: "\u6743\u9650\u81EA\u52A8\u5316\uFF1A{0}"
|
|
302
|
-
},
|
|
303
299
|
autoUsage: {
|
|
304
|
-
en: "Usage: /auto <on|off>",
|
|
305
|
-
zh: "\u7528\u6CD5\uFF1A/auto <on|off>"
|
|
300
|
+
en: "Usage: /auto [local|remote] <on|off> \xB7 /auto reset (clear both)",
|
|
301
|
+
zh: "\u7528\u6CD5\uFF1A/auto [local|remote] <on|off> \xB7 /auto reset\uFF08\u4E24\u6876\u6E05\u96F6\uFF09"
|
|
302
|
+
},
|
|
303
|
+
autoStateLine: {
|
|
304
|
+
en: "Local-run grant: {0} \xB7 Remote-origin shell grant: {1}",
|
|
305
|
+
zh: "\u672C\u673A run \u6388\u6743\uFF1A{0} \xB7 \u8FDC\u7A0B\u6765\u6E90\u5728\u672C\u673A\u6267\u884C shell \u6388\u6743\uFF1A{1}"
|
|
306
|
+
},
|
|
307
|
+
autoStateOnPersisted: {
|
|
308
|
+
en: "granted (saved)",
|
|
309
|
+
zh: "\u5DF2\u6388\u6743\uFF08\u5DF2\u4FDD\u5B58\uFF09"
|
|
310
|
+
},
|
|
311
|
+
autoStateOff: {
|
|
312
|
+
en: "ask every time",
|
|
313
|
+
zh: "\u9010\u6B21\u8BE2\u95EE"
|
|
314
|
+
},
|
|
315
|
+
autoKindLocal: {
|
|
316
|
+
en: "local-run confirmations (destructive shell / outside-workspace files / file writes)",
|
|
317
|
+
zh: "\u672C\u673A run \u7684\u786E\u8BA4\uFF08\u7834\u574F\u6027\u547D\u4EE4 / \u5DE5\u4F5C\u533A\u5916\u6587\u4EF6 / \u5199\u6587\u4EF6\uFF09"
|
|
318
|
+
},
|
|
319
|
+
autoKindRemote: {
|
|
320
|
+
en: "a remote origin running shell on this machine",
|
|
321
|
+
zh: "\u8FDC\u7A0B\u6765\u6E90\u5728\u672C\u673A\u6267\u884C shell"
|
|
322
|
+
},
|
|
323
|
+
autoGrantOn: {
|
|
324
|
+
en: "Approved and saved: {0}. That class no longer asks (this session and future starts). Undo with {1}.",
|
|
325
|
+
zh: "\u5DF2\u6279\u51C6\u5E76\u4FDD\u5B58\uFF1A{0}\u3002\u8BE5\u7C7B\u786E\u8BA4\u4E0D\u518D\u8BE2\u95EE\uFF08\u672C\u6B21\u4E0E\u540E\u7EED\u542F\u52A8\u90FD\u751F\u6548\uFF09\u3002\u64A4\u9500\u7528 {1}\u3002"
|
|
306
326
|
},
|
|
307
|
-
|
|
308
|
-
en: "
|
|
309
|
-
zh: "\
|
|
327
|
+
autoGrantOff: {
|
|
328
|
+
en: "Revoked and saved: {0}. Those confirmations ask again (this session and future starts). Re-enable with {1}.",
|
|
329
|
+
zh: "\u5DF2\u64A4\u9500\u5E76\u4FDD\u5B58\uFF1A{0}\u3002\u8BE5\u7C7B\u786E\u8BA4\u6062\u590D\u9010\u6B21\u8BE2\u95EE\uFF08\u672C\u4F1A\u8BDD\u4E0E\u540E\u7EED\u542F\u52A8\u90FD\u751F\u6548\uFF09\u3002\u91CD\u65B0\u5F00\u542F\u7528 {1}\u3002"
|
|
310
330
|
},
|
|
311
|
-
|
|
312
|
-
en: "
|
|
313
|
-
zh: "\u6743\
|
|
331
|
+
autoReset: {
|
|
332
|
+
en: "Cleared and saved: both permission buckets are reset \u2014 every confirmation asks again.",
|
|
333
|
+
zh: "\u5DF2\u6E05\u7A7A\u5E76\u4FDD\u5B58\uFF1A\u672C\u673A\u4E0E\u8FDC\u7A0B\u4E24\u6876\u6388\u6743\u90FD\u6E05\u96F6\uFF0C\u6240\u6709\u786E\u8BA4\u6062\u590D\u9010\u6B21\u8BE2\u95EE\u3002"
|
|
334
|
+
},
|
|
335
|
+
autoPersistFailed: {
|
|
336
|
+
en: "This grant applies to this session only \u2014 it could not be saved to your config (no profile?).",
|
|
337
|
+
zh: "\u8BE5\u6388\u6743\u4EC5\u672C\u6B21\u4F1A\u8BDD\u6709\u6548\uFF1A\u672A\u80FD\u4FDD\u5B58\u5230\u914D\u7F6E\uFF08\u53EF\u80FD\u8FD8\u6CA1\u6709 profile\uFF09\u3002"
|
|
338
|
+
},
|
|
339
|
+
autoPersistedStartup: {
|
|
340
|
+
en: "Approved from your saved config: {0}. Those confirmations are skipped; undo with /auto reset.",
|
|
341
|
+
zh: "\u5DF2\u4ECE\u4FDD\u5B58\u7684\u914D\u7F6E\u751F\u6548\u7684\u6388\u6743\uFF1A{0}\u3002\u8FD9\u4E9B\u786E\u8BA4\u5DF2\u88AB\u8DF3\u8FC7\uFF1B\u64A4\u9500\u7528 /auto reset\u3002"
|
|
314
342
|
},
|
|
315
343
|
langSwitched: {
|
|
316
344
|
en: "Language switched to English.",
|
|
@@ -580,40 +608,52 @@ var STRINGS = {
|
|
|
580
608
|
zh: "\uFF08\u2191\u2193 \u79FB\u52A8 \xB7 Enter \u9009\u62E9 \xB7 Esc \u53D6\u6D88\uFF09"
|
|
581
609
|
},
|
|
582
610
|
dialogConfirmTitle: {
|
|
583
|
-
en: "
|
|
584
|
-
zh: "\
|
|
611
|
+
en: "Allow destructive shell commands from local runs?",
|
|
612
|
+
zh: "\u5141\u8BB8\u672C\u673A run \u6267\u884C\u7834\u574F\u6027 shell \u547D\u4EE4\u5417\uFF1F"
|
|
585
613
|
},
|
|
586
614
|
dialogConfirmBody: {
|
|
587
|
-
en: "This command may delete or reset user content
|
|
588
|
-
zh: "\u8BE5\u547D\u4EE4\u53EF\u80FD\u5220\u9664\u6216\u91CD\u7F6E\u7528\u6237\u5185\u5BB9\uFF0C\
|
|
615
|
+
en: "This command may delete or reset user content \u2014 a local-run destructive shell command.",
|
|
616
|
+
zh: "\u8BE5\u547D\u4EE4\u53EF\u80FD\u5220\u9664\u6216\u91CD\u7F6E\u7528\u6237\u5185\u5BB9\uFF0C\u5C5E\u4E8E\u672C\u673A run \u7684\u7834\u574F\u6027 shell \u547D\u4EE4\u3002"
|
|
589
617
|
},
|
|
590
618
|
dialogConfirmExternalFileTitle: {
|
|
591
|
-
en: "
|
|
592
|
-
zh: "\
|
|
619
|
+
en: "Allow reading files outside the workspace?",
|
|
620
|
+
zh: "\u5141\u8BB8\u8BFB\u53D6\u5DE5\u4F5C\u533A\u5916\u90E8\u6587\u4EF6\u5417\uFF1F"
|
|
593
621
|
},
|
|
594
622
|
dialogConfirmExternalFileBody: {
|
|
595
|
-
en: "This path is outside the current workspace
|
|
596
|
-
zh: "\u8BE5\u8DEF\u5F84\u4F4D\u4E8E\u5F53\u524D\u5DE5\u4F5C\u533A\u4E4B\u5916\
|
|
623
|
+
en: "This path is outside the current workspace \u2014 a local-run outside-workspace file access.",
|
|
624
|
+
zh: "\u8BE5\u8DEF\u5F84\u4F4D\u4E8E\u5F53\u524D\u5DE5\u4F5C\u533A\u4E4B\u5916\uFF0C\u5C5E\u4E8E\u672C\u673A run \u7684\u5DE5\u4F5C\u533A\u5916\u6587\u4EF6\u8BBF\u95EE\u3002"
|
|
625
|
+
},
|
|
626
|
+
dialogConfirmFileWriteTitle: {
|
|
627
|
+
en: "Allow writing files from local runs?",
|
|
628
|
+
zh: "\u5141\u8BB8\u672C\u673A run \u5199\u5165\u6587\u4EF6\u5417\uFF1F"
|
|
629
|
+
},
|
|
630
|
+
dialogConfirmFileWriteBody: {
|
|
631
|
+
en: "This action writes into the workspace \u2014 a local-run file-write confirmation.",
|
|
632
|
+
zh: "\u8BE5\u64CD\u4F5C\u4F1A\u5199\u5165\u5DE5\u4F5C\u533A\u6587\u4EF6\uFF0C\u5C5E\u4E8E\u672C\u673A run \u7684\u5199\u6587\u4EF6\u786E\u8BA4\u3002"
|
|
633
|
+
},
|
|
634
|
+
dialogConfirmRememberLocal: {
|
|
635
|
+
en: "Approving covers all three local-run classes (destructive shell / outside-workspace files / file writes) and is saved, so they stop asking \u2014 this session and future starts. Undo with /auto local off or /auto reset.",
|
|
636
|
+
zh: "\u6279\u51C6\u540E\u672C\u673A run \u7684\u4E09\u7C7B\u786E\u8BA4\uFF08\u7834\u574F\u6027\u547D\u4EE4 / \u5DE5\u4F5C\u533A\u5916\u6587\u4EF6 / \u5199\u6587\u4EF6\uFF09\u90FD\u4E0D\u518D\u8BE2\u95EE\uFF0C\u5E76\u4FDD\u5B58\u5230\u914D\u7F6E\uFF08\u672C\u6B21\u4E0E\u540E\u7EED\u542F\u52A8\u90FD\u751F\u6548\uFF09\u3002\u64A4\u9500\u7528 /auto local off \u6216 /auto reset\u3002"
|
|
597
637
|
},
|
|
598
638
|
dialogConfirmCommandTruncated: {
|
|
599
639
|
en: "(truncated)",
|
|
600
640
|
zh: "\uFF08\u5DF2\u622A\u65AD\uFF09"
|
|
601
641
|
},
|
|
602
642
|
dialogConfirmAllowLabel: {
|
|
603
|
-
en: "
|
|
604
|
-
zh: "\
|
|
643
|
+
en: "Approve & remember",
|
|
644
|
+
zh: "\u6279\u51C6\u5E76\u8BB0\u4F4F"
|
|
605
645
|
},
|
|
606
646
|
dialogConfirmAllowDetail: {
|
|
607
|
-
en: "
|
|
608
|
-
zh: "\
|
|
647
|
+
en: "stop asking for this class (saved)",
|
|
648
|
+
zh: "\u540C\u7C7B\u786E\u8BA4\u4E0D\u518D\u8BE2\u95EE\uFF08\u5DF2\u4FDD\u5B58\uFF09"
|
|
609
649
|
},
|
|
610
650
|
dialogConfirmCancelLabel: {
|
|
611
|
-
en: "
|
|
612
|
-
zh: "\
|
|
651
|
+
en: "Reject",
|
|
652
|
+
zh: "\u62D2\u7EDD"
|
|
613
653
|
},
|
|
614
654
|
dialogConfirmCancelDetail: {
|
|
615
|
-
en: "
|
|
616
|
-
zh: "\
|
|
655
|
+
en: "do not run it; ask again next time",
|
|
656
|
+
zh: "\u4E0D\u6267\u884C\uFF0C\u4E0B\u6B21\u4ECD\u4F1A\u8BE2\u95EE"
|
|
617
657
|
},
|
|
618
658
|
// --- Ask choice (ask_user) ------------------------------------------
|
|
619
659
|
askChoiceTitle: {
|
|
@@ -859,7 +899,7 @@ var STRINGS = {
|
|
|
859
899
|
" Drag a file in Drop an image file on the terminal to attach it; audio/video transcribes; other files stay paths",
|
|
860
900
|
" Shift+Enter / Ctrl+J Insert a newline in the draft",
|
|
861
901
|
" /mouse <on|off> Toggle mouse mode (off = drag to select text)",
|
|
862
|
-
" /auto <on|off>
|
|
902
|
+
" /auto [local|remote] <on|off> Approve one permission bucket (local-run confirms / remote-origin shell) so it stops asking; saved to your config. /auto reset clears both",
|
|
863
903
|
" /shell-revoke Revoke this session's shell grant; the next shell call re-asks (works while a reply runs; does not interrupt a running command)",
|
|
864
904
|
" /math <on|off> Toggle math formula rendering (Unicode transcription)",
|
|
865
905
|
" /altscreen <on|off> Toggle the terminal alternate screen (default on; off shares shell scrollback)",
|
|
@@ -905,7 +945,7 @@ var STRINGS = {
|
|
|
905
945
|
" \u62D6\u5165\u6587\u4EF6 \u628A\u56FE\u7247\u6587\u4EF6\u62D6\u8FDB\u7EC8\u7AEF\u5373\u6210\u4E3A\u9644\u4EF6\uFF1B\u97F3\u89C6\u9891\u81EA\u52A8\u8F6C\u5199\uFF1B\u5176\u4ED6\u6587\u4EF6\u53EA\u7559\u8DEF\u5F84",
|
|
906
946
|
" Shift+Enter / Ctrl+J \u5728\u8349\u7A3F\u91CC\u6362\u884C",
|
|
907
947
|
" /mouse <on|off> \u5207\u6362\u9F20\u6807\u6A21\u5F0F\uFF08off \u540E\u53EF\u76F4\u63A5\u62D6\u9009\u6587\u672C\uFF09",
|
|
908
|
-
" /auto <on|off>
|
|
948
|
+
" /auto [local|remote] <on|off> \u6388\u6743\u67D0\u4E00\u6876\uFF08\u672C\u673A run \u786E\u8BA4 / \u8FDC\u7A0B\u6765\u6E90 shell\uFF09\u4E0D\u518D\u9010\u6B21\u8BE2\u95EE\uFF0C\u5E76\u4FDD\u5B58\u5230\u914D\u7F6E\uFF1B/auto reset \u4E24\u6876\u6E05\u96F6",
|
|
909
949
|
" /shell-revoke \u64A4\u9500\u672C\u4F1A\u8BDD\u7684 shell \u6267\u884C\u6388\u6743\uFF0C\u4E0B\u4E00\u6B21 shell \u8C03\u7528\u91CD\u65B0\u786E\u8BA4\uFF08\u56DE\u590D\u8FDB\u884C\u4E2D\u4E5F\u53EF\u7528\uFF1B\u4E0D\u4E2D\u65AD\u5DF2\u653E\u884C\u7684\u547D\u4EE4\uFF09",
|
|
910
950
|
" /math <on|off> \u5207\u6362\u6570\u5B66\u516C\u5F0F\u6E32\u67D3\uFF08Unicode \u8F6C\u5199\uFF09",
|
|
911
951
|
" /altscreen <on|off> \u5207\u6362\u7EC8\u7AEF\u5907\u7528\u5C4F\uFF08\u9ED8\u8BA4 on\uFF1Boff \u6539\u4E3A\u4E0E shell \u5171\u7528\u56DE\u6EDA\uFF09",
|
|
@@ -1567,13 +1607,23 @@ Use /switch, /switch list, /switch minimax-m3, or a full agent key.`,
|
|
|
1567
1607
|
// 分享 OAuth agent 的 shell 会话授权确认(块 D):首次 execShell/
|
|
1568
1608
|
// launchProcess 前弹。必须把三件事说清——这是谁的 agent / 命令在哪台
|
|
1569
1609
|
// 设备哪个工作区跑 / 任意 shell 可读写该用户可访问的资源。
|
|
1610
|
+
// 子 run 的 per-call shell 确认(远程来源在本机跑一条命令):与会话授权同一套
|
|
1611
|
+
// 语义,参数为 runId / agentKey / owner / device / workspace / 权限提示。
|
|
1612
|
+
"shellPerCall.title": {
|
|
1613
|
+
en: "Allow a remote origin to run this command on this machine?",
|
|
1614
|
+
zh: "\u5141\u8BB8\u8FDC\u7A0B\u6765\u6E90\u5728\u672C\u673A\u6267\u884C\u8FD9\u6761\u547D\u4EE4\u5417\uFF1F"
|
|
1615
|
+
},
|
|
1616
|
+
"shellPerCall.body": {
|
|
1617
|
+
en: "A remote origin asked to run one shell command on this device.\nRun: {0}\nAgent: {1}\nOwner: {2}\nDevice: {3}\nWorkspace: {4}\n{5}\n\nShell commands can read/write anything this user can access. Approving covers this whole class: remote-origin shell confirmations stop asking one by one (this session and future starts). Undo with /shell-revoke or /auto remote off.",
|
|
1618
|
+
zh: "\u8FDC\u7A0B\u6765\u6E90\u8BF7\u6C42\u5728\u672C\u673A\u6267\u884C\u4E00\u6761 shell \u547D\u4EE4\u3002\nRun\uFF1A{0}\nAgent\uFF1A{1}\n\u4E3B\u4EBA\uFF1A{2}\n\u8BBE\u5907\uFF1A{3}\n\u5DE5\u4F5C\u533A\uFF1A{4}\n{5}\n\n\u4EFB\u610F shell \u547D\u4EE4\u53EF\u8BFB\u5199\u672C\u673A\u8BE5\u7528\u6237\u80FD\u8BBF\u95EE\u7684\u8D44\u6E90\u3002\u6279\u51C6\u540E\u300C\u8FDC\u7A0B\u6765\u6E90\u5728\u672C\u673A\u6267\u884C shell\u300D\u8FD9\u4E00\u7C7B\u786E\u8BA4\u4E0D\u518D\u9010\u6761\u8BE2\u95EE\uFF08\u672C\u6B21\u4E0E\u540E\u7EED\u542F\u52A8\u90FD\u751F\u6548\uFF09\u3002\u64A4\u9500\uFF1A/shell-revoke \u6216 /auto remote off\u3002"
|
|
1619
|
+
},
|
|
1570
1620
|
"shellGrant.confirmTitle": {
|
|
1571
|
-
en: "Allow shell commands
|
|
1572
|
-
zh: "\u5141\u8BB8\
|
|
1621
|
+
en: "Allow remote agent {0} to run shell commands on this machine?",
|
|
1622
|
+
zh: "\u5141\u8BB8\u8FDC\u7A0B agent {0} \u5728\u672C\u673A\u6267\u884C shell \u547D\u4EE4\u5417\uFF1F"
|
|
1573
1623
|
},
|
|
1574
1624
|
"shellGrant.confirmBody": {
|
|
1575
|
-
en: "
|
|
1576
|
-
zh: "\
|
|
1625
|
+
en: "Remote agent {0} (owner {1}) requested to run a shell command on this machine.\nDevice: {2} ({3})\nWorkspace: {4}\nCommand: {5}\n\nShell commands can read/write anything this user can access. Approving covers this whole class: remote-origin shell confirmations stop asking one by one (this session and future starts). Undo with /shell-revoke (this session) or /auto remote off (also clears the saved grant).",
|
|
1626
|
+
zh: "\u8FDC\u7A0B agent {0}\uFF08\u4E3B\u4EBA {1}\uFF09\u8BF7\u6C42\u5728\u672C\u673A\u6267\u884C shell \u547D\u4EE4\u3002\n\u8BBE\u5907\uFF1A{2}\uFF08{3}\uFF09\n\u5DE5\u4F5C\u533A\uFF1A{4}\n\u547D\u4EE4\uFF1A{5}\n\n\u4EFB\u610F shell \u547D\u4EE4\u53EF\u8BFB\u5199\u672C\u673A\u8BE5\u7528\u6237\u80FD\u8BBF\u95EE\u7684\u8D44\u6E90\u3002\u6279\u51C6\u540E\u300C\u8FDC\u7A0B\u6765\u6E90\u5728\u672C\u673A\u6267\u884C shell\u300D\u8FD9\u4E00\u7C7B\u786E\u8BA4\u4E0D\u518D\u9010\u6761\u8BE2\u95EE\uFF08\u672C\u6B21\u4E0E\u540E\u7EED\u542F\u52A8\u90FD\u751F\u6548\uFF09\u3002\u64A4\u9500\uFF1A/shell-revoke\uFF08\u672C\u4F1A\u8BDD\uFF09\u6216 /auto remote off\uFF08\u540C\u65F6\u6E05\u9664\u6301\u4E45\u6388\u6743\uFF09\u3002"
|
|
1577
1627
|
},
|
|
1578
1628
|
"shellGrant.revoked": {
|
|
1579
1629
|
en: "[nolo] Shell permission revoked for shared agents in this session.",
|
|
@@ -3,13 +3,13 @@ import {
|
|
|
3
3
|
} from "./chunk-PSCNXBYA.js";
|
|
4
4
|
import {
|
|
5
5
|
MODEL_LOOKUP_MAP
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-TRW43TSC.js";
|
|
7
7
|
import {
|
|
8
8
|
ALL_MODELS
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-FYYSDHVQ.js";
|
|
10
10
|
import {
|
|
11
11
|
isPlatformManagedProvider
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-CGFNDIKK.js";
|
|
13
13
|
import {
|
|
14
14
|
__commonJS,
|
|
15
15
|
__require,
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
noloUploadRequest,
|
|
9
9
|
noloWriteRequest,
|
|
10
10
|
syncWithServers
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-WRCZXJ4N.js";
|
|
12
12
|
import {
|
|
13
13
|
getAllServers,
|
|
14
14
|
getIsDesktopApp
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
selectIdentityToken,
|
|
18
18
|
selectIdentityUser,
|
|
19
19
|
selectIdentityUserId
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-PXYBUFDB.js";
|
|
21
21
|
import {
|
|
22
22
|
asOptionalPositiveFiniteNumber
|
|
23
23
|
} from "./chunk-U6VC4MU4.js";
|
|
@@ -24,12 +24,6 @@ async function isDrainExhaustedResponse(response) {
|
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
// packages/core/positiveFiniteNumberOrFallback.ts
|
|
28
|
-
function parsePositiveFiniteNumberOrFallback(value, fallback) {
|
|
29
|
-
const parsed = Number(value);
|
|
30
|
-
return Number.isFinite(parsed) && parsed > 0 ? parsed : fallback;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
27
|
// packages/core/retryAfterMs.ts
|
|
34
28
|
function normalizeNonNegativeMs(value, fallbackMs) {
|
|
35
29
|
const parsed = Number(value);
|
|
@@ -57,6 +51,5 @@ export {
|
|
|
57
51
|
createDrainExhaustedResponse,
|
|
58
52
|
isDrainExhaustedResponse,
|
|
59
53
|
normalizeNonNegativeMs,
|
|
60
|
-
parseRetryAfterHeaderMs
|
|
61
|
-
parsePositiveFiniteNumberOrFallback
|
|
54
|
+
parseRetryAfterHeaderMs
|
|
62
55
|
};
|
|
@@ -4,12 +4,78 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
canonicalizeToolNames
|
|
6
6
|
} from "./chunk-5EBLANFT.js";
|
|
7
|
+
import {
|
|
8
|
+
BUILTIN_AGENT_CATALOG
|
|
9
|
+
} from "./chunk-LOEO7LRC.js";
|
|
10
|
+
import {
|
|
11
|
+
publicAgentKey
|
|
12
|
+
} from "./chunk-M2EJHDJP.js";
|
|
7
13
|
import {
|
|
8
14
|
estimateTokenCount
|
|
9
15
|
} from "./chunk-PSCNXBYA.js";
|
|
16
|
+
import {
|
|
17
|
+
getModelConfig
|
|
18
|
+
} from "./chunk-TRW43TSC.js";
|
|
10
19
|
import {
|
|
11
20
|
asTrimmedString
|
|
12
21
|
} from "./chunk-3EUW3WEO.js";
|
|
22
|
+
import {
|
|
23
|
+
asTrimmedLowercaseString
|
|
24
|
+
} from "./chunk-QSJ3HFEF.js";
|
|
25
|
+
|
|
26
|
+
// packages/core/gptProTier.ts
|
|
27
|
+
var GPT_PRO_REQUIRED_RECHARGE_AMOUNT = 199;
|
|
28
|
+
var SUPPORTED_TIER_PROVIDERS = /* @__PURE__ */ new Set([
|
|
29
|
+
"nolo",
|
|
30
|
+
"openai",
|
|
31
|
+
"deepinfra"
|
|
32
|
+
]);
|
|
33
|
+
var CLAUDE_PREMIUM_RE = /^(?:anthropic\/)?claude-(opus|fable)(?:-\d+(?:[.-]\d+)*(?:-[a-z0-9]+)*)?$/i;
|
|
34
|
+
var GPT_PRO_RE = /^(?:openai\/)?gpt-[a-z0-9.-]+-pro(?:-[a-z0-9]+(?:[.-][a-z0-9]+)*)?$/i;
|
|
35
|
+
var GPT_SOL_RE = /^(?:openai\/)?gpt-\d+(?:\.\d+)*-sol(?:-[a-z0-9]+(?:[.-][a-z0-9]+)*)?$/i;
|
|
36
|
+
var GPT_ASTRA_RE = /^(?:openai\/)?gpt-\d+(?:\.\d+)*-astra(?:-[a-z0-9]+(?:[.-][a-z0-9]+)*)?$/i;
|
|
37
|
+
var KIMI_K3_MODELS = /* @__PURE__ */ new Set([
|
|
38
|
+
"kimi-k3",
|
|
39
|
+
"moonshotai/kimi-k3"
|
|
40
|
+
]);
|
|
41
|
+
function classifyPremiumModel(model) {
|
|
42
|
+
const normalizedModel = asTrimmedLowercaseString(model);
|
|
43
|
+
if (!normalizedModel) return void 0;
|
|
44
|
+
const claudeMatch = CLAUDE_PREMIUM_RE.exec(normalizedModel);
|
|
45
|
+
if (claudeMatch) {
|
|
46
|
+
return claudeMatch[1].toLowerCase() === "opus" ? "claude-opus" : "claude-fable";
|
|
47
|
+
}
|
|
48
|
+
if (GPT_PRO_RE.test(normalizedModel)) {
|
|
49
|
+
return "gpt-pro";
|
|
50
|
+
}
|
|
51
|
+
if (GPT_SOL_RE.test(normalizedModel)) {
|
|
52
|
+
return "gpt-sol";
|
|
53
|
+
}
|
|
54
|
+
if (GPT_ASTRA_RE.test(normalizedModel)) {
|
|
55
|
+
return "gpt-astra";
|
|
56
|
+
}
|
|
57
|
+
if (KIMI_K3_MODELS.has(normalizedModel)) {
|
|
58
|
+
return "kimi-k3";
|
|
59
|
+
}
|
|
60
|
+
return void 0;
|
|
61
|
+
}
|
|
62
|
+
function isGptProModel(provider, model) {
|
|
63
|
+
const normalizedProvider = asTrimmedLowercaseString(provider);
|
|
64
|
+
if (!SUPPORTED_TIER_PROVIDERS.has(normalizedProvider)) {
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
return classifyPremiumModel(model) !== void 0;
|
|
68
|
+
}
|
|
69
|
+
var GPT_PRO_BLOCKED_MESSAGE = `GPT Pro / Kimi K3 \u7B49\u9AD8\u7EA7\u6A21\u578B\u9700\u8981\u5148\u5F00\u901A ${GPT_PRO_REQUIRED_RECHARGE_AMOUNT} \u79EF\u5206\u6863\u4F4D\u3002`;
|
|
70
|
+
function shouldBlockForGptPro(input) {
|
|
71
|
+
if (input?.premium !== true || input?.platformPaid !== true) {
|
|
72
|
+
return { blocked: false };
|
|
73
|
+
}
|
|
74
|
+
if (asTrimmedLowercaseString(input.gptProStatus) === "active") {
|
|
75
|
+
return { blocked: false };
|
|
76
|
+
}
|
|
77
|
+
return { blocked: true, message: GPT_PRO_BLOCKED_MESSAGE };
|
|
78
|
+
}
|
|
13
79
|
|
|
14
80
|
// packages/agent-runtime/identityBlock.ts
|
|
15
81
|
var buildIdentityBlock = (input) => {
|
|
@@ -29,6 +95,13 @@ var DELETE_SAFETY_RED_LINE = [
|
|
|
29
95
|
"\u552F\u4E00\u4F8B\u5916\xB7\u53EF\u9A8C\u8BC1\u6062\u590D\u7684\u4EFB\u52A1\u6E05\u7406\uFF1A\u672C\u6B21\u4EFB\u52A1\u4EB2\u81EA\u521B\u5EFA/\u542F\u52A8\u3001\u4E14\u6E05\u7406\u524D\u5DF2\u7528\u5B9E\u9645\u547D\u4EE4\u9010\u9879\u9A8C\u8BC1\u300C\u8981\u5220\u7684\u5168\u90E8\u5185\u5BB9\u53E6\u6709\u5B8C\u6574\u526F\u672C\u3001\u5220\u4E86\u53EF\u65E0\u635F\u6062\u590D\u300D\u7684\u8D44\u6E90\uFF0C\u53EF\u514D\u4E8B\u524D\u6E05\u5355\u4E0E\u786E\u8BA4\uFF0C\u6E05\u7406\u540E\u5728\u6C47\u62A5\u4E2D\u9010\u9879\u5217\u660E\uFF1B\u7CBE\u786E\u5B9A\u4F4D\u4ECD\u5FC5\u987B\u3002\u4EC5\u9650\uFF1A\u2460 \u5DF2\u5B8C\u6574\u5408\u5165\u4FDD\u7559\u7684\u96C6\u6210\u5206\u652F\uFF08git merge-base --is-ancestor \u9A8C\u8BC1\uFF09\u7684\u672C\u5730\u5206\u652F\u4E0E worktree\uFF0C\u4E14\u9664 a)\u3001b) \u4E24\u7C7B\u5916\uFF0C`git status --porcelain --ignored` \u8F93\u51FA\u5FC5\u987B\u4E3A\u7A7A\uFF1Aa) `!! node_modules/`\u2014\u2014\u987B\u5148\u7528 find \u6838\u5B9E\u5176\u4E2D\u53EA\u6709\u6307\u5411\u672C worktree \u5185\u7684\u5DE5\u4F5C\u533A\u5305\u7B26\u53F7\u94FE\u63A5\u3001\u4EE5\u53CA\u53EA\u88C5\u8FD9\u7C7B\u94FE\u63A5\u7684 scope \u5BB9\u5668\u76EE\u5F55\uFF0C\u65E0\u4EFB\u4F55\u666E\u901A\u6587\u4EF6\u6216\u5176\u4ED6\u7C7B\u578B\u6761\u76EE\uFF0C\u94FE\u63A5\u65E0\u6CD5\u89E3\u6790\u5373\u4E0D\u901A\u8FC7\uFF1Bb) \u88AB\u5FFD\u7565\u7684**\u53EF\u518D\u751F\u6784\u5EFA\u4EA7\u7269**\uFF08\u5982 `*.tsbuildinfo`\u3001\u6784\u5EFA/\u7F16\u8BD1\u7F13\u5B58\uFF09\u2014\u2014\u987B\u9010\u9879\u5217\u51FA\u8DEF\u5F84\uFF0C\u5E76\u7ED9\u51FA\u80FD\u91CD\u65B0\u751F\u6210\u5B83\u7684**\u4ED3\u5E93\u5185\u65E2\u6709\u547D\u4EE4**\uFF08\u5F53\u6B21\u5B9E\u9645\u6267\u884C\u901A\u8FC7\uFF1B\u6307\u4E0D\u51FA\u547D\u4EE4\u6216\u8DD1\u4E0D\u901A\u7684\u4E00\u5F8B\u4E0D\u653E\u884C\uFF09\uFF0C\u786E\u8BA4\u53EF\u7531\u8BE5\u547D\u4EE4\u65E0\u635F\u518D\u751F\u3001\u4E0D\u542B\u552F\u4E00\u7ED3\u679C\u6216\u7528\u6237\u6570\u636E\u3001\u4E14\u4E0D\u662F\u624B\u5DE5\u6539\u52A8\u8FC7\u7684\u4EA7\u7269\uFF1B\u4E0B\u5217\u4E00\u5F8B\u4E0D\u5C5E\u6B64\u7C7B\uFF1A`.env*` \u7B49\u51ED\u8BC1\u3001`data/`\u3001`nolo/`\u3001`.nolo/`\u3001\u4EFB\u4F55\u6570\u636E\u5E93/LevelDB/WAL/\u5BA1\u8BA1/\u65E5\u5FD7/\u62A5\u544A/\u5BFC\u51FA\u76EE\u5F55\u3001`artifacts/`\u3001\u624B\u5DE5\u6539\u52A8\u8FC7\u7684 `dist/`\u3001`public/` \u4E0B\u7684\u4EA7\u7269\u76EE\u5F55\uFF1B\u300C\u5DF2\u88AB gitignore\u300D\u300C\u662F\u6784\u5EFA\u4EA7\u7269\u300D\u300C\u53EF\u91CD\u65B0\u6784\u5EFA\u300D\u7B49\u672A\u7ECF\u547D\u4EE4\u6838\u5B9E\u7684\u8BF4\u6CD5\u4E0D\u6784\u6210\u653E\u884C\u7406\u7531\u3002\u6CE8\u610F `git worktree remove` \u4E0D\u4F1A\u56E0 ignored \u5185\u5BB9\u800C\u62D2\u7EDD\uFF08\u4F1A\u8FDE\u5176\u4E00\u5E76\u5220\u9664\uFF09\uFF0C\u672C\u4F8B\u5916\u6CA1\u6709\u673A\u68B0\u515C\u5E95\uFF0C\u4E0A\u8FF0\u9010\u9879\u6838\u5B9E\u662F\u552F\u4E00\u9632\u7EBF\uFF1B\u53EA\u7528\u4E0D\u5E26 --force \u7684 git worktree remove \u4E0E git branch -d\uFF0C\u7981\u6B62 -D\u3001--force\u3001rm -rf \u66FF\u4EE3\uFF1B\u2461 \u672C\u6B21\u521B\u5EFA\u3001\u5185\u5BB9\u53EA\u662F\u53EF\u518D\u751F\u4E2D\u95F4\u4EA7\u7269\uFF08\u65E5\u5FD7\u3001\u63A2\u9488\u811A\u672C\u3001\u622A\u56FE\u3001\u6784\u5EFA\u7F13\u5B58\uFF09\u7684 /tmp \u6587\u4EF6\uFF0C\u542B\u552F\u4E00\u7ED3\u679C\u6216\u7528\u6237\u6570\u636E\u7684\u4E0D\u7B97\uFF1B\u2462 \u672C\u6B21\u542F\u52A8\u3001\u6309\u5F53\u6B21\u8BB0\u5F55\u7684 PID \u6838\u5B9E\u8EAB\u4EFD\u3001\u7EC8\u6B62\u4E0D\u4E22\u672A\u4FDD\u5B58\u72B6\u6001\u7684\u540E\u53F0\u8FDB\u7A0B\u3002\u201C\u6709\u5907\u4EFD\u201D\u201C\u5728 /tmp\u201D\u201C\u5DF2\u5408\u5E76\u201D\u7B49\u672A\u7ECF\u547D\u4EE4\u6838\u5B9E\u7684\u5224\u65AD\u4E0D\u6784\u6210\u9A8C\u8BC1\uFF1B\u4EFB\u4E00\u9879\u65E0\u6CD5\u9A8C\u8BC1\uFF0C\u4E00\u5F8B\u56DE\u5230\u4E0A\u9762\u7684\u786E\u8BA4\u6D41\u7A0B\u3002\u7528\u6237\u6570\u636E\u3001\u8FDC\u7AEF/\u5E73\u53F0\u5185\u5BB9\u3001\u4ED6\u4EBA\u6216\u65E2\u6709\u7684\u6587\u4EF6\u3001\u5206\u652F\u3001stash \u6C38\u8FDC\u4E0D\u9002\u7528\u6B64\u4F8B\u5916\u3002"
|
|
30
96
|
].join("\n");
|
|
31
97
|
|
|
98
|
+
// packages/agent-runtime/credentialHygiene.ts
|
|
99
|
+
var CREDENTIAL_HYGIENE_RULE = `--- \u51ED\u636E\u7EAA\u5F8B ---
|
|
100
|
+
- \u9700\u8981\u4EFB\u4F55\u51ED\u636E / API key \u65F6\uFF1A\u5148 \`nolo secret list --json\` \u770B\u5DF2\u6709\u6761\u76EE\uFF08\u53EA\u51FA\u540D\u5B57\u4E0E\u5F62\u6001\uFF0C\u4E0D\u542B\u503C\uFF09\uFF0C\u518D\u7528 \`nolo secret run --with <name> -- <cmd>\` \u6CE8\u5165\u73AF\u5883\u53D8\u91CF\u6267\u884C\uFF1B\u4E0D\u8981\u5728\u547D\u4EE4\u884C\u91CC\u62FC\u63A5\u5BC6\u94A5\u503C\u3002
|
|
101
|
+
- \u65B0\u589E\u51ED\u636E\uFF1A\u8BF7\u7528\u6237\u672C\u4EBA\u6267\u884C \`nolo secret set <name> <value>\`\uFF08\u503C\u4E0D\u8981\u7ECF\u8FC7 agent \u7684\u547D\u4EE4\u884C\u6216\u56DE\u590D\uFF09\uFF0C\u4E4B\u540E\u7167\u5E38\u7528 \`run --with\` \u4F7F\u7528\u3002
|
|
102
|
+
- \u7981\u6B62\u628A\u5BC6\u94A5\u5199\u8FDB\u6587\u4EF6\uFF08\u542B \`~/.config/*.env\`\uFF09\u3001\u7981\u6B62\u5728\u53C2\u6570\u6216\u56DE\u590D\u91CC\u56DE\u663E\uFF1B\`nolo secret get\` \u4E0E\u76F4\u63A5\u8BFB\u53D6 \`$NOLO_HOME/credentials/secrets.json\` \u5747\u4EC5\u4F9B\u4EBA\u5DE5\u8C03\u8BD5\uFF0CAgent \u4E0D\u5F97\u8BFB\u53D6\u3002
|
|
103
|
+
- \u7528\u6237\u628A\u5BC6\u94A5\u76F4\u63A5\u8D34\u8FDB\u5BF9\u8BDD\u65F6\uFF1A\u7167\u5E38\u4F7F\u7528\uFF0C\u4F46\u63D0\u9192\u4E8B\u540E\u8F6E\u6362\uFF0C\u5E76\u63D0\u793A\u7528\u6237\u628A\u5B83\u8FC1\u8FDB \`nolo secret\`\u3002`;
|
|
104
|
+
|
|
32
105
|
// packages/agent-runtime/parallelDispatchDefault.ts
|
|
33
106
|
var PARALLEL_DISPATCH_DEFAULT_RULE = [
|
|
34
107
|
"\u3010\u5E76\u884C\u662F\u9ED8\u8BA4 \xB7 \u6D3E\u53D1\u7EAA\u5F8B\u3011",
|
|
@@ -51,6 +124,101 @@ var PLATFORM_RISK_CONTROL_RULE = [
|
|
|
51
124
|
"\u8FD9\u4E9B\u662F\u964D\u4F4E\u8BEF\u5224\u6982\u7387\u4E0E\u63D0\u9AD8\u53EF\u9760\u6027\u7684\u64CD\u4F5C\u8981\u6C42\uFF0C\u4E0D\u627F\u8BFA\u5E73\u53F0\u4E00\u5B9A\u5982\u4F55\u5904\u7F6E\uFF1B\u5177\u4F53\u98CE\u63A7\u4EE5\u5E73\u53F0\u63D0\u793A\u4E0E\u5F53\u6B21\u5B9E\u6D4B\u4E3A\u51C6\u3002"
|
|
52
125
|
].join("\n");
|
|
53
126
|
|
|
127
|
+
// packages/core/consultantTier.ts
|
|
128
|
+
var USER_OWN_BILLING_SOURCES = [
|
|
129
|
+
"user_subscription",
|
|
130
|
+
"user_api",
|
|
131
|
+
"owner_subscription",
|
|
132
|
+
"local"
|
|
133
|
+
];
|
|
134
|
+
var isUserOwnChannelBilling = (source) => USER_OWN_BILLING_SOURCES.includes(source);
|
|
135
|
+
var PLATFORM_CONSULTANT_BILLING_SOURCE = "platform_credits";
|
|
136
|
+
var CONSULTANT_TIER_MODEL_IDS = [
|
|
137
|
+
"anthropic/claude-fable-5-1",
|
|
138
|
+
"gpt-6-astra",
|
|
139
|
+
"anthropic/claude-opus-5-5",
|
|
140
|
+
"kimi-k3",
|
|
141
|
+
"gpt-6.1-sol"
|
|
142
|
+
];
|
|
143
|
+
var readModelDisplayName = (model) => {
|
|
144
|
+
try {
|
|
145
|
+
const config = getModelConfig("nolo", model);
|
|
146
|
+
return config.displayName?.trim() || model;
|
|
147
|
+
} catch {
|
|
148
|
+
return model;
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
var readModelPrice = (model) => {
|
|
152
|
+
try {
|
|
153
|
+
const config = getModelConfig("nolo", model);
|
|
154
|
+
const price = config?.price;
|
|
155
|
+
return {
|
|
156
|
+
input: typeof price?.input === "number" ? price.input : null,
|
|
157
|
+
output: typeof price?.output === "number" ? price.output : null
|
|
158
|
+
};
|
|
159
|
+
} catch {
|
|
160
|
+
return { input: null, output: null };
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
var readModelSupportsTool = (model) => {
|
|
164
|
+
try {
|
|
165
|
+
const config = getModelConfig("nolo", model);
|
|
166
|
+
return typeof config.supportsTool === "boolean" ? config.supportsTool : null;
|
|
167
|
+
} catch {
|
|
168
|
+
return null;
|
|
169
|
+
}
|
|
170
|
+
};
|
|
171
|
+
var lookupConsultantAgentKey = (model) => {
|
|
172
|
+
const entry = BUILTIN_AGENT_CATALOG.find((item) => item.model === model);
|
|
173
|
+
if (!entry) return null;
|
|
174
|
+
return publicAgentKey(entry.id);
|
|
175
|
+
};
|
|
176
|
+
var resolveConsultantTier = () => CONSULTANT_TIER_MODEL_IDS.map((model) => {
|
|
177
|
+
const price = readModelPrice(model);
|
|
178
|
+
return {
|
|
179
|
+
model,
|
|
180
|
+
displayName: readModelDisplayName(model),
|
|
181
|
+
agentKey: lookupConsultantAgentKey(model),
|
|
182
|
+
inputCreditsPerMTokens: price.input,
|
|
183
|
+
outputCreditsPerMTokens: price.output,
|
|
184
|
+
requiresProTier: isGptProModel("nolo", model),
|
|
185
|
+
supportsTool: readModelSupportsTool(model),
|
|
186
|
+
billingSource: PLATFORM_CONSULTANT_BILLING_SOURCE
|
|
187
|
+
};
|
|
188
|
+
});
|
|
189
|
+
var resolveDispatchableConsultantTier = () => resolveConsultantTier().filter(
|
|
190
|
+
(entry) => typeof entry.agentKey === "string" && entry.agentKey.length > 0
|
|
191
|
+
);
|
|
192
|
+
|
|
193
|
+
// packages/agent-runtime/consultationMode.ts
|
|
194
|
+
function buildConsultationModeBlock() {
|
|
195
|
+
const dispatchable = resolveDispatchableConsultantTier();
|
|
196
|
+
const noDispatchableEntries = dispatchable.length === 0;
|
|
197
|
+
const targets = noDispatchableEntries ? resolveConsultantTier() : dispatchable;
|
|
198
|
+
const targetLines = targets.map((entry) => {
|
|
199
|
+
const pricing = entry.inputCreditsPerMTokens === null || entry.outputCreditsPerMTokens === null ? "\u4EF7\u76EE\u672A\u77E5\uFF1B\u4E0D\u5F97\u5047\u8BBE\u514D\u8D39\u6216\u989D\u5EA6\u8DB3\u591F\uFF0C\u987B\u5148\u544A\u77E5\u7528\u6237\u8D39\u7528\u672A\u77E5\u5E76\u8BE2\u95EE\u3002" : `\u79EF\u5206\u4EF7\u76EE\uFF1Ainput ${entry.inputCreditsPerMTokens} / output ${entry.outputCreditsPerMTokens} \u79EF\u5206 / 1M tokens\u3002`;
|
|
200
|
+
const key = entry.agentKey ? `\uFF0CagentKey: ${entry.agentKey}` : "\uFF0C\u5F53\u524D\u65E0\u53EF\u6D3E\u53D1 agentKey";
|
|
201
|
+
const pro = entry.requiresProTier ? "\u9700\u5F00\u901A 199 \u79EF\u5206\u6863\u4F4D\u6216\u8D26\u6237\u4FDD\u6301\u6709\u6548\u4F59\u989D\uFF08\u2265 19 \u79EF\u5206\uFF09\uFF1B\u672A\u8FBE\u6807\u4F1A\u88AB\u670D\u52A1\u7AEF\u4EE5 402\uFF08gpt_pro_tier_required\uFF09\u62D2\u7EDD\u3002" : "\u4E0D\u9700\u8981\u7279\u5B9A\u5145\u503C\u6863\u4F4D\u95E8\u69DB\u3002";
|
|
202
|
+
const capability = entry.supportsTool === true ? "\u652F\u6301\u5DE5\u5177\u8C03\u7528\uFF0C\u53EF\u63A5\u5DE5\u5177\u578B\u5B50\u4EFB\u52A1\u3002" : entry.supportsTool === false ? "\u4E0D\u652F\u6301\u5DE5\u5177\u8C03\u7528\uFF0C\u53EA\u80FD\u4F5C\u4E3A\u987E\u95EE\u63D0\u4F9B\u65B9\u6848\uFF1B\u7531\u5F53\u524D agent \u52A8\u624B\u6267\u884C\uFF0C\u4E0D\u5F97\u58F0\u79F0\u5B50 run \u5DF2\u5B8C\u6210\u6539\u52A8\u3002" : "\u5DE5\u5177\u80FD\u529B\u672A\u58F0\u660E\uFF1B\u4F18\u5148\u6D3E\u5B83\u505A\u9700\u8981\u63A8\u7406/\u5224\u65AD\u7684\u90E8\u5206\uFF1B\u9700\u8981\u6539\u52A8\u843D\u5730\u65F6\u7531\u5F53\u524D agent \u6267\u884C\uFF0C\u4E0D\u627F\u8BFA\u5B83\u80FD\u8C03\u7528\u5DE5\u5177\u3002";
|
|
203
|
+
const billing = isUserOwnChannelBilling(entry.billingSource) ? "\u7528\u6237\u81EA\u5E26\u901A\u9053\uFF0C\u4E0D\u6D88\u8017\u5E73\u53F0\u79EF\u5206\u3002" : entry.billingSource === PLATFORM_CONSULTANT_BILLING_SOURCE ? "\u5E73\u53F0\u6258\u7BA1\u987E\u95EE\u6863\uFF0C\u6D88\u8017\u5E73\u53F0\u79EF\u5206\u3002" : "\u8BA1\u8D39\u6765\u6E90\u672A\u77E5\uFF1B\u4E0D\u5F97\u58F0\u79F0\u4E0D\u6D88\u8017\u5E73\u53F0\u79EF\u5206\u3002";
|
|
204
|
+
return `- ${entry.displayName}\uFF08model: ${entry.model}${key}\uFF09\uFF1A${billing} ${pricing} ${pro} ${capability}`;
|
|
205
|
+
});
|
|
206
|
+
return [
|
|
207
|
+
"\u3010\u8BF7\u6559\u6A21\u5F0F \xB7 \u987E\u95EE\u6863\u8BF7\u6559\u3011",
|
|
208
|
+
"\u5F53\u540C\u4E00\u95EE\u9898\u53CD\u590D\u5931\u8D25\u3001\u5DE5\u5177\u6216\u80FD\u529B\u4E0D\u8DB3\uFF0C\u6216\u660E\u786E\u8D85\u51FA\u5F53\u524D\u6A21\u578B\u80FD\u529B\u65F6\uFF0C\u4E3B\u52A8\u53D1\u8D77\u8BF7\u6559\uFF1B\u4E0D\u8BB8\u786C\u625B\u3001\u4E0D\u8BB8\u7F16\u9020\u7B54\u6848\u3001\u4E0D\u8BB8\u6084\u6084\u964D\u7EA7\u3002",
|
|
209
|
+
"\u5347\u7EA7\u524D\u5148\u5224\u65AD\u7528\u6237\u662F\u5426\u5DF2\u6709\u53EF\u7528\u7684\u81EA\u5E26\u6863\u4F4D\uFF1A\u82E5 listAgents \u53EF\u7528\uFF0C\u67E5\u770B\u5176 billingSource \u4E3A user_subscription\u3001user_api\u3001owner_subscription \u6216 local \u7684\u5DF2\u6536\u85CF/\u62E5\u6709 agent\uFF0C\u5E76\u4F18\u5148\u6D3E\u53D1\u8BE5\u7528\u6237\u81EA\u5E26\u901A\u9053\u7684 agent\u3002\u7528\u6237\u81EA\u5E26\u901A\u9053\u4E0D\u6D88\u8017\u5E73\u53F0\u79EF\u5206\uFF0C\u4E0D\u9700\u8D70\u5E73\u53F0\u79EF\u5206\u786E\u8BA4\u3002\u4E0D\u5F97\u628A\u7528\u6237\u901A\u9053\u7684\u7528\u91CF\u8BF4\u6210\u5E73\u53F0\u79EF\u5206\u3002",
|
|
210
|
+
"\u82E5\u5F53\u524D\u6CA1\u6709 listAgents \u5DE5\u5177\uFF0C\u4E0D\u5F97\u63A8\u65AD\u7528\u6237\u6709\u6216\u6CA1\u6709\u81EA\u5E26\u901A\u9053\uFF1B\u5148\u7528 ask_user \u8BE2\u95EE\u201C\u4F60\u5DF2\u6709\u81EA\u5E26\u901A\u9053\u7684\u6863\u4F4D\u5417\uFF1F\u201D\uFF0C\u6216\u5728\u660E\u786E\u544A\u77E5\u5E73\u53F0\u79EF\u5206\u8D39\u7528\u540E\u518D\u8BE2\u95EE\u662F\u5426\u4F7F\u7528\u5E73\u53F0\u6258\u7BA1\u987E\u95EE\u6863\u3002",
|
|
211
|
+
"\u53EA\u6709\u786E\u8BA4\u6CA1\u6709\u53EF\u7528\u7528\u6237\u81EA\u5E26\u901A\u9053\u540E\uFF0C\u624D\u8003\u8651\u5E73\u53F0\u6258\u7BA1\u987E\u95EE\u6863\uFF1B\u5E73\u53F0\u6258\u7BA1\u6863\u6D88\u8017\u5E73\u53F0\u79EF\u5206\uFF0C\u5FC5\u987B\u7528 ask_user \u4E3B\u52A8\u544A\u77E5\u79EF\u5206\u4EF7\u76EE\u5E76\u8BE2\u95EE\u3002",
|
|
212
|
+
...noDispatchableEntries ? ["\u5F53\u524D\u987E\u95EE\u6863\u6CA1\u6709\u53EF\u6D3E\u53D1\u5165\u53E3\uFF1B\u4EE5\u4E0B\u662F\u987E\u95EE\u6863\u4FE1\u606F\uFF0C\u4EC5\u4F9B\u8BF4\u660E\uFF0C\u4E0D\u5F97\u7F16\u9020 agentKey \u6216\u5C1D\u8BD5\u6D3E\u53D1\u3002"] : [],
|
|
213
|
+
...targetLines.length ? targetLines : ["\u5F53\u524D\u6CA1\u6709\u987E\u95EE\u6863\u6761\u76EE\u3002"],
|
|
214
|
+
"\u989D\u5EA6\u95E8\u69DB\uFF1A\u81EA\u52A8\u6267\u884C\u989D\u5EA6\uFF08\u79EF\u5206\uFF09\u5B57\u6BB5\u4E3A autoApproveCredits\uFF0C\u7531\u670D\u52A1\u7AEF\u72EC\u5360\u5199\u5165\u3002\u53EA\u6709\u7528\u6237\u65E0\u81EA\u5E26\u901A\u9053\u3001\u6B63\u5728\u8003\u8651\u5E73\u53F0\u79EF\u5206\u6863\u65F6\uFF0C\u989D\u5EA6\u53EF\u77E5\u4E14\u9884\u4F30\u6D88\u8017 \u2264 \u989D\u5EA6\u624D\u53EF\u514D\u95EE\uFF1B\u989D\u5EA6\u4E0D\u53EF\u77E5\u65F6\u9ED8\u8BA4\u6BCF\u6B21\u90FD\u95EE\u3002",
|
|
215
|
+
"\u7528\u6237\u540C\u610F\u540E\uFF0C\u4EC5\u5728\u5B58\u5728\u771F\u5B9E agentKey \u65F6\u7528 startAgentRun \u6D3E\u53D1\uFF1B\u4EC5\u4F20\u9012\u5361\u4F4F\u7684\u5B50\u95EE\u9898\u548C\u5FC5\u8981\u4E0A\u4E0B\u6587\u3002supportsTool=false \u7684\u987E\u95EE\u53EA\u51FA\u65B9\u6848\uFF0C\u7531\u5F53\u524D agent \u6267\u884C\uFF1BsupportsTool=true \u7684\u987E\u95EE\u53EF\u63A5\u5DE5\u5177\u578B\u5B50\u4EFB\u52A1\uFF1B\u80FD\u529B\u672A\u77E5\u65F6\u4E0D\u5F97\u58F0\u79F0\u53EF\u6267\u884C\u5DE5\u5177\u4EFB\u52A1\u3002\u7ED3\u8BBA\u4E00\u5F8B\u7531\u5F53\u524D agent \u6C47\u603B\u4EA4\u4ED8\uFF0C\u4E0D\u8F6C\u4EA4\u539F\u59CB\u8F93\u51FA\u3002",
|
|
216
|
+
"\u82E5\u5B50 run \u56E0 402 \u6216 gpt_pro_tier_required \u5931\u8D25\uFF0C\u5982\u5B9E\u544A\u77E5\u7528\u6237\u9700\u5F00\u901A\u9AD8\u9636\u6863\u4F4D\u6216\u5145\u503C\u4F7F\u8D26\u6237\u4F59\u989D\u8FBE\u5230 19 \u79EF\u5206\u4EE5\u4E0A\uFF1B\u4E0D\u5F97\u5047\u88C5\u6210\u529F\u6216\u53CD\u590D\u91CD\u8BD5\u3002",
|
|
217
|
+
"\u7981\u6B62\u64C5\u81EA\u4FEE\u6539\u5F53\u524D agent \u7684 model/provider\uFF1B\u5185\u7F6E nolo \u7684 provider/model \u7531\u4EE3\u7801\u6258\u7BA1\u3002",
|
|
218
|
+
"ask_user \u5728\u5F53\u524D\u5BBF\u4E3B\u4E0D\u53EF\u7528\u65F6\uFF0C\u964D\u7EA7\u4E3A\u666E\u901A\u6587\u5B57\u8BE2\u95EE\uFF0C\u4E0D\u5F97\u56E0\u6B64\u5361\u4F4F\u3002"
|
|
219
|
+
].join("\n");
|
|
220
|
+
}
|
|
221
|
+
|
|
54
222
|
// packages/agent-runtime/contextLayerContract.ts
|
|
55
223
|
var buildContextLayerContractBlock = (options = {}) => {
|
|
56
224
|
const lines = [
|
|
@@ -488,6 +656,55 @@ function detectDispatchIntentFromMessages(messages) {
|
|
|
488
656
|
return false;
|
|
489
657
|
}
|
|
490
658
|
|
|
659
|
+
// packages/agent-runtime/responseGuidelines.ts
|
|
660
|
+
var RESPONSE_BEHAVIOR_GUIDELINES = `--- \u56DE\u590D\u884C\u4E3A\u51C6\u5219\uFF08\u8DE8\u7AEF\u901A\u7528\uFF09 ---
|
|
661
|
+
\u4EE5\u4E0B\u662F\u6240\u6709\u56DE\u590D\u5171\u4EAB\u7684\u884C\u4E3A\u57FA\u7EBF\uFF0C\u4E0E\u5F53\u524D\u89C6\u53E3\u3001\u6392\u7248\u65E0\u5173\uFF1A
|
|
662
|
+
- **\u4FE1\u606F\u4F18\u5148\u7EA7**\uFF1A\u5148\u7ED9\u5F53\u524D\u6700\u6709\u7528\u7684\u4FE1\u606F\u2014\u2014\u7ED3\u8BBA\u3001\u7ED3\u679C\u3001\u72B6\u6001\u6216\u4E0B\u4E00\u6B65\u52A8\u4F5C\uFF08\u4E0B\u4E00\u6B65\u52A8\u4F5C\u53EA\u5728\u95EE\u9898\u672C\u8EAB\u6D89\u53CA\u884C\u52A8\u65F6\u624D\u7ED9\uFF0C\u89C1\u300C\u884C\u52A8\u4E0E\u63D0\u9192\u300D\uFF09\uFF0C\u6309\u4EFB\u52A1\u7C7B\u578B\u9009\u5176\u4E00\uFF1B\u4E0D\u7528\u5BD2\u6684\u3001\u94FA\u57AB\u6216\u300C\u8BA9\u6211\u5206\u6790\u4E00\u4E0B\u300D\u5F00\u573A\u3002
|
|
663
|
+
- **\u4E3B\u52A8\u9884\u5224**\uFF1A\u5728\u4E0A\u4E0B\u6587\u91CC\u80FD\u9884\u5224\u5230\u7684\u4E0B\u4E00\u6B65\u3001\u98CE\u9669\u6216\u7701\u4E8B\u505A\u6CD5\uFF0C\u4E3B\u52A8\u7528\u4E00\u53E5\u8BDD\u8BF4\u51FA\uFF08\u5305\u62EC\u65F6\u95F4\u3001\u8FDB\u5EA6\u3001\u72B6\u6001\u63D0\u9192\uFF09\uFF1B\u9884\u5224\u662F\u63D0\u8BAE\u800C\u975E\u51B3\u5B9A\uFF0C\u4E0D\u5FC5\u7B49\u7528\u6237\u95EE\u3002\u4E0A\u6587\u300C\u4E0D\u7528\u5BD2\u6684\u300D\u53CD\u7684\u662F\u7A7A\u8BDD\uFF0C\u4E0D\u662F\u8FD9\u7C7B\u6709\u4FE1\u606F\u91CF\u7684\u4E3B\u52A8\u63D0\u9192\u3002\u4EC5\u5728\u63D0\u9192\u4E0E\u5F53\u524D\u95EE\u9898\u76F4\u63A5\u76F8\u5173\u3001\u4E14\u80FD\u6539\u53D8\u7528\u6237\u773C\u4E0B\u7684\u5224\u65AD\u6216\u64CD\u4F5C\u65F6\u8865\u5145\uFF1B\u6CA1\u6709\u5177\u4F53\u4F9D\u636E\u7684\u901A\u7528\u5EFA\u8BAE\u4E0D\u9644\u9001\u3002
|
|
664
|
+
- **\u4F4E\u8D1F\u8377\u8868\u8FBE**\uFF1A\u4E00\u53E5\u4E00\u4E8B\uFF0C\u4E3B\u8BED\u660E\u786E\u3001\u7528\u5177\u4F53\u52A8\u8BCD\uFF0C\u540C\u4E00\u6982\u5FF5\u59CB\u7EC8\u7528\u540C\u4E00\u672F\u8BED\uFF1B\u5220\u53BB\u5957\u8BDD\u4E0E\u5D4C\u5957\u4ECE\u53E5\uFF0C\u4F46\u4E0D\u5220\u524D\u63D0\u3001\u98CE\u9669\u4E0E\u4E0D\u786E\u5B9A\u6027\u2014\u2014\u8BA9\u7528\u6237\u80FD\u5FEB\u901F\u6838\u67E5\u548C\u51B3\u7B56\uFF0C\u800C\u4E0D\u662F\u4FE1\u606F\u53D8\u5C11\u3002\u9700\u8981\u5C55\u5F00\u65F6\u6309\u4E3B\u9898\u5206\u6210\u77ED\u6BB5\u843D\uFF0C\u6BB5\u843D\u4E4B\u95F4\u7559\u7A7A\u884C\uFF1B\u8FDE\u7EED\u64CD\u4F5C\u7528\u6709\u5E8F\u5217\u8868\uFF1B\u6B64\u8981\u6C42\u4E0D\u4F9D\u8D56\u89C6\u53E3\u3002
|
|
665
|
+
- **\u4EFB\u52A1\u8FDE\u7EED\u6027**\uFF1A\u591A\u6B65\u9AA4\u4EFB\u52A1\u4FDD\u6301\u5F53\u524D\u72B6\u6001\u4E0E\u4E0B\u4E00\u6B65\u53EF\u89C1\uFF1B\u4EC5\u5728\u72B6\u6001\u53D8\u5316\u3001\u4ECE\u4E2D\u65AD/\u540E\u53F0\u4EFB\u52A1\u6062\u590D\u6216\u4E0A\u4E0B\u6587\u53EF\u80FD\u4E22\u5931\u65F6\u91CD\u8FF0\u8FDB\u5EA6\uFF0C\u4E0D\u673A\u68B0\u91CD\u590D\u3002
|
|
666
|
+
- **\u4E13\u6CE8\u4E3B\u7EBF\uFF08\u6C9F\u901A\u7126\u70B9\uFF0C\u975E\u8C03\u5EA6\uFF09**\uFF1A\u53D1\u73B0\u6B21\u8981\u95EE\u9898\u4E0D\u5207\u6362\u4E3B\u7EBF\uFF0C\u9664\u975E\u5B83\u963B\u585E\u6B63\u786E\u6027\u3001\u5B89\u5168\u6027\u6216\u5F53\u524D\u4EFB\u52A1\u672C\u8EAB\uFF1B\u503C\u5F97\u5904\u7406\u7684\u6B21\u8981\u9879\uFF0C\u5728\u4E3B\u7EBF\u5B8C\u6210\u540E\u7B80\u77ED\u6307\u51FA\u3002\u672C\u6761\u53EA\u7EA6\u675F**\u56DE\u590D\u7684\u53D9\u8FF0\u7126\u70B9**\uFF08\u5148\u8BB2\u4E3B\u7EBF\u3001\u65C1\u652F\u9760\u540E\uFF09\uFF0C\u4E0D\u662F\u6267\u884C\u8C03\u5EA6\uFF1A\u5B83\u4E0D\u8981\u6C42\u628A\u53EF\u72EC\u7ACB\u5E76\u884C\u7684\u65E0\u4F9D\u8D56\u5DE5\u4F5C\u4E32\u884C\u5316\uFF0C\u4E5F\u4E0D\u7981\u6B62\u5728\u4E3B\u7EBF\u672A\u5B8C\u6210\u65F6\u5E76\u53D1\u63A8\u8FDB\u5176\u5B83\u4EFB\u52A1\uFF08\u5982\u53E6\u4E00 worktree \u7684\u72EC\u7ACB\u6539\u52A8\uFF09\uFF1B\u51E1\u662F\u6587\u4EF6/\u6570\u636E/\u63A5\u53E3\u65E0\u4EA4\u96C6\u7684\u72EC\u7ACB\u6388\u6743\u5DE5\u4F5C\uFF0C\u9ED8\u8BA4\u5E76\u884C\uFF0C\u53EA\u5728\u6C47\u62A5\u65F6\u6309\u4E3B\u7EBF\u4F18\u5148\u7EC4\u7EC7\u3002
|
|
667
|
+
- **\u9519\u8BEF\u4E8B\u5B9E\u5316**\uFF1A\u51FA\u9519\u65F6\u76F4\u63A5\u8BF4\u660E\u53D1\u751F\u4E86\u4EC0\u4E48\u3001\u5DF2\u77E5\u539F\u56E0\u6216\u4ECD\u4E0D\u786E\u5B9A\u4E4B\u5904\u3001\u5F53\u524D\u5F71\u54CD\u4E0E\u4E0B\u4E00\u6B65\uFF08\u540C\u300C\u884C\u52A8\u4E0E\u63D0\u9192\u300D\uFF1A\u4EC5\u5F53\u95EE\u9898\u6D89\u53CA\u884C\u52A8\u65F6\u624D\u7ED9\uFF09\uFF1B\u4E0D\u7528\u65E0\u4FE1\u606F\u91CF\u7684\u60C5\u7EEA\u5316\u63AA\u8F9E\uFF0C\u4E5F\u4E0D\u628A\u4E0D\u786E\u5B9A\u6027\u5305\u88C5\u6210\u7ED3\u8BBA\u3002
|
|
668
|
+
- **\u7406\u89E3\u5931\u8D25\u6062\u590D**\uFF1A\u7528\u6237\u8868\u793A\u6CA1\u61C2\u3001\u6CA1\u8DDF\u4E0A\u6216\u8981\u6C42\u6362\u79CD\u8BF4\u6CD5\u65F6\uFF0C\u56DE\u9000\u5230\u6700\u53EF\u80FD\u7F3A\u5931\u7684\u524D\u63D0\u91CD\u65B0\u89E3\u91CA\uFF0C\u800C\u4E0D\u662F\u53EA\u7F29\u77ED\u6216\u91CD\u590D\u4E0A\u4E00\u6761\uFF1B\u4F18\u5148\u590D\u7528\u5BF9\u8BDD\u4E0E\u9879\u76EE\u8D44\u6599\u4E2D\u5DF2\u5EFA\u7ACB\u7684\u672F\u8BED\uFF0C\u672F\u8BED\u672C\u8EAB\u53EF\u80FD\u9020\u6210\u56F0\u60D1\u65F6\u5148\u7B80\u77ED\u5B9A\u4E49\u3002
|
|
669
|
+
- **\u672F\u8BED\u5C31\u5730\u89E3\u91CA**\uFF1A\u53EA\u89E3\u91CA\u7528\u6237\u53EF\u80FD\u4E0D\u719F\u3001\u4E14\u65E0\u6CD5\u4ECE\u4E0A\u4E0B\u6587\u63A8\u65AD\u7684\u4E13\u4E1A\u672F\u8BED\u6216\u5E73\u53F0\u6982\u5FF5\uFF0C\u9996\u6B21\u51FA\u73B0\u65F6\u5C31\u5730\u8865\u4E00\u53E5\u65E5\u5E38\u8BDD\u8BF4\u660E\u5B83\u662F\u4EC0\u4E48\u3001\u5F71\u54CD\u4EC0\u4E48\uFF1B\u7528\u6237\u672C\u8F6E\u5DF2\u8868\u73B0\u51FA\u7406\u89E3\u7684\u8BCD\u4E0D\u91CD\u590D\u89E3\u91CA\uFF0C\u9879\u76EE\u8D44\u6599\u5DF2\u6709\u5B9A\u4E49\u65F6\u4F18\u5148\u6CBF\u7528\u8BE5\u5B9A\u4E49\u3001\u4F46\u4E0D\u80FD\u4EC5\u56E0\u8D44\u6599\u5B9A\u4E49\u8FC7\u5C31\u5047\u5B9A\u7528\u6237\u5DF2\u7406\u89E3\u3002\u901A\u5E38\u4F18\u5148\u89E3\u91CA\u4E00\u4E24\u4E2A\u6700\u5F71\u54CD\u5F53\u524D\u5224\u65AD\u7684\u672F\u8BED\uFF0C\u5B8C\u6210\u5F53\u524D\u95EE\u9898\u6240\u5FC5\u9700\u7684\u6982\u5FF5\u4E0D\u53D7\u6570\u91CF\u9650\u5236\uFF1B\u4F46\u7528\u6237\u8868\u793A\u6CA1\u61C2\u3001\u6CA1\u8DDF\u4E0A\u3001\u8981\u6C42\u6362\u79CD\u8BF4\u6CD5\u65F6\u91CD\u8BB2\u8BE5\u672F\u8BED\u4E0D\u53D7\u672C\u6761\u9650\u5236\uFF08\u89C1\u300C\u7406\u89E3\u5931\u8D25\u6062\u590D\u300D\u7684\u5168\u90E8\u89E6\u53D1\u6761\u4EF6\uFF09\uFF1B\u975E\u5F53\u524D\u95EE\u9898\u5FC5\u9700\u7684\u672F\u8BED\u4E0D\u5C55\u5F00\uFF0C\u5FC5\u8981\u65F6\u518D\u8865\uFF0C\u4F46\u4E0D\u5F97\u4E3A\u63A7\u5236\u89E3\u91CA\u6570\u91CF\u800C\u7701\u7565\u7406\u89E3\u7ED3\u8BBA\u3001\u6838\u67E5\u53E3\u5F84\u6216\u6267\u884C\u6B65\u9AA4\u6240\u5FC5\u9700\u7684\u8BF4\u660E\u3002
|
|
670
|
+
- **\u4E8B\u5B9E\u4E0D\u7FFB\u8BD1**\uFF1A\u62A5\u9519\u539F\u6587\u3001\u6807\u8BC6\u7B26\u3001\u6587\u4EF6\u8DEF\u5F84\u3001\u547D\u4EE4\u4E0E\u53C2\u6570\u3001\u5B57\u6BB5\u540D\u3001\u6570\u503C\u4FDD\u6301\u539F\u6837\uFF1A\u5355\u884C\u7684\u7528\u884C\u5185\u53CD\u5F15\u53F7\uFF0C\u591A\u884C\u62A5\u9519\u6216\u547D\u4EE4\u8F93\u51FA\u7528\u56F4\u680F\u4EE3\u7801\u5757\u5E76\u6807\u660E\u8BED\u8A00\uFF1B\u98CE\u9669\u4E0E\u4E0D\u786E\u5B9A\u6027\u4FDD\u6301\u4E0E\u8BC1\u636E\u76F8\u7B26\u7684\u5224\u65AD\u5F3A\u5EA6\uFF08\u5B9E\u6D4B\u3001\u63A8\u6D4B\u3001\u672A\u77E5\u5206\u5F00\u8BF4\uFF09\uFF0C\u4E0D\u6DE1\u5316\u3001\u4E0D\u7701\u7565\u2014\u2014\u767D\u8BDD\u53EA\u7528\u6765\u89E3\u91CA\uFF0C\u4E0D\u7528\u6765\u66FF\u4EE3\u53EF\u6267\u884C\u4E8B\u5B9E\uFF0C\u4E5F\u4E0D\u7528\u6765\u7A00\u91CA\u98CE\u9669\u3002
|
|
671
|
+
- **\u7BC7\u5E45\u4E0E\u5B8C\u6574\u6027**\uFF1A\u56DE\u7B54\u7684\u7BC7\u5E45\u5339\u914D\u63D0\u95EE\u89C4\u6A21\u2014\u2014\u4E00\u53E5\u8BDD\u80FD\u7B54\u7684\u5C31\u76F4\u63A5\u7B54\u5B8C\uFF0C\u4E0D\u9ED8\u8BA4\u4EA4\u4ED8\u5206\u8282\u3001\u52A0\u6807\u9898\u3001\u5217\u8BC1\u636E\u6E05\u5355\u7684\u5DE5\u7A0B\u62A5\u544A\uFF1B\u7528\u6237\u8981\u65B9\u6848\u3001\u6392\u67E5\u6216\u5BF9\u6BD4\u65F6\u518D\u5C55\u5F00\u3002\u7BC7\u5E45\u53EF\u4EE5\u77ED\uFF0C\u4F46\u4E0D\u7701\u652F\u6491\u7ED3\u8BBA\u7684\u524D\u63D0\u3001\u8BC1\u636E\u4E0E\u98CE\u9669\uFF08\u300C\u4E3B\u52A8\u9884\u5224\u300D\u8BB8\u53EF\u7684\u90A3\u4E00\u53E5\u63D0\u9192\u4E0D\u53D7\u672C\u6761\u7BC7\u5E45\u9ED8\u8BA4\u7EA6\u675F\uFF09\u3002
|
|
672
|
+
- **\u884C\u52A8\u4E0E\u63D0\u9192**\uFF1A\u95EE\u9898\u6D89\u53CA\u884C\u52A8\u65F6\u624D\u7ED9\u4E0B\u4E00\u6B65\uFF0C\u4E0D\u989D\u5916\u9644\u9001\u4E0E\u672C\u9898\u65E0\u5173\u7684\u884C\u52A8\u6E05\u5355\uFF1B\u4EFB\u52A1\u672C\u8EAB\u9700\u8981\u591A\u6B65\u64CD\u4F5C\u3001\u6392\u67E5\u6216\u6267\u884C\u65B9\u6848\u65F6\uFF0C\u4FDD\u7559\u5B8C\u6210\u4EFB\u52A1\u6240\u9700\u7684\u6B65\u9AA4\uFF1B\u300C\u4E3B\u52A8\u9884\u5224\u300D\u8BB8\u53EF\u7684\u90A3\u4E00\u53E5\u63D0\u9192\u4E0D\u53D7\u300C\u4E0D\u989D\u5916\u9644\u9001\u300D\u9650\u5236\u3002
|
|
673
|
+
- **\u6392\u7248\u4F18\u5148\u7EA7**\uFF1A\u51B3\u5B9A\u8981\u4E0D\u8981\u5206\u8282\u3001\u52A0\u6807\u9898\u6216\u753B\u56FE\u65F6\uFF0C\u666E\u901A\u95EE\u7B54\u4E0D\u56E0\u89C6\u53E3\u5BBD\u7A84\u5C31\u5957\u5206\u8282\u62A5\u544A\uFF1B\u5BBF\u4E3B\u63D0\u4F9B\u4E86\u89C6\u53E3\u6392\u7248\u6307\u5F15\u65F6\uFF0C\u4EE5\u8BE5\u6307\u5F15\u4E3A\u51C6\u3002\u672C prompt \u672A\u542B\u89C6\u53E3\u6392\u7248\u6307\u5F15\u65F6\uFF0C\u53EA\u9075\u5B88\u672C\u884C\u4E3A\u57FA\u7EBF\uFF0C\u4E0D\u81EA\u884C\u8865\u6392\u7248\u89C4\u5219\u3002
|
|
674
|
+
- **\u5BF9\u8BDD\u4F53\uFF0C\u4E0D\u662F\u6587\u6863\u4F53**\uFF1A\u7528\u666E\u901A\u5BF9\u8BDD\u53E5\u5B50\u53D9\u8FF0\uFF0C\u4E0D\u8981\u7528\u300C\u5DF2\u786E\u8BA4\uFF0F\u63A8\u6D4B\uFF0F\u5B9E\u6D4B\u8BC1\u636E\uFF0F\u9A8C\u6536\u95ED\u73AF\u300D\u8FD9\u7C7B\u72B6\u6001\u6807\u7B7E\u7ED9\u6BCF\u53E5\u5206\u7C7B\uFF0C\u4E5F\u4E0D\u7528\u62A5\u544A\u9AA8\u67B6\uFF08\u80CC\u666F\uFF0F\u5206\u6790\uFF0F\u5EFA\u8BAE\uFF0F\u7ED3\u8BBA\uFF09\u7EC4\u7EC7\u56DE\u590D\uFF1B\u4F46\u9700\u8981\u8BF4\u6E05\u54EA\u4E9B\u662F\u5B9E\u6D4B\u3001\u54EA\u4E9B\u662F\u63A8\u6D4B\u65F6\uFF0C\u7528\u4E00\u53E5\u65E5\u5E38\u8BDD\u70B9\u660E\u5224\u65AD\u5F3A\u5EA6\uFF08\u89C1\u300C\u9519\u8BEF\u4E8B\u5B9E\u5316\u300D\u300C\u4E8B\u5B9E\u4E0D\u7FFB\u8BD1\u300D\uFF09\uFF0C\u4E0D\u5F97\u4E3A\u56DE\u907F\u6807\u7B7E\u800C\u628A\u63A8\u6D4B\u5199\u6210\u7ED3\u8BBA\u3002\u5217\u8868\u4E0E\u8868\u683C\u7167\u5E38\u53EF\u7528\uFF1B\u4EFB\u52A1\u672C\u8EAB\u8981\u6C42\u4EA4\u4ED8\u6587\u6863\u3001\u62A5\u544A\u6216\u56FA\u5B9A\u683C\u5F0F\u65F6\uFF08\u5199\u6587\u4EF6\u3001\u751F\u6210\u6587\u6863\u3001\u8BC4\u5BA1\u62A5\u544A\uFF09\uFF0C\u6309\u4EA4\u4ED8\u683C\u5F0F\u7EC4\u7EC7\uFF0C\u672C\u6761\u53EA\u7BA1\u5BF9\u8BDD\u91CC\u7684\u53E3\u5934\u56DE\u590D\u3002
|
|
675
|
+
- **\u7528\u6237\u5F53\u8F6E\u8868\u8FF0\u4F18\u5148**\uFF1A\u7528\u6237\u672C\u8F6E\u660E\u786E\u8BF4\u7684\u98CE\u683C\u3001\u957F\u5EA6\u3001\u63AA\u8F9E\u8981\u6C42\uFF0C\u4F18\u5148\u4E8E\u672C\u51C6\u5219\u4E2D\u5173\u4E8E\u98CE\u683C\u3001\u7BC7\u5E45\u4E0E\u7ED3\u6784\u7684\u9ED8\u8BA4\u8BBE\u5B9A\uFF08\u4E0D\u4F18\u5148\u4E8E\u300C\u9519\u8BEF\u4E8B\u5B9E\u5316\u300D\u300C\u4E8B\u5B9E\u4E0D\u7FFB\u8BD1\u300D\u8FD9\u7C7B\u6B63\u786E\u6027\u4E0E\u5B89\u5168\u7EA6\u675F\uFF09\uFF1B\u4F46\u4E8B\u5B9E\u4E0D\u7FFB\u8BD1\u3001\u524D\u63D0\u4E0D\u7701\u7565\u3001\u8BC1\u636E\u4E0D\u7701\u7565\u3001\u98CE\u9669\u4E0D\u7701\u7565\u4E0D\u56E0\u957F\u5EA6\u8981\u6C42\u6216\u63AA\u8F9E\u8981\u6C42\u8C41\u514D\u3002`;
|
|
676
|
+
var buildResponsePresentationGuidelines = (isMobile) => {
|
|
677
|
+
if (isMobile) {
|
|
678
|
+
return `--- \u54CD\u5E94\u5C55\u793A\u6307\u5357\uFF08\u7A84\u5C4F / TUI / \u79FB\u52A8\u7AEF\uFF09 ---
|
|
679
|
+
\uFF08\u4EE5\u4E0B\u6392\u7248\u5EFA\u8BAE\u5728\u300C\u7BC7\u5E45\u4E0E\u5B8C\u6574\u6027\u300D\u300C\u884C\u52A8\u4E0E\u63D0\u9192\u300D\u300C\u6392\u7248\u4F18\u5148\u7EA7\u300D\u7684\u8FB9\u754C\u5185\u6267\u884C\u3002\uFF09
|
|
680
|
+
\u5F53\u524D\u5904\u4E8E\u7A84\u5C4F\u6216\u7EC8\u7AEF\u89C6\u56FE\uFF0C\u91C7\u7528\u7D27\u51D1\u3001\u9AD8\u626B\u63CF\u7387\u6392\u7248\uFF1A\u7ED3\u8BBA/\u5173\u952E\u72B6\u6001\u7F6E\u9876\uFF0C\u77ED\u6BB5\u843D\uFF082-4 \u53E5\uFF09\u5E76\u4FDD\u6301\u7A7A\u884C\uFF0C\u62D2\u7EDD\u6587\u5B57\u5899\u3002
|
|
681
|
+
- \u5217\u8868\u9879\u7528\u300C- **\u6838\u5FC3\u8BCD**\uFF1A\u8BF4\u660E\u300D\uFF1B\u5D4C\u5957\u6700\u591A 2 \u5C42\uFF0C\u5B50\u5217\u8868\u7F29\u8FDB 2 \u7A7A\u683C\uFF1B\u5E76\u5217\u7528\u65E0\u5E8F\u5217\u8868\uFF0C\u6B65\u9AA4\u7528\u6709\u5E8F\u5217\u8868\u3002
|
|
682
|
+
- **\u8868\u683C\u964D\u7EA7**\uFF1A\u4E25\u7981\u4F7F\u7528 \u22654 \u5217\u7684\u5927\u5BBD\u8868\uFF08\u7A84\u5C4F/\u7EC8\u7AEF\u6298\u884C\u4E25\u91CD\u9519\u4F4D\uFF09\uFF0C\u6539\u7528\u952E\u503C\u6E05\u5355\u6216\u7EB5\u5411\u5361\u7247\u3002
|
|
683
|
+
- **\u56FE\u8868\u8868\u8FBE**\uFF1A\u6D41\u7A0B\u3001\u65F6\u5E8F\u3001\u72B6\u6001\u8FC1\u79FB\u3001\u7C7B/\u5B9E\u4F53\u5173\u7CFB\u7B49\u7ED3\u6784\u5316\u5185\u5BB9\u7528 \`\`\`mermaid \u4EE3\u7801\u5757\uFF08\u652F\u6301\u7684\u5BA2\u6237\u7AEF\u4F1A\u6E32\u67D3\u4E3A\u56FE\uFF09\uFF0C\u4E0D\u8981\u7528 ASCII \u624B\u7ED8\u6216\u957F\u6BB5\u6587\u5B57\u786C\u63CF\u8FF0\uFF1B\u56FE\u7528\u6765\u66FF\u4EE3\u6587\u5B57\uFF0C\u753B\u4E86\u56FE\u5C31\u5220\u6389\u91CD\u590D\u63CF\u8FF0\uFF1B\u4E00\u6B65\u6D41\u7A0B\u4E0D\u5FC5\u753B\u56FE\u3002
|
|
684
|
+
- \u514B\u5236\u5206\u5272\u7EBF\uFF08\u4EC5\u5927\u4E3B\u9898\u5207\u6362\u6216\u7ED3\u8BBA\u524D\uFF0C\u524D\u540E\u7559\u7A7A\u884C\uFF09\uFF1B\u8DEF\u5F84\u3001\u547D\u4EE4\u4E0E\u53C2\u6570\u7528\u53CD\u5F15\u53F7 \` \` \u5305\u88F9\uFF1B\u4EE3\u7801\u5757\u6807\u660E\u8BED\u8A00\u4E14\u907F\u514D\u6A2A\u5411\u8D85\u957F\u884C\uFF1B\u514B\u5236 Emoji\u3002`;
|
|
685
|
+
}
|
|
686
|
+
return `--- \u54CD\u5E94\u5C55\u793A\u6307\u5357\uFF08\u5BBD\u5C4F / \u684C\u9762\u7AEF\uFF09 ---
|
|
687
|
+
\uFF08\u4EE5\u4E0B\u6392\u7248\u5EFA\u8BAE\u5728\u300C\u7BC7\u5E45\u4E0E\u5B8C\u6574\u6027\u300D\u300C\u884C\u52A8\u4E0E\u63D0\u9192\u300D\u300C\u6392\u7248\u4F18\u5148\u7EA7\u300D\u7684\u8FB9\u754C\u5185\u6267\u884C\u3002\uFF09
|
|
688
|
+
\u5F53\u524D\u5904\u4E8E\u5927\u5C4F\u89C6\u56FE\uFF1A\u5185\u5BB9\u786E\u5B9E\u5305\u542B\u591A\u4E2A\u6A21\u5757\u65F6\u624D\u7528\u4E8C\u7EA7/\u4E09\u7EA7\u6807\u9898\u5212\u5206\u3001\u5448\u73B0\u5168\u666F\u7ED3\u6784\uFF0C\u666E\u901A\u95EE\u7B54\u4E0D\u5F3A\u884C\u52A0\u6807\u9898\uFF1B\u8981\u70B9\u5C42\u6B21\u6E05\u6670\uFF0C\u6BB5\u843D 2-4 \u53E5\u5E76\u7559\u7A7A\u884C\uFF0C\u76F4\u5954\u4E3B\u9898\u3002
|
|
689
|
+
- \u5217\u8868\u9879\u7528\u300C- **\u6838\u5FC3\u8BCD**\uFF1A\u8BF4\u660E\u300D\uFF1B\u5D4C\u5957\u6700\u591A 2 \u5C42\uFF0C\u5B50\u5217\u8868\u7F29\u8FDB 2 \u7A7A\u683C\uFF1B\u5E76\u5217\u7528\u65E0\u5E8F\u5217\u8868\uFF0C\u6B65\u9AA4\u7528\u6709\u5E8F\u5217\u8868\u3002
|
|
690
|
+
- **\u8868\u683C\u4E0E\u5BF9\u6BD4**\uFF1A\u5BBD\u5C4F\u4E0B\u53EF\u9002\u5EA6\u4F7F\u7528 Markdown \u591A\u5217\u8868\u683C\u505A\u65B9\u6848\u5BF9\u6BD4\u3001\u53C2\u6570\u6C47\u603B\u6216\u77E9\u9635\u5206\u6790\u3002
|
|
691
|
+
- **\u56FE\u8868\u8868\u8FBE**\uFF1A\u6D41\u7A0B\u3001\u65F6\u5E8F\u3001\u72B6\u6001\u8FC1\u79FB\u3001\u7C7B/\u5B9E\u4F53\u5173\u7CFB\u7B49\u7ED3\u6784\u5316\u5185\u5BB9\u7528 \`\`\`mermaid \u4EE3\u7801\u5757\uFF08\u652F\u6301\u7684\u5BA2\u6237\u7AEF\u4F1A\u6E32\u67D3\u4E3A\u56FE\uFF09\uFF0C\u6BD4\u957F\u6BB5\u6587\u5B57\u66F4\u6E05\u695A\uFF1B\u56FE\u7528\u6765\u66FF\u4EE3\u6587\u5B57\uFF0C\u753B\u4E86\u56FE\u5C31\u5220\u6389\u91CD\u590D\u63CF\u8FF0\uFF1B\u7B80\u5355\u5185\u5BB9\u4E0D\u5FC5\u753B\u56FE\u3002
|
|
692
|
+
- **\u4EA4\u4E92\u5236\u54C1**\uFF1A\u53EA\u6709\u5F53\u7ED3\u6784\u5FC5\u987B\u9760\u4EA4\u4E92\u624D\u80FD\u7406\u89E3\uFF08\u8C03\u53C2\u3001\u5206\u6B65\u6F14\u793A\u3001\u591A\u7EF4\u5BF9\u6BD4\uFF09\uFF0C\u4E14\u7528\u6237\u8981\u6C42\u6216\u5B83\u662F\u51B3\u7B56\u5173\u952E\u65F6\uFF0C\u624D\u6309 show-me skill \u4EA4\u4ED8\u4E00\u6B21\u6027\u5236\u54C1\uFF1B\u5176\u4F59\u60C5\u51B5\u7528\u6587\u5B57\u6216\u56FE\u3002
|
|
693
|
+
- \u53EF\u5C55\u793A\u66F4\u5B8C\u6574\u7684\u4EE3\u7801\u4E0A\u4E0B\u6587\u4E0E\u591A\u6B65\u6267\u884C\u793A\u4F8B\uFF1B\u8DEF\u5F84\u3001\u547D\u4EE4\u4E0E\u53C2\u6570\u7528\u53CD\u5F15\u53F7 \` \` \u5305\u88F9\uFF0C\u4EE3\u7801\u5757\u6807\u660E\u8BED\u8A00\uFF1B\u514B\u5236\u5206\u5272\u7EBF\u4E0E Emoji\u3002`;
|
|
694
|
+
};
|
|
695
|
+
var resolveResponseGuidelines = (viewport) => ({
|
|
696
|
+
behavior: RESPONSE_BEHAVIOR_GUIDELINES,
|
|
697
|
+
presentation: viewport === "wide" ? buildResponsePresentationGuidelines(false) : viewport === "narrow" ? buildResponsePresentationGuidelines(true) : ""
|
|
698
|
+
});
|
|
699
|
+
var buildResponseGuidelines = (isMobile) => {
|
|
700
|
+
const { behavior, presentation } = resolveResponseGuidelines(
|
|
701
|
+
isMobile ? "narrow" : "wide"
|
|
702
|
+
);
|
|
703
|
+
return `${behavior}
|
|
704
|
+
|
|
705
|
+
${presentation}`;
|
|
706
|
+
};
|
|
707
|
+
|
|
491
708
|
// packages/ai/agent/contextCompiler.ts
|
|
492
709
|
function createHash(_algo) {
|
|
493
710
|
let buf = "";
|
|
@@ -557,11 +774,17 @@ export {
|
|
|
557
774
|
compileContextLayers,
|
|
558
775
|
buildIdentityBlock,
|
|
559
776
|
DELETE_SAFETY_RED_LINE,
|
|
777
|
+
CREDENTIAL_HYGIENE_RULE,
|
|
560
778
|
PARALLEL_DISPATCH_DEFAULT_RULE,
|
|
561
779
|
PLATFORM_RISK_CONTROL_RULE,
|
|
780
|
+
isGptProModel,
|
|
781
|
+
shouldBlockForGptPro,
|
|
782
|
+
buildConsultationModeBlock,
|
|
562
783
|
buildRuntimeGuidanceBlocks,
|
|
563
784
|
TOOL_GUIDED_SECTION_ORDER,
|
|
564
785
|
resolveToolGuidedSections,
|
|
565
786
|
detectDispatchIntent,
|
|
566
|
-
detectDispatchIntentFromMessages
|
|
787
|
+
detectDispatchIntentFromMessages,
|
|
788
|
+
resolveResponseGuidelines,
|
|
789
|
+
buildResponseGuidelines
|
|
567
790
|
};
|