nolo-cli 0.81.0-alpha.1 → 0.81.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-L4LCNFID.js → _executeModel-JIG7MRXQ.js} +48 -48
- package/{action-D22U6CTH.js → action-YVYQEAAV.js} +11 -11
- package/{addContentAction-XAPUTGL4.js → addContentAction-O7R66HEX.js} +9 -9
- package/{addDialogAgentAction-M7VLLBZM.js → addDialogAgentAction-74OA7KYP.js} +8 -8
- package/{agentDeleteCommand-D2WHTH7S.js → agentDeleteCommand-THAZ5GQS.js} +31 -29
- package/{agentEmailCommands-IHSX56GO.js → agentEmailCommands-A7T7AJA4.js} +67 -63
- package/{agentGrantCommands-R3VQEZJR.js → agentGrantCommands-M3XFO6EN.js} +2 -2
- package/{agentListCommands-R2DGZMFP.js → agentListCommands-BRZFEJQM.js} +40 -32
- package/{agentMachineCommands-UYDID3HQ.js → agentMachineCommands-DM4N5PK3.js} +31 -29
- package/{agentProviderCommands-65ZC2WB4.js → agentProviderCommands-GNPTL5XR.js} +87 -0
- package/{agentPullCommand-N7L2CT7L.js → agentPullCommand-O5MPVJ5E.js} +3 -3
- package/agentRecordCommands-TTAEMNHB.js +128 -0
- package/{agentRunCommand-5PJF27JP.js → agentRunCommand-JVSTGVG2.js} +65 -61
- package/{agentRunControl-T44MESII.js → agentRunControl-WCTKX5VL.js} +2 -2
- package/{agentRuntimeLocal-VD4O2QFQ.js → agentRuntimeLocal-73CVIWBB.js} +27 -25
- package/{agentSlice-43ORUHTC.js → agentSlice-6X4JL2E3.js} +10 -10
- package/{appDeleteCommands-DXJA7XOZ.js → appDeleteCommands-S7CK4OYL.js} +31 -29
- package/{appDeployCommands-JL6XJZJE.js → appDeployCommands-U6TMS5GO.js} +31 -29
- package/{appDeployStatusCommands-MS2D2R6R.js → appDeployStatusCommands-DTNQJ3LJ.js} +31 -29
- package/{appGetCommands-BV2RDCEV.js → appGetCommands-3SHZEQD5.js} +31 -29
- package/{appListCommands-E2AM636N.js → appListCommands-E2ZMIUB6.js} +31 -29
- package/{authCommand-EVGFLAHO.js → authCommand-F4EFRRX6.js} +164 -24
- package/{authCommands-ILTBI6JV.js → authCommands-RGOGCPP6.js} +4 -5
- package/builtinSkillRegistry-FUAVTRVZ.js +33 -0
- package/{chatQueueReduxAdapter-F3IRDXDQ.js → chatQueueReduxAdapter-LAQEZQKE.js} +24 -24
- package/{chromeCommands-VOIRNJBL.js → chromeCommands-FZYAU75D.js} +1 -1
- package/{chromeOpsCommands-M7DPCX2T.js → chromeOpsCommands-62P2Q2YB.js} +31 -1
- package/{chunk-C3FZR5EC.js → chunk-2F7RJC6L.js} +1 -1
- package/{chunk-HQUORJTM.js → chunk-3BMYXEUW.js} +1 -1
- package/{chunk-3QPYFHAH.js → chunk-3DII57IT.js} +1 -1
- package/{chunk-KIS76A2P.js → chunk-3IIEFNGY.js} +38 -4
- package/{chunk-NTW5GWDM.js → chunk-3VNWWVKB.js} +2 -0
- package/{chunk-JQBONKAV.js → chunk-3WD6RUUJ.js} +11 -173
- package/{chunk-DWUCB2A3.js → chunk-42V6BK2E.js} +1 -1
- package/{chunk-GBPZKFYK.js → chunk-53HEEOTT.js} +4 -4
- package/{chunk-GEH7MMBB.js → chunk-54ADB4W7.js} +1 -1
- package/{chunk-5XTOKQLW.js → chunk-5UTFL4QJ.js} +6 -2
- package/chunk-5ZUL4CUO.js +10 -0
- package/{chunk-E6RGHPDR.js → chunk-6D6VBVEW.js} +4 -6
- package/{chunk-QNWHWBB7.js → chunk-6FVRQBRR.js} +52 -30
- package/{chunk-CMH2SYHX.js → chunk-6OZ36FXI.js} +2 -2
- package/{chunk-NRALD3CC.js → chunk-76WEAXJB.js} +49 -10
- package/{chunk-DFJFH53D.js → chunk-7OLPQSMQ.js} +6 -6
- package/{chunk-BYEJ7K2Z.js → chunk-7S4YWN7P.js} +1 -1
- package/{chunk-SREASRV5.js → chunk-ABQYVJBJ.js} +1 -1
- package/chunk-ACTMNVHM.js +93 -0
- package/{chunk-XWNRAIUL.js → chunk-AFUORTY4.js} +6 -16
- package/{chunk-WL2RKIBF.js → chunk-BLJWCTRL.js} +1 -1
- package/chunk-BNGW5ASC.js +344 -0
- package/{chunk-SZLVDREM.js → chunk-BP4XNZRM.js} +3 -3
- package/{chunk-2KDR4CWE.js → chunk-BYMV6QZG.js} +24 -1
- package/{chunk-MYU3MJCF.js → chunk-DHDMC6FO.js} +175 -7
- package/{chunk-4YCRJUQ2.js → chunk-ESWUWEFS.js} +10 -10
- package/{chunk-EXMHJN7C.js → chunk-EYAQT56M.js} +4 -3
- package/{chunk-CJCJF5XB.js → chunk-FDTR4QJ6.js} +4 -2
- package/{chunk-PYXL2CJL.js → chunk-GPCZ7UXG.js} +1 -1
- package/{chunk-K7AG465Q.js → chunk-GQBOR3G6.js} +4 -2
- package/{chunk-YFADVSZE.js → chunk-H62HCIUP.js} +6 -6
- package/{chunk-PZM3EENV.js → chunk-HJUYAD4A.js} +1 -1
- package/{chunk-3JQ2NRYU.js → chunk-HVURBGF3.js} +4 -4
- package/{chunk-DAIOZ3ZO.js → chunk-HWIZU4OL.js} +13 -15
- package/{chunk-ZVN6I33J.js → chunk-IIVGDG4I.js} +6 -5
- package/{chunk-UDQWGU7F.js → chunk-J4MOO56S.js} +1 -1
- package/{chunk-DSRXPQWA.js → chunk-JAXOVNM4.js} +43 -43
- package/{chunk-QQ7SX52C.js → chunk-JCIHVIVG.js} +15 -15
- package/{chunk-KC5FAHVS.js → chunk-JEDZAO7L.js} +1 -1
- package/{chunk-6XIE5ZGI.js → chunk-JPGCXHNM.js} +1 -1
- package/chunk-JRQFUXY7.js +1625 -0
- package/{chunk-J4R5XRX5.js → chunk-K4YGZD3P.js} +419 -72
- package/chunk-KQ4ONNQD.js +677 -0
- package/{chunk-RXX4GDIH.js → chunk-LS2ZANRJ.js} +1 -1
- package/{chunk-ODWEZBU6.js → chunk-LXF6XQDT.js} +1219 -57
- package/{chunk-CPSZJBLK.js → chunk-LZIWMYX4.js} +105 -26
- package/{chunk-BJIRLHJR.js → chunk-M2EJHDJP.js} +4 -0
- package/{chunk-EVBFYPDC.js → chunk-MC4XLIJ7.js} +6 -2
- package/{chunk-QC5LGHYP.js → chunk-OF7AQZUG.js} +10 -5
- package/{chunk-UJ63UXGE.js → chunk-OIVSQH2O.js} +1006 -801
- package/{chunk-AETZ7AD6.js → chunk-Q554LLSI.js} +1 -1
- package/chunk-Q5FJJ6XI.js +103 -0
- package/{chunk-AJHEFRGJ.js → chunk-Q67DOFOO.js} +214 -5
- package/{chunk-UZ6XXCVR.js → chunk-QDSINZM3.js} +15 -2
- package/{chunk-D6XYLSOS.js → chunk-QIAVMDHY.js} +1 -1
- package/{chunk-IHTVDCWH.js → chunk-R2B3MIZA.js} +3 -3
- package/{chunk-YWG6EMH3.js → chunk-RG6JBBX5.js} +10 -6
- package/{chunk-QCZX4FTW.js → chunk-SH43IESU.js} +173 -15
- package/{chunk-FNGAF7C4.js → chunk-SNPMM7H3.js} +137 -12
- package/{chunk-XKNBWXDH.js → chunk-SQQVLHMH.js} +7 -7
- package/{chunk-SPAQ4PVV.js → chunk-SV5IJK6K.js} +1 -1
- package/{chunk-KVDUCO4Q.js → chunk-TDRTS7QW.js} +16 -12
- package/{chunk-BJCWNHVU.js → chunk-TOP2VXOR.js} +2 -2
- package/{chunk-QQBO3LQW.js → chunk-TZJJ77KQ.js} +155 -795
- package/{chunk-4EJ5QYB5.js → chunk-UKZDAFYT.js} +1 -1
- package/{chunk-PGSKWZCB.js → chunk-UZGQNTVW.js} +1 -1
- package/{chunk-ZZCJUXUI.js → chunk-V4MJDUSR.js} +2 -2
- package/{chunk-JYYZCK2Z.js → chunk-V7E4PXQD.js} +1 -1
- package/{chunk-OZX2IPKM.js → chunk-VLTIYV3X.js} +1 -1
- package/{chunk-NHRQCXIQ.js → chunk-VMFTFOWF.js} +13 -3
- package/{chunk-E36HZARC.js → chunk-WADCY6G6.js} +3 -3
- package/{chunk-HH65VA5U.js → chunk-WGR3J4Q6.js} +101 -4
- package/{chunk-5J7W2VWW.js → chunk-WV42OMV7.js} +6 -265
- package/{chunk-7QHSEMMD.js → chunk-Y5HW6GM2.js} +3 -3
- package/{chunk-DUJWWUGV.js → chunk-YQTQQX2H.js} +1 -1
- package/{chunk-QPJBFU7R.js → chunk-YVIV7WT4.js} +752 -80
- package/{chunk-BOYUESO7.js → chunk-Z77CRGTW.js} +1 -1
- package/{chunk-KSHYBTYH.js → chunk-ZWUOR654.js} +932 -299
- package/{contentThunks-FSQPOFYG.js → contentThunks-ATLWNC2D.js} +25 -25
- package/{cooldownCommands-BSCH2W7P.js → cooldownCommands-REAWYVTY.js} +2 -2
- package/{createAgentAutomationAction-VCHDRJ6X.js → createAgentAutomationAction-QYYWTVUR.js} +25 -25
- package/{createDialogAction-KZM5IE4P.js → createDialogAction-7I5VGWCR.js} +28 -28
- package/{createPageAction-IGMXJOY3.js → createPageAction-WNURYCWU.js} +26 -26
- package/{dbSlice-GKGGFNOB.js → dbSlice-XVWBAGYN.js} +8 -8
- package/{deleteFile-LWSR674W.js → deleteFile-YG6QMJLU.js} +3 -3
- package/{dialogCommands-KJS57EDF.js → dialogCommands-RILHDRQ5.js} +35 -31
- package/{dialogSlice-YBTC3GAW.js → dialogSlice-W5BYELVR.js} +24 -24
- package/{docCreateCommands-MRGXJTB4.js → docCreateCommands-GSTPU7SG.js} +32 -30
- package/{docDeleteCommands-YCI75CBU.js → docDeleteCommands-2FC3LSUT.js} +33 -31
- package/{docReadCommands-JN3VHTQY.js → docReadCommands-27POBA34.js} +32 -30
- package/{docStore-SDPT23I6.js → docStore-7LAHBFP2.js} +9 -9
- package/{docUpdateCommands-7KBOENX7.js → docUpdateCommands-U4II6VCO.js} +32 -30
- package/{fetchMessages-DRABNDPZ.js → fetchMessages-EIU7UFFK.js} +3 -4
- package/{getPricing-HRMSOF3E.js → getPricing-LUSEABA6.js} +4 -4
- package/{handleSendMessageAction-356IDG72.js → handleSendMessageAction-SKMJMVRU.js} +24 -24
- package/index.js +102 -85
- package/{localDialogRead-PUQKFI73.js → localDialogRead-BTFJ4V2I.js} +2 -2
- package/{localRuntimeDb-P37ZTX55.js → localRuntimeDb-SYQGUF4U.js} +1 -1
- package/{machineCommands-FYIRYMDE.js → machineCommands-S2RNYKVJ.js} +64 -60
- package/{machineWsRunDispatch-J2FEYI4T.js → machineWsRunDispatch-JC44LBLP.js} +62 -58
- package/{memberThunks-KATHH3F4.js → memberThunks-QGFLFVCI.js} +9 -9
- package/{models-GS72DVJS.js → models-T3SG6MJ5.js} +2 -2
- package/{offlineMarxistsAgentCommand-GEH6SNNA.js → offlineMarxistsAgentCommand-HGXZV4XJ.js} +1 -1
- package/package.json +1 -1
- package/providerPresetApply-FG6NZ57W.js +214 -0
- package/providerRegistry-757OWH3O.js +31 -0
- package/{read-LC6HVYBN.js → read-COE3ZYR6.js} +5 -4
- package/{readDocTool-N3ERJHHF.js → readDocTool-5USN4A6V.js} +1 -1
- package/{readlineWorkspace-OWBGR7QO.js → readlineWorkspace-VZSBXUH4.js} +188 -109
- package/{removeDialogAgentAction-F5GPTALR.js → removeDialogAgentAction-IX3MN2ZO.js} +11 -11
- package/{runAgentClientLoop-DKUUFUKT.js → runAgentClientLoop-ZYENU7GH.js} +47 -47
- package/{runtimeDoctorCommands-CROTMULY.js → runtimeDoctorCommands-X6WDBEQX.js} +2 -2
- package/{setDialogExtraReferencesAction-AY4ZCF3A.js → setDialogExtraReferencesAction-X4HCPNZL.js} +9 -9
- package/{setPrimaryDialogAgentAction-HPMG7V3R.js → setPrimaryDialogAgentAction-4GMIQLOD.js} +11 -11
- package/{settingSlice-OEJA4NQO.js → settingSlice-ZQZVUPKK.js} +10 -10
- package/{spaceCommands-SSLCOSBH.js → spaceCommands-QB3NNEMN.js} +30 -28
- package/{streamAgentChatTurn-FHZZCANP.js → streamAgentChatTurn-43GPPQSN.js} +59 -58
- package/{switchDialogAgentAction-HMDZTZ4I.js → switchDialogAgentAction-N52LRPA3.js} +8 -8
- package/{tableCommands-SUNTHAYX.js → tableCommands-O6NWHFKV.js} +1 -1
- package/{toolApiClient-VGYUB4P5.js → toolApiClient-QVJ6HDNN.js} +2 -2
- package/{tools-QZJX3BIC.js → tools-SX6Y4STZ.js} +43 -43
- package/tuiSummaryLlmCaller-T2SHYMDZ.js +127 -0
- package/{updateCommands-Y363MC3L.js → updateCommands-2M74UL7P.js} +2 -2
- package/{updateDialogTitleAction-JJPNGTAP.js → updateDialogTitleAction-VAKA4ZNY.js} +45 -28
- package/agentRecordCommands-OFYTWZAA.js +0 -124
- package/chunk-3IT2PFHL.js +0 -611
- package/chunk-I42VC5KR.js +0 -15
- package/chunk-NG4UT4K4.js +0 -79
- 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
|
@@ -0,0 +1,344 @@
|
|
|
1
|
+
import {
|
|
2
|
+
publicAgentKey
|
|
3
|
+
} from "./chunk-M2EJHDJP.js";
|
|
4
|
+
|
|
5
|
+
// packages/core/builtinAgentCatalog.ts
|
|
6
|
+
var BUILTIN_AGENT_CATALOG = [
|
|
7
|
+
// ── 平台内置 6 个(builtinAgents BUILTIN_*)──
|
|
8
|
+
{
|
|
9
|
+
id: "01NOLOAPPBLD000000019KCKT0",
|
|
10
|
+
group: "builtin",
|
|
11
|
+
name: "nolo",
|
|
12
|
+
provider: "nolo",
|
|
13
|
+
model: "deepseek-flash",
|
|
14
|
+
runtimeFallback: true
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
id: "01APPBUILDER00000001YAII3I",
|
|
18
|
+
group: "builtin",
|
|
19
|
+
name: "\u5E94\u7528\u6784\u5EFA\u52A9\u624B",
|
|
20
|
+
provider: "nolo",
|
|
21
|
+
model: "deepseek-flash"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
id: "01ECOMMERCEAG00000001PYQ2J",
|
|
25
|
+
group: "builtin",
|
|
26
|
+
name: "\u7535\u5546\u5546\u54C1\u53C2\u6570\u52A9\u624B",
|
|
27
|
+
provider: "openai",
|
|
28
|
+
model: "gpt-6-luna"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
id: "01NOLOAGENTCRT000000000001",
|
|
32
|
+
group: "builtin",
|
|
33
|
+
name: "AI \u521B\u5EFA\u52A9\u624B",
|
|
34
|
+
provider: "nolo",
|
|
35
|
+
model: "deepseek-flash"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
id: "01NOLOFEEDBACKA000000000R2",
|
|
39
|
+
group: "builtin",
|
|
40
|
+
name: "\u53CD\u9988\u5165\u53E3",
|
|
41
|
+
provider: "nolo",
|
|
42
|
+
model: "deepseek-flash"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
id: "01CHROMEOPR000000000001",
|
|
46
|
+
group: "builtin",
|
|
47
|
+
name: "Chrome \u64CD\u4F5C\u5458",
|
|
48
|
+
provider: "nolo",
|
|
49
|
+
model: "deepseek-flash"
|
|
50
|
+
},
|
|
51
|
+
// ── quick-chat 档位 public(图片助手已无 runtimeFallback,见下方图片档段) ──
|
|
52
|
+
// 2026-09-10 兜底最小化:runtimeFallback 只保留产品代码显式引用的条目
|
|
53
|
+
// (nolo 默认档、PLATFORM_TIER_AGENT_KEYS 的 flash/image-compat、
|
|
54
|
+
// SYSTEM_BUILTIN_TRUSTED 的 flash/pro/glm-flash)。广场档与图片助手不再
|
|
55
|
+
// 兜底——记录缺失时明确报 Agent not found,而不是合成无 prompt 的裸配置。
|
|
56
|
+
{
|
|
57
|
+
id: "01DSV4FLASHPB00000000JFPFD",
|
|
58
|
+
group: "public",
|
|
59
|
+
name: "DeepSeek Flash",
|
|
60
|
+
provider: "nolo",
|
|
61
|
+
model: "deepseek-flash",
|
|
62
|
+
runtimeFallback: true
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
id: "01DSV4PRONPB00000001VIR3EK",
|
|
66
|
+
group: "public",
|
|
67
|
+
name: "DeepSeek V4 Pro",
|
|
68
|
+
provider: "nolo",
|
|
69
|
+
model: "deepseek-v4-pro",
|
|
70
|
+
runtimeFallback: true
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
id: "01GLM52DIPB00000000I3E2MY",
|
|
74
|
+
group: "public",
|
|
75
|
+
name: "GLM 5.3",
|
|
76
|
+
provider: "nolo",
|
|
77
|
+
model: "glm-5.3"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
id: "01GLMFLASHPB00000000BT20BC",
|
|
81
|
+
group: "public",
|
|
82
|
+
name: "GLM 5.3 Flash",
|
|
83
|
+
provider: "nolo",
|
|
84
|
+
model: "glm-5-3-flash",
|
|
85
|
+
runtimeFallback: true
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
id: "01KIMIK26OLLAMA0000000001",
|
|
89
|
+
// 已下架的公共入口:保留 internal catalog entry 仅用于旧 Agent 记录的运行时兼容。
|
|
90
|
+
group: "internal",
|
|
91
|
+
lifecycle: "retired",
|
|
92
|
+
name: "Kimi K2.6\uFF08\u517C\u5BB9\uFF09",
|
|
93
|
+
provider: "nolo",
|
|
94
|
+
model: "kimi-k2.6",
|
|
95
|
+
runtimeFallback: true
|
|
96
|
+
},
|
|
97
|
+
// ── 广场公开聊天档(从 createSpaceAgents PUBLIC_AGENT_DEFS 收编,2026-08-19)──
|
|
98
|
+
// ID 与 createSpaceAgents 的 deterministicId 结果一致;provider 按 agentSeedBuilder
|
|
99
|
+
// 默认规则:显式 provider 用显式值,未写则 openai。
|
|
100
|
+
// 2026-09-10 预设收敛:GPT-5.6 Sol/Terra、GPT-5.5 Pro 从广场退场转 internal 兼容,
|
|
101
|
+
// 公开聊天档只保留 Luna + nolo 托管组 + 图片档(图片档仍在广场,但不再 runtimeFallback)。
|
|
102
|
+
{
|
|
103
|
+
id: "01GPT56SOLPB00000000VXMGCW",
|
|
104
|
+
// 已从广场/预设退场(2026-09-10):保留 internal 兼容条目,仅为存量 agent
|
|
105
|
+
// 记录提供运行时路由;不再出现在广场与 createSpaceAgents 播种清单。
|
|
106
|
+
group: "internal",
|
|
107
|
+
lifecycle: "retired",
|
|
108
|
+
name: "GPT-5.6 Sol\uFF08\u517C\u5BB9\uFF09",
|
|
109
|
+
provider: "openai",
|
|
110
|
+
model: "gpt-5.6-sol"
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
id: "01GPT56TERPB00000001UX7RKW",
|
|
114
|
+
// 已从广场/预设退场(2026-09-10):同 Sol,internal 兼容。
|
|
115
|
+
group: "internal",
|
|
116
|
+
lifecycle: "retired",
|
|
117
|
+
name: "GPT-5.6 Terra\uFF08\u517C\u5BB9\uFF09",
|
|
118
|
+
provider: "openai",
|
|
119
|
+
model: "gpt-5.6-terra"
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
id: "01GPT56LUNPB00000001VVVZHS",
|
|
123
|
+
// 2026-09-23 换代:同一稳定 ID(用户收藏 / 别名 / Space 内容键不失效)升级为
|
|
124
|
+
// 平台托管 GPT-6 Luna。注意与 retired 的区别:Luna 是在架商品原地换代,
|
|
125
|
+
//
|
|
126
|
+
// provider 必须是 "nolo"(平台托管命名空间),不能写上游名 "openai":
|
|
127
|
+
// ① 计费按 calculatePrice(provider, model) 查价,平台价只注册在 nolo 下,
|
|
128
|
+
// 写 openai 会落零价虚拟模型(2026-09-24 实测 openai/gpt-6-luna → cost 0);
|
|
129
|
+
// ② agent-run 的托管路由门 isPlatformManagedProvider 只认 nolo/deepseek/
|
|
130
|
+
// kimi 系,provider 非 nolo 时读不到 hosted routing table,直连 key 也拿不到。
|
|
131
|
+
// 平台 agent 统一收敛到 nolo provider 是既定方向(见 modelUpgradeTable 的
|
|
132
|
+
// 「尽量迁移到 nolo 平台托管」原则),其余上游名 provider 逐步退场。
|
|
133
|
+
group: "public",
|
|
134
|
+
lifecycle: "active",
|
|
135
|
+
name: "GPT-6 Luna",
|
|
136
|
+
provider: "nolo",
|
|
137
|
+
model: "gpt-6-luna"
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
id: "01GPT55PROPUB00000000IV47M",
|
|
141
|
+
// 已从广场/预设退场(2026-09-10 retired,2026-09-23 起 overlay 强制过滤
|
|
142
|
+
// 存量 DB 记录):internal 兼容,理由同 Sol。
|
|
143
|
+
group: "internal",
|
|
144
|
+
lifecycle: "retired",
|
|
145
|
+
name: "GPT-5.5 Pro\uFF08\u517C\u5BB9\uFF09",
|
|
146
|
+
provider: "openai",
|
|
147
|
+
model: "gpt-5.5-pro"
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
id: "01CLSO50DIPB00000000A1DVVU",
|
|
151
|
+
// 旧代 Claude 广场入口(2026-09-01 下架时随条目删除,只剩线上孤儿记录,
|
|
152
|
+
// 2026-09-24 重新收编):internal + retired 保留运行时兼容,广场由 overlay
|
|
153
|
+
// 按 retiredCatalogIds 过滤其存量 agent-pub-* 记录(退场 ≠ 删除——Space
|
|
154
|
+
// contentKey / dialog primaryAgentKey 硬引用不断链)。model 沿用 2026-09-15
|
|
155
|
+
// 恢复的真实 DeepInfra 官方名(与平台模型名同名)。
|
|
156
|
+
group: "internal",
|
|
157
|
+
lifecycle: "retired",
|
|
158
|
+
name: "Claude Sonnet 5\uFF08\u517C\u5BB9\uFF09",
|
|
159
|
+
provider: "nolo",
|
|
160
|
+
model: "anthropic/claude-sonnet-5"
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
id: "01FABLE5DIPB00000001VJBKM4",
|
|
164
|
+
// 同 Sonnet 5:旧代 Claude 广场入口转 internal + retired 兼容条目。
|
|
165
|
+
group: "internal",
|
|
166
|
+
lifecycle: "retired",
|
|
167
|
+
name: "Claude Fable 5\uFF08\u517C\u5BB9\uFF09",
|
|
168
|
+
provider: "nolo",
|
|
169
|
+
model: "anthropic/claude-fable-5"
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
id: "01CLOP48DIPB0000000001OI1W",
|
|
173
|
+
// 同 Sonnet 5 / Fable 5。这条尤其重要:线上同时存在
|
|
174
|
+
// agent-system-01CLOP48DIPB...(userId=system)与 owner 副本。catalog 若无该
|
|
175
|
+
// 条目,overlay 的「DB 有、catalog 无 → 用户自建」规则会把 system 名下记录当成
|
|
176
|
+
// 用户自建保留——正是 2026-09-24 设计会商点名的「事故复活通道」实例。
|
|
177
|
+
group: "internal",
|
|
178
|
+
lifecycle: "retired",
|
|
179
|
+
name: "Claude Opus 5\uFF08\u517C\u5BB9\uFF09",
|
|
180
|
+
provider: "nolo",
|
|
181
|
+
model: "anthropic/claude-opus-5"
|
|
182
|
+
},
|
|
183
|
+
// Claude 系 2026-09-24 广场重新上架:只上架最新一代(Fable 5.1 / Opus 5.5)。
|
|
184
|
+
// 平台托管通道 2026-09-15 起已是真实 DeepInfra 模型(nolo 目录),provider
|
|
185
|
+
// 收敛到 nolo 命名空间;旧代 Sonnet 5 / Fable 5 只保留上面的 retired 兼容条目。
|
|
186
|
+
// Gemini 文本档只上架最新一代:旧版留在广场只会分散选择、拉长列表,而
|
|
187
|
+
// 用户想要的是「最新的那个 Gemini」。旧版模型仍可保留用于兼容历史请求,
|
|
188
|
+
// (modelAbility / 定价表照旧),下架的只是广场入口。
|
|
189
|
+
{
|
|
190
|
+
id: "01CLDFBL51PB000000013N70D7",
|
|
191
|
+
group: "public",
|
|
192
|
+
lifecycle: "active",
|
|
193
|
+
name: "Claude Fable 5.1",
|
|
194
|
+
provider: "nolo",
|
|
195
|
+
model: "anthropic/claude-fable-5-1"
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
id: "01CLDOPU55PB00000001MQHSW0",
|
|
199
|
+
group: "public",
|
|
200
|
+
lifecycle: "active",
|
|
201
|
+
name: "Claude Opus 5.5",
|
|
202
|
+
provider: "nolo",
|
|
203
|
+
model: "anthropic/claude-opus-5-5"
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
id: "01GEM37FLPB00000000FJCRNC",
|
|
207
|
+
group: "public",
|
|
208
|
+
name: "Gemini 3.8 Flash",
|
|
209
|
+
provider: "nolo",
|
|
210
|
+
model: "gemini-3.8-flash"
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
id: "01GROK46PLAZ00000001PTJZ3K",
|
|
214
|
+
group: "public",
|
|
215
|
+
name: "Grok 4.6",
|
|
216
|
+
provider: "xai",
|
|
217
|
+
model: "grok-4.6"
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
id: "01GPTIMG2GEN00000000SSEBOS",
|
|
221
|
+
group: "public",
|
|
222
|
+
name: "GPT Image 2 \u56FE\u7247\u751F\u6210\u5668",
|
|
223
|
+
provider: "nolo",
|
|
224
|
+
model: "gpt-6-luna",
|
|
225
|
+
hasImageOutput: true,
|
|
226
|
+
imageModel: "gpt-image-2",
|
|
227
|
+
imageWorkflow: "generate",
|
|
228
|
+
imageConfig: { enabled: true }
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
id: "01GPTIMG2EDT00000001R4R4H4",
|
|
232
|
+
group: "public",
|
|
233
|
+
name: "GPT Image 2 \u56FE\u7247\u7F16\u8F91\u5668",
|
|
234
|
+
provider: "nolo",
|
|
235
|
+
model: "gpt-6-luna",
|
|
236
|
+
hasImageOutput: true,
|
|
237
|
+
imageModel: "gpt-image-2",
|
|
238
|
+
imageWorkflow: "edit",
|
|
239
|
+
imageConfig: { enabled: true }
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
id: "01GPTIMG2CNT00000000USKZFO",
|
|
243
|
+
group: "public",
|
|
244
|
+
name: "GPT Image 2 \u8FDE\u7EED\u521B\u4F5C\u52A9\u624B",
|
|
245
|
+
provider: "nolo",
|
|
246
|
+
model: "gpt-6-luna",
|
|
247
|
+
hasImageOutput: true,
|
|
248
|
+
imageModel: "gpt-image-2",
|
|
249
|
+
imageWorkflow: "continuous",
|
|
250
|
+
imageConfig: { enabled: true }
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
id: "01NB2LITEGEN00000001XE1MNO",
|
|
254
|
+
group: "public",
|
|
255
|
+
name: "Nano Banana 2 Lite \u6587\u751F\u56FE",
|
|
256
|
+
provider: "nolo",
|
|
257
|
+
model: "gemini-3.1-flash-lite-image",
|
|
258
|
+
hasImageOutput: true
|
|
259
|
+
}
|
|
260
|
+
];
|
|
261
|
+
var CATALOG_BY_ID = new Map(BUILTIN_AGENT_CATALOG.map((e) => [e.id, e]));
|
|
262
|
+
function builtinAgentCatalogEntryById(id) {
|
|
263
|
+
if (!id) return void 0;
|
|
264
|
+
return CATALOG_BY_ID.get(id);
|
|
265
|
+
}
|
|
266
|
+
function builtinRuntimeFallbackEntries() {
|
|
267
|
+
return BUILTIN_AGENT_CATALOG.filter((e) => e.runtimeFallback === true);
|
|
268
|
+
}
|
|
269
|
+
function builtinPlatformEntries() {
|
|
270
|
+
return BUILTIN_AGENT_CATALOG.filter((e) => e.group === "builtin");
|
|
271
|
+
}
|
|
272
|
+
function isRetiredCatalogEntry(entry2) {
|
|
273
|
+
return entry2?.lifecycle === "retired";
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
// packages/core/builtinAgents.ts
|
|
277
|
+
var entry = (id) => {
|
|
278
|
+
const e = builtinAgentCatalogEntryById(id);
|
|
279
|
+
if (!e) throw new Error(`missing builtin agent catalog entry: ${id}`);
|
|
280
|
+
return e;
|
|
281
|
+
};
|
|
282
|
+
var BUILTIN_NOLO_AGENT_ID = entry("01NOLOAPPBLD000000019KCKT0").id;
|
|
283
|
+
var BUILTIN_NOLO_AGENT_KEY = publicAgentKey(BUILTIN_NOLO_AGENT_ID);
|
|
284
|
+
var BUILTIN_NOLO_AGENT_NAME = entry("01NOLOAPPBLD000000019KCKT0").name;
|
|
285
|
+
var BUILTIN_NOLO_AGENT_MODEL = entry("01NOLOAPPBLD000000019KCKT0").model;
|
|
286
|
+
var BUILTIN_APP_BUILDER_AGENT_ID = entry("01APPBUILDER00000001YAII3I").id;
|
|
287
|
+
var BUILTIN_APP_BUILDER_AGENT_KEY = publicAgentKey(BUILTIN_APP_BUILDER_AGENT_ID);
|
|
288
|
+
var BUILTIN_ECOMMERCE_AGENT_ID = entry("01ECOMMERCEAG00000001PYQ2J").id;
|
|
289
|
+
var BUILTIN_ECOMMERCE_AGENT_KEY = publicAgentKey(BUILTIN_ECOMMERCE_AGENT_ID);
|
|
290
|
+
var BUILTIN_AGENT_CREATOR_AGENT_ID = entry("01NOLOAGENTCRT000000000001").id;
|
|
291
|
+
var BUILTIN_AGENT_CREATOR_AGENT_KEY = publicAgentKey(BUILTIN_AGENT_CREATOR_AGENT_ID);
|
|
292
|
+
var BUILTIN_FEEDBACK_AGENT_ID = entry("01NOLOFEEDBACKA000000000R2").id;
|
|
293
|
+
var BUILTIN_FEEDBACK_AGENT_KEY = publicAgentKey(BUILTIN_FEEDBACK_AGENT_ID);
|
|
294
|
+
var BUILTIN_CHROME_OPERATOR_AGENT_ID = entry("01CHROMEOPR000000000001").id;
|
|
295
|
+
var BUILTIN_CHROME_OPERATOR_AGENT_KEY = publicAgentKey(BUILTIN_CHROME_OPERATOR_AGENT_ID);
|
|
296
|
+
var BUILTIN_PLATFORM_AGENT_KEYS = builtinPlatformEntries().map(
|
|
297
|
+
(e) => publicAgentKey(e.id)
|
|
298
|
+
);
|
|
299
|
+
var BUILTIN_PLATFORM_AGENT_KEY_SET = new Set(BUILTIN_PLATFORM_AGENT_KEYS);
|
|
300
|
+
var PUBLIC_DEEPSEEK_V4_FLASH_AGENT_ID = entry("01DSV4FLASHPB00000000JFPFD").id;
|
|
301
|
+
var PUBLIC_DEEPSEEK_V4_FLASH_AGENT_KEY = publicAgentKey(PUBLIC_DEEPSEEK_V4_FLASH_AGENT_ID);
|
|
302
|
+
var PUBLIC_DEEPSEEK_V4_PRO_AGENT_ID = entry("01DSV4PRONPB00000001VIR3EK").id;
|
|
303
|
+
var PUBLIC_DEEPSEEK_V4_PRO_AGENT_KEY = publicAgentKey(PUBLIC_DEEPSEEK_V4_PRO_AGENT_ID);
|
|
304
|
+
var PUBLIC_GLM_53_FLASH_AGENT_ID = entry("01GLMFLASHPB00000000BT20BC").id;
|
|
305
|
+
var PUBLIC_GLM_53_FLASH_AGENT_KEY = publicAgentKey(PUBLIC_GLM_53_FLASH_AGENT_ID);
|
|
306
|
+
var PUBLIC_KIMI_K26_IMAGE_AGENT_ID = entry("01KIMIK26OLLAMA0000000001").id;
|
|
307
|
+
var PUBLIC_KIMI_K26_IMAGE_AGENT_KEY = publicAgentKey(PUBLIC_KIMI_K26_IMAGE_AGENT_ID);
|
|
308
|
+
var PUBLIC_GPT_IMAGE_2_GENERATOR_AGENT_ID = entry("01GPTIMG2GEN00000000SSEBOS").id;
|
|
309
|
+
var PUBLIC_GPT_IMAGE_2_GENERATOR_AGENT_KEY = publicAgentKey(PUBLIC_GPT_IMAGE_2_GENERATOR_AGENT_ID);
|
|
310
|
+
var PUBLIC_GPT_IMAGE_2_EDITOR_AGENT_ID = entry("01GPTIMG2EDT00000001R4R4H4").id;
|
|
311
|
+
var PUBLIC_GPT_IMAGE_2_EDITOR_AGENT_KEY = publicAgentKey(PUBLIC_GPT_IMAGE_2_EDITOR_AGENT_ID);
|
|
312
|
+
var PUBLIC_GPT_IMAGE_2_CONTINUOUS_AGENT_ID = entry("01GPTIMG2CNT00000000USKZFO").id;
|
|
313
|
+
var PUBLIC_GPT_IMAGE_2_CONTINUOUS_AGENT_KEY = publicAgentKey(PUBLIC_GPT_IMAGE_2_CONTINUOUS_AGENT_ID);
|
|
314
|
+
var PUBLIC_NANO_BANANA_2_LITE_AGENT_ID = entry("01NB2LITEGEN00000001XE1MNO").id;
|
|
315
|
+
var PUBLIC_NANO_BANANA_2_LITE_AGENT_KEY = publicAgentKey(PUBLIC_NANO_BANANA_2_LITE_AGENT_ID);
|
|
316
|
+
var SYSTEM_BUILTIN_TRUSTED_AGENT_KEYS = [
|
|
317
|
+
PUBLIC_DEEPSEEK_V4_FLASH_AGENT_KEY,
|
|
318
|
+
PUBLIC_DEEPSEEK_V4_PRO_AGENT_KEY,
|
|
319
|
+
PUBLIC_GLM_53_FLASH_AGENT_KEY
|
|
320
|
+
];
|
|
321
|
+
var SYSTEM_BUILTIN_TRUSTED_AGENT_KEY_SET = new Set(
|
|
322
|
+
SYSTEM_BUILTIN_TRUSTED_AGENT_KEYS
|
|
323
|
+
);
|
|
324
|
+
var isSystemBuiltinTrustedAgentKey = (key) => typeof key === "string" && SYSTEM_BUILTIN_TRUSTED_AGENT_KEY_SET.has(key);
|
|
325
|
+
var isBuiltinPlatformAgentKey = (key) => typeof key === "string" && BUILTIN_PLATFORM_AGENT_KEY_SET.has(key);
|
|
326
|
+
|
|
327
|
+
export {
|
|
328
|
+
builtinAgentCatalogEntryById,
|
|
329
|
+
builtinRuntimeFallbackEntries,
|
|
330
|
+
isRetiredCatalogEntry,
|
|
331
|
+
BUILTIN_NOLO_AGENT_KEY,
|
|
332
|
+
BUILTIN_NOLO_AGENT_NAME,
|
|
333
|
+
BUILTIN_NOLO_AGENT_MODEL,
|
|
334
|
+
BUILTIN_PLATFORM_AGENT_KEYS,
|
|
335
|
+
PUBLIC_DEEPSEEK_V4_FLASH_AGENT_ID,
|
|
336
|
+
PUBLIC_DEEPSEEK_V4_PRO_AGENT_ID,
|
|
337
|
+
PUBLIC_GLM_53_FLASH_AGENT_ID,
|
|
338
|
+
PUBLIC_GPT_IMAGE_2_GENERATOR_AGENT_ID,
|
|
339
|
+
PUBLIC_GPT_IMAGE_2_EDITOR_AGENT_ID,
|
|
340
|
+
PUBLIC_GPT_IMAGE_2_CONTINUOUS_AGENT_ID,
|
|
341
|
+
PUBLIC_NANO_BANANA_2_LITE_AGENT_ID,
|
|
342
|
+
isSystemBuiltinTrustedAgentKey,
|
|
343
|
+
isBuiltinPlatformAgentKey
|
|
344
|
+
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
selectCurrentServer,
|
|
3
3
|
selectRemoteServers
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-AFUORTY4.js";
|
|
5
5
|
import {
|
|
6
6
|
createUserKey,
|
|
7
7
|
extractAgentInfo,
|
|
@@ -10,11 +10,11 @@ import {
|
|
|
10
10
|
sanitizeShareData,
|
|
11
11
|
shareKey,
|
|
12
12
|
toNonEmptyString
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-VMFTFOWF.js";
|
|
14
14
|
import {
|
|
15
15
|
noloDeleteRequest,
|
|
16
16
|
noloWriteRequest
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-UKWGR5SS.js";
|
|
18
18
|
import {
|
|
19
19
|
normalizeTimeFields
|
|
20
20
|
} from "./chunk-QOKAKDPE.js";
|
|
@@ -285,6 +285,27 @@ function saveProfileAgentSelection(selection, path = getDefaultProfileConfigPath
|
|
|
285
285
|
`, "utf8");
|
|
286
286
|
return config;
|
|
287
287
|
}
|
|
288
|
+
function getProfileOAuthSync(provider, path = getDefaultProfileConfigPath()) {
|
|
289
|
+
const config = loadProfileConfig(path);
|
|
290
|
+
if (!config) return void 0;
|
|
291
|
+
const profile = config.profiles[config.currentProfile];
|
|
292
|
+
return profile?.oauthSync?.[provider];
|
|
293
|
+
}
|
|
294
|
+
function saveProfileOAuthSync(provider, sync, path = getDefaultProfileConfigPath()) {
|
|
295
|
+
if (isProtectedHomeProfileWrite(path)) return null;
|
|
296
|
+
const config = loadProfileConfig(path);
|
|
297
|
+
if (!config) return null;
|
|
298
|
+
const profile = config.profiles[config.currentProfile];
|
|
299
|
+
if (!profile) return null;
|
|
300
|
+
profile.oauthSync = {
|
|
301
|
+
...profile.oauthSync ?? {},
|
|
302
|
+
[provider]: sync
|
|
303
|
+
};
|
|
304
|
+
mkdirSync(dirname(path), { recursive: true });
|
|
305
|
+
writeFileSync(path, `${JSON.stringify(config, null, 2)}
|
|
306
|
+
`, "utf8");
|
|
307
|
+
return config;
|
|
308
|
+
}
|
|
288
309
|
|
|
289
310
|
export {
|
|
290
311
|
getDefaultProfileConfigPath,
|
|
@@ -299,5 +320,7 @@ export {
|
|
|
299
320
|
saveProfileLocale,
|
|
300
321
|
getAgentSelectionAuditPath,
|
|
301
322
|
readLastAgentSelectionAudit,
|
|
302
|
-
saveProfileAgentSelection
|
|
323
|
+
saveProfileAgentSelection,
|
|
324
|
+
getProfileOAuthSync,
|
|
325
|
+
saveProfileOAuthSync
|
|
303
326
|
};
|
|
@@ -1,7 +1,13 @@
|
|
|
1
|
+
import {
|
|
2
|
+
buildSkillDocMarkdown
|
|
3
|
+
} from "./chunk-Q554LLSI.js";
|
|
1
4
|
import {
|
|
2
5
|
SYSTEM_AGENT_CAPABILITIES,
|
|
3
6
|
SYSTEM_AGENT_CAPABILITY_IDS
|
|
4
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-QDSINZM3.js";
|
|
8
|
+
import {
|
|
9
|
+
createKey
|
|
10
|
+
} from "./chunk-VMFTFOWF.js";
|
|
5
11
|
|
|
6
12
|
// packages/ai/tools/codeWorkDiscipline.ts
|
|
7
13
|
var CODE_WORK_DISCIPLINE_BODY = `## \u6548\u7387\u4F18\u5148\uFF08\u7701 token\uFF09
|
|
@@ -44,6 +50,9 @@ var TOOL_PACKS = {
|
|
|
44
50
|
// queryModelUsage / queryUserGrowthReport:server-only 工具(web/CLI executor
|
|
45
51
|
// 直接返回 serverOnlyResult),不随 CORE 常驻——server 端由 agent 显式
|
|
46
52
|
// tools 配置按需挂载(utilityServerTools 执行器),web 端不再挂死 schema。
|
|
53
|
+
// setTodoList 已移至「conversation-todo」系统能力包(defaultEnabled:true)
|
|
54
|
+
// 作为唯一 owner——single source of truth:普通 agent 默认仍有 setTodoList,
|
|
55
|
+
// 但关闭「对话 Todo」开关即可真正摘掉它(CORE 常驻时该开关形同虚设)。
|
|
47
56
|
CORE: [
|
|
48
57
|
"read",
|
|
49
58
|
"createDoc",
|
|
@@ -52,8 +61,7 @@ var TOOL_PACKS = {
|
|
|
52
61
|
"updateSelf",
|
|
53
62
|
"ask_user",
|
|
54
63
|
"createAgentAutomation",
|
|
55
|
-
"notifyUser"
|
|
56
|
-
"setTodoList"
|
|
64
|
+
"notifyUser"
|
|
57
65
|
],
|
|
58
66
|
// L2 - 联网搜索:与 CAPABILITY_PACKS「web-search」对齐。
|
|
59
67
|
// 社交读工具属于「social-reader」包,不得因 exa_search 被旁路注入。
|
|
@@ -73,9 +81,7 @@ var TOOL_PACKS = {
|
|
|
73
81
|
"launchProcess",
|
|
74
82
|
"listProcesses",
|
|
75
83
|
"taskWait",
|
|
76
|
-
"taskLogs",
|
|
77
84
|
"taskStop",
|
|
78
|
-
"tasks",
|
|
79
85
|
// watchCompletion:push 后登记「业务终态订阅」,部署结束时服务端唤醒父对话
|
|
80
86
|
// (等待期间 0 轮询 0 token)。与代码工作流同链路(push → CI → 通知),随
|
|
81
87
|
// 「代码执行」能力包走。
|
|
@@ -274,7 +280,10 @@ function resolveEffectiveEnabledPacks(args) {
|
|
|
274
280
|
];
|
|
275
281
|
}
|
|
276
282
|
var SYSTEM_BUILTIN_SKILL_PACK_IDS = SYSTEM_AGENT_CAPABILITY_IDS;
|
|
277
|
-
var DEFAULT_MOUNT_SYSTEM_CAPABILITY_IDS = [
|
|
283
|
+
var DEFAULT_MOUNT_SYSTEM_CAPABILITY_IDS = [
|
|
284
|
+
"agent-orchestration",
|
|
285
|
+
"conversation-todo"
|
|
286
|
+
];
|
|
278
287
|
function getDefaultSystemCapabilityTools() {
|
|
279
288
|
const ids = DEFAULT_MOUNT_SYSTEM_CAPABILITY_IDS;
|
|
280
289
|
return SYSTEM_AGENT_CAPABILITY_PACKS.filter((pack) => ids.includes(pack.id)).flatMap((pack) => [...pack.tools]);
|
|
@@ -367,6 +376,160 @@ function applyDefaultWebToolPacks(args) {
|
|
|
367
376
|
return [...enhanced];
|
|
368
377
|
}
|
|
369
378
|
|
|
379
|
+
// packages/ai/skills/builtinObjectSkills.ts
|
|
380
|
+
var BUILTIN_OBJECT_SKILL_IDS = {
|
|
381
|
+
table: "builtin-table-skill-v1",
|
|
382
|
+
doc: "builtin-doc-skill-v1",
|
|
383
|
+
// key 改名为 code-style(它本来就叫「编码风格技能」,"code" 这个名字是它抢的,
|
|
384
|
+
// 与「代码执行」能力包撞车)。**id 值保持不变**——skillId 与页面 key 都从它派生,
|
|
385
|
+
// 改了会让存量 agent.references 失配。
|
|
386
|
+
"code-style": "builtin-code-skill-v1",
|
|
387
|
+
image: "builtin-image-skill-v1",
|
|
388
|
+
file: "builtin-file-skill-v1",
|
|
389
|
+
pagebuilder: "builtin-pagebuilder-skill-v1"
|
|
390
|
+
};
|
|
391
|
+
var SKILL_DEFS = {
|
|
392
|
+
doc: {
|
|
393
|
+
id: BUILTIN_OBJECT_SKILL_IDS.doc,
|
|
394
|
+
name: "\u6587\u6863\u7F16\u8F91\u6280\u80FD",
|
|
395
|
+
description: "\u63D0\u4F9B\u6587\u6863\u8BFB\u53D6\u4E0E\u66F4\u65B0\u80FD\u529B\uFF0C\u4F9B\u6587\u6863\u52A9\u624B\u4F7F\u7528\u3002\u89E6\u53D1\u8BCD\uFF1A\u6587\u6863\u3001\u6DA6\u8272\u3001\u6539\u5199\u3001\u7EED\u5199\u3001\u6392\u7248\u3001\u6587\u7AE0\u3001document\u3001polish\u3002",
|
|
396
|
+
toolNames: ["readDoc", "updateDoc"],
|
|
397
|
+
promptPatch: [
|
|
398
|
+
"\u6587\u6863\u7F16\u8F91\u6307\u5357\uFF1A",
|
|
399
|
+
"1. \u4FEE\u6539\u524D\u5148 readDoc \u8BFB\u53D6\u5F53\u524D\u6587\u6863\u771F\u503C\uFF0C\u518D\u57FA\u4E8E\u73B0\u6709\u5185\u5BB9\u7528 updateDoc \u505A\u5B9A\u70B9\u589E\u91CF\u7F16\u8F91\u3002",
|
|
400
|
+
"2. \u4E0D\u8981\u8131\u79BB\u73B0\u6709\u5185\u5BB9\u7A7A\u60F3\u91CD\u5199\uFF1B\u6DA6\u8272/\u6539\u5199/\u7EED\u5199\u90FD\u5E94\u4FDD\u7559\u7528\u6237\u539F\u6709\u7684\u7ED3\u6784\u4E0E\u4E8B\u5B9E\u3002"
|
|
401
|
+
].join("\n")
|
|
402
|
+
},
|
|
403
|
+
table: {
|
|
404
|
+
id: BUILTIN_OBJECT_SKILL_IDS.table,
|
|
405
|
+
name: "\u8868\u683C\u7F16\u8F91\u6280\u80FD",
|
|
406
|
+
description: "\u63D0\u4F9B\u8868\u683C\u521B\u5EFA\u3001\u67E5\u8BE2\u3001\u65B0\u589E\u3001\u66F4\u65B0\u4E0E\u5220\u9664\u80FD\u529B\uFF0C\u4F9B\u8868\u683C\u52A9\u624B\u4F7F\u7528\u3002\u89E6\u53D1\u8BCD\uFF1A\u8868\u683C\u3001\u5EFA\u8868\u3001\u65B0\u589E\u4E00\u884C\u3001\u8BB0\u5F55\u3001\u5B57\u6BB5\u3001table\u3001spreadsheet\u3001csv\u3002",
|
|
407
|
+
// 与 app-builder 能力包共用同一份清单(TOOL_PACKS.TABLE)。
|
|
408
|
+
// 以前两边各抄一份,改一个忘另一个就会静默不同步。
|
|
409
|
+
toolNames: [...TOOL_PACKS.TABLE],
|
|
410
|
+
promptPatch: [
|
|
411
|
+
"\u8868\u683C\u64CD\u4F5C\u6307\u5357\uFF1A",
|
|
412
|
+
"1. \u7528\u6237\u8981\u65B0\u5EFA\u8868\u683C\u65F6\uFF0C\u8C03\u7528 createTable\uFF0C\u5E76\u4ECE\u9700\u6C42\u63A8\u65AD\u5408\u7406\u7684\u5B57\u6BB5\u8BBE\u8BA1\uFF08\u5B57\u6BB5\u540D\u3001\u7C7B\u578B\u3001\u5FC5\u586B\u3001\u53EF\u9009\u503C\uFF09\u3002",
|
|
413
|
+
"2. \u65B0\u589E\u8BB0\u5F55\u5FC5\u987B\u8C03\u7528 addTableRow / addTableRows\uFF0C\u4E0D\u8981\u53EA\u5728\u56DE\u7B54\u91CC\u53E3\u5934\u63CF\u8FF0\u3002",
|
|
414
|
+
"3. addTableRow \u7684 values \u662F\u5BF9\u8C61\uFF0Ckey \u5FC5\u987B\u7528\u5B57\u6BB5\u540D\uFF08name\uFF0C\u4E0D\u662F\u663E\u793A\u540D label\uFF09\uFF1B\u5C3D\u91CF\u4ECE\u7528\u6237\u81EA\u7136\u8BED\u8A00\u63A8\u65AD\u5E76\u586B\u6EE1\u76F8\u5173\u5B57\u6BB5\uFF0C\u5FC5\u586B\u5B57\u6BB5\u5C24\u5176\u6CE8\u610F\uFF1B\u7528\u6237\u6CA1\u63D0\u5230\u7684\u5B57\u6BB5\u53EF\u7528\u7A7A\u5B57\u7B26\u4E32\u6216 null \u5360\u4F4D\uFF1B\u7EDD\u4E0D\u8981\u4F20\u7A7A\u5BF9\u8C61 {}\u3002",
|
|
415
|
+
"4. \u66F4\u65B0\u6216\u5220\u9664\u524D\uFF0C\u5148\u7528 queryTableRows \u786E\u8BA4\u76EE\u6807\u884C\uFF0C\u5FC5\u8981\u65F6\u5411\u7528\u6237\u786E\u8BA4\u76EE\u6807\u884C/\u5B57\u6BB5\u3002"
|
|
416
|
+
].join("\n")
|
|
417
|
+
},
|
|
418
|
+
"code-style": {
|
|
419
|
+
id: BUILTIN_OBJECT_SKILL_IDS["code-style"],
|
|
420
|
+
name: "\u7F16\u7801\u98CE\u683C\u6280\u80FD",
|
|
421
|
+
description: "\u63D0\u4F9B\u7F16\u7801\u89C4\u8303\u4E0E\u98CE\u683C\u7EA6\u675F\uFF0C\u4F9B\u4EE3\u7801\u4EFB\u52A1\u4F7F\u7528\u3002\u89E6\u53D1\u8BCD\uFF1A\u4EE3\u7801\u3001\u7F16\u7801\u3001\u91CD\u6784\u3001\u4FEEbug\u3001code\u3001refactor\u3001bugfix\u3001coding-style\u3002",
|
|
422
|
+
toolNames: [],
|
|
423
|
+
promptPatch: [
|
|
424
|
+
"\u7F16\u7801\u98CE\u683C\u4E0E\u89C4\u8303\u6307\u5357\uFF1A",
|
|
425
|
+
"1. \u6587\u4EF6\u62C6\u5206\uFF1A\u4F18\u5148\u62C6\u5206\u4E3A\u591A\u6587\u4EF6\uFF08MANY SMALL FILES\uFF09\uFF0C\u5178\u578B\u957F\u5EA6 200-400 \u884C\uFF0C\u5355\u6587\u4EF6\u6700\u591A 800 \u884C\uFF08800 max\uFF09\u3002",
|
|
426
|
+
"2. \u51FD\u6570\u4E0E\u5D4C\u5957\uFF1A\u51FD\u6570\u4FDD\u6301\u77ED\u5C0F\uFF08<50 lines\uFF09\uFF0C\u4F18\u5148\u4F7F\u7528 early returns \u63D0\u524D\u8FD4\u56DE\uFF0C\u5D4C\u5957\u5C42\u7EA7\u4E0D\u8D85\u8FC7 4 \u5C42\uFF08nesting \u22644\uFF09\u3002",
|
|
427
|
+
"3. \u4E0D\u53EF\u53D8\u6027\uFF08immutability\uFF09\uFF1A\u4FDD\u6301\u6570\u636E\u4E0D\u53EF\u53D8\uFF0C\u4E0D\u8981\u539F\u5730 mutate \u73B0\u6709\u5BF9\u8C61\u6216\u6570\u7EC4\uFF0C\u5FC5\u987B\u8FD4\u56DE\u65B0\u5BF9\u8C61/\u6570\u7EC4\u3002",
|
|
428
|
+
"4. \u9519\u8BEF\u5904\u7406\u4E0E\u6821\u9A8C\uFF1A\u663E\u5F0F\u5904\u7406\u6240\u6709\u9519\u8BEF\uFF08explicit error handling\uFF09\uFF0C\u5728\u7CFB\u7EDF\u8FB9\u754C\u5B8C\u6210\u6821\u9A8C\uFF08validate at boundaries\uFF09\uFF0C\u4E0D\u9690\u5F0F\u541E\u9519\u3002",
|
|
429
|
+
"5. \u5B8C\u6210\u524D Checklist\uFF1A\u5B8C\u6210\u524D\u81EA\u67E5\u51FD\u6570/\u6587\u4EF6\u5C3A\u5BF8\u3001\u5D4C\u5957\u6DF1\u5EA6\u3001\u4E0D\u53EF\u53D8\u6027\u4E0E\u8FB9\u754C\u9519\u8BEF\u5904\u7406\u3002"
|
|
430
|
+
].join("\n")
|
|
431
|
+
},
|
|
432
|
+
image: {
|
|
433
|
+
id: BUILTIN_OBJECT_SKILL_IDS.image,
|
|
434
|
+
name: "\u56FE\u7247\u5206\u6790\u6280\u80FD",
|
|
435
|
+
description: "\u63D0\u4F9B\u56FE\u7247\u7406\u89E3\u3001\u63CF\u8FF0\u4E0E\u6574\u7406\u5EFA\u8BAE\u80FD\u529B\uFF0C\u4F9B\u56FE\u7247\u52A9\u624B\u4F7F\u7528\u3002\u89E6\u53D1\u8BCD\uFF1A\u56FE\u7247\u3001\u56FE\u50CF\u3001\u5206\u6790\u3001\u63CF\u8FF0\u3001\u547D\u540D\u3001\u6574\u7406\u3001image\u3001photo\u3001picture\u3002",
|
|
436
|
+
toolNames: [],
|
|
437
|
+
promptPatch: [
|
|
438
|
+
"\u56FE\u7247\u5206\u6790\u6307\u5357\uFF1A",
|
|
439
|
+
"1. \u5F53\u524D\u9636\u6BB5\u91CD\u70B9\u56F4\u7ED5\u5F53\u524D\u56FE\u7247\u505A\u7406\u89E3\u3001\u63CF\u8FF0\u3001\u63D0\u70BC\u91CD\u70B9\u3001\u7ED9\u51FA\u547D\u540D/\u6574\u7406\u5EFA\u8BAE\u548C\u540E\u7EED\u5904\u7406\u5EFA\u8BAE\u3002",
|
|
440
|
+
"2. \u4E0D\u8981\u5047\u88C5\u5DF2\u7ECF\u5177\u5907\u590D\u6742\u56FE\u7247\u7F16\u8F91\u80FD\u529B\uFF1B\u5982\u679C\u7528\u6237\u8981\u66F4\u5F3A\u64CD\u4F5C\uFF0C\u660E\u786E\u8BF4\u660E\u5F53\u524D\u53EF\u505A\u7684\u662F\u5206\u6790\u4E0E\u7EC4\u7EC7\u3002"
|
|
441
|
+
].join("\n")
|
|
442
|
+
},
|
|
443
|
+
file: {
|
|
444
|
+
id: BUILTIN_OBJECT_SKILL_IDS.file,
|
|
445
|
+
name: "\u6587\u4EF6\u5904\u7406\u6280\u80FD",
|
|
446
|
+
description: "\u63D0\u4F9B\u6587\u4EF6\u7406\u89E3\u3001\u6574\u7406\u4E0E\u5904\u7406\u5EFA\u8BAE\u80FD\u529B\uFF0C\u4F9B\u6587\u4EF6\u52A9\u624B\u4F7F\u7528\u3002\u89E6\u53D1\u8BCD\uFF1A\u6587\u4EF6\u3001\u89E3\u6790\u3001\u63D0\u53D6\u3001\u6574\u7406\u3001\u5904\u7406\u3001file\u3001document\u3001pdf\u3002",
|
|
447
|
+
toolNames: [],
|
|
448
|
+
promptPatch: [
|
|
449
|
+
"\u6587\u4EF6\u5904\u7406\u6307\u5357\uFF1A",
|
|
450
|
+
"1. \u5F53\u524D\u9636\u6BB5\u91CD\u70B9\u56F4\u7ED5\u5F53\u524D\u6587\u4EF6\u63D0\u4F9B\u7406\u89E3\u3001\u6574\u7406\u3001\u63D0\u53D6\u4E0E\u540E\u7EED\u5904\u7406\u5EFA\u8BAE\u3002",
|
|
451
|
+
"2. \u4E0D\u8981\u5047\u88C5\u5DF2\u7ECF\u5B8C\u6210\u6587\u4EF6\u5185\u5BB9\u89E3\u6790\uFF1B\u5FC5\u8981\u65F6\u660E\u786E\u544A\u8BC9\u7528\u6237\u5F53\u524D\u66F4\u591A\u662F\u5360\u4F4D\u578B\u5DE5\u4F5C\u6D41\u5165\u53E3\uFF0C\u7B49\u5F85\u540E\u7EED\u63A5\u5165\u66F4\u5B8C\u6574\u7684\u6587\u4EF6\u5904\u7406\u80FD\u529B\u3002"
|
|
452
|
+
].join("\n")
|
|
453
|
+
},
|
|
454
|
+
pagebuilder: {
|
|
455
|
+
id: BUILTIN_OBJECT_SKILL_IDS.pagebuilder,
|
|
456
|
+
name: "\u52A8\u6001\u4EA4\u4E92\u7EC4\u4EF6\u751F\u6210\u6280\u80FD",
|
|
457
|
+
description: "\u628A\u4E00\u53E5\u8BDD\u9700\u6C42\u53D8\u6210\u53EF\u770B\u7684\u4EA4\u4E92\u9875\u9762\u3001\u62A5\u544A\u3001\u770B\u677F\u3001\u4E3B\u9875\u3001\u6559\u7A0B\u3001\u5BF9\u6BD4\u9875\u6216\u8BA1\u5212\u9875\u3002\u4EFB\u4F55 agent \u5728\u9700\u8981\u8F93\u51FA\u53EF\u4EA4\u4E92\u53EF\u89C6\u5316\u6D88\u606F\u65F6\u6309\u9700\u52A0\u8F7D\u3002\u89E6\u53D1\u8BCD\uFF1A\u9875\u9762\u3001\u62A5\u8868\u3001\u770B\u677F\u3001\u65E5\u62A5\u3001\u5468\u62A5\u3001\u4E3B\u9875\u3001\u6559\u7A0B\u3001\u5BF9\u6BD4\u9875\u3001\u8BA1\u5212\u9875\u3001\u53EF\u89C6\u5316\u3001\u4EA4\u4E92\u9875\u9762\u3001\u4EEA\u8868\u76D8\u3001dashboard\u3001report\u3001page\u3001landing\u3002",
|
|
458
|
+
toolNames: [],
|
|
459
|
+
promptPatch: [
|
|
460
|
+
"\u52A8\u6001\u4EA4\u4E92\u7EC4\u4EF6\u751F\u6210\u89C4\u5219\uFF1A",
|
|
461
|
+
"\u4F60\u73B0\u5728\u7684\u4EFB\u52A1\u662F\u628A\u7528\u6237\u9700\u6C42\u53D8\u6210\u4E00\u4E2A\u53EF\u770B\u7684\u4EA4\u4E92\u9875\u9762/\u62A5\u544A/\u770B\u677F/\u4E3B\u9875/\u6559\u7A0B/\u5BF9\u6BD4\u9875/\u8BA1\u5212\u9875\u3002\u7528\u6237\u770B\u4E0D\u5230\u6E90\u7801\uFF0C\u53EA\u4F1A\u770B\u5230\u9875\u9762\u7ED3\u679C\u3002",
|
|
462
|
+
"",
|
|
463
|
+
"\u7EDD\u5BF9\u89C4\u5219\uFF1A",
|
|
464
|
+
"1. \u53EA\u8F93\u51FA\u4E00\u4E2A Markdown \u4EE3\u7801\u5757\uFF0C\u4EE3\u7801\u5757\u8BED\u8A00\u5FC5\u987B\u662F tsx preview\u3002",
|
|
465
|
+
"2. \u4EE3\u7801\u5757\u5916\u4E0D\u8981\u8F93\u51FA\u89E3\u91CA\u3001\u524D\u8A00\u3001\u7ED3\u5C3E\u3001\u6E05\u5355\u6216\u601D\u8003\u8FC7\u7A0B\u3002",
|
|
466
|
+
"3. \u4EE3\u7801\u5FC5\u987B\u5B9A\u4E49\u9876\u5C42 function Example()\uFF0C\u4E0D\u8981\u8C03\u7528 render()\uFF0C\u4E0D\u8981 export default\u3002",
|
|
467
|
+
"4. \u4E0D\u8981\u5199 import\u3002\u8FD0\u884C\u73AF\u5883\u5DF2\u7ECF\u63D0\u4F9B React\u3001useState\u3001useEffect\u3001useMemo\u3001useCallback\u3001useRef\u3001ReactECharts\u3001react-icons/lu \u7684\u56FE\u6807\u7EC4\u4EF6\u3002",
|
|
468
|
+
"5. \u6240\u6709\u4EA4\u4E92\u5FC5\u987B\u5728 Example \u5185\u7528 React state \u5B9E\u73B0\uFF0C\u6309\u94AE\u3001Tab\u3001FAQ\u3001\u6B65\u9AA4\u5207\u6362\u3001\u7B5B\u9009\u90FD\u8981\u771F\u7684\u53EF\u70B9\u51FB\u3002",
|
|
469
|
+
"6. \u4E3A\u4E3B\u8981\u533A\u5757\u52A0 data-artifact-section \u5C5E\u6027\u3002",
|
|
470
|
+
"7. \u751F\u6210\u7ED3\u679C\u4F18\u5148\u662F\u4E00\u9875\u5B8C\u6574\u53EF\u7528\u7684\u9875\u9762\uFF0C\u4E0D\u8981\u53EA\u505A\u5B64\u7ACB\u5361\u7247\u6216\u4E00\u4E2A\u56FE\u3002",
|
|
471
|
+
"8. \u5982\u679C\u7528\u6237\u6CA1\u6709\u7ED9\u5177\u4F53\u6570\u636E\uFF0C\u53EF\u4EE5\u751F\u6210\u5408\u7406\u7684\u793A\u4F8B\u6570\u636E\uFF0C\u4F46\u8981\u4FDD\u6301\u4E1A\u52A1\u53EF\u4FE1\u3002",
|
|
472
|
+
"",
|
|
473
|
+
"\u5404\u7C7B\u9875\u9762\u9ED8\u8BA4\u7ED3\u6784\uFF1A",
|
|
474
|
+
"- \u4FE1\u606F\u5C55\u793A\u7C7B\uFF08\u4E3B\u9875\u3001\u4EA7\u54C1\u4ECB\u7ECD\u3001\u670D\u52A1\u9875\u3001\u4F5C\u54C1\u96C6\u3001\u6D3B\u52A8\u9875\uFF09\uFF1A\u9996\u5C4F\u5B9A\u4F4D\u3001\u670D\u52A1/\u80FD\u529B\u5361\u7247\u3001\u4EE3\u8868\u6210\u679C\u5361\u7247\u3001\u53EF\u4FE1\u80CC\u4E66\u3001\u8054\u7CFB\u6216\u884C\u52A8\u6309\u94AE\u3002",
|
|
475
|
+
"- \u6570\u636E\u5206\u6790\u7C7B\uFF08\u65E5\u62A5\u3001\u5468\u62A5\u3001\u770B\u677F\u3001\u8D28\u68C0\u3001\u9500\u552E\u6F0F\u6597\u3001\u53CD\u9988\u5206\u6790\uFF09\uFF1A\u9876\u90E8\u6458\u8981\u3001\u6838\u5FC3\u6307\u6807\u3001\u8D8B\u52BF\u56FE\u3001\u660E\u7EC6\u8868\u683C\u6216\u5F02\u5E38\u5217\u8868\u3001\u4E0B\u4E00\u6B65\u5EFA\u8BAE\u3002",
|
|
476
|
+
"- \u6D41\u7A0B\u8BF4\u660E\u7C7B\uFF08\u6559\u7A0B\u3001SOP\u3001onboarding\u3001\u64CD\u4F5C\u6307\u5357\u3001\u8BFE\u7A0B\u6B65\u9AA4\uFF09\uFF1A\u5B66\u4E60\u76EE\u6807\u3001\u6B65\u9AA4\u5361\u7247\u3001\u793A\u4F8B/\u7EC3\u4E60\u3001\u68C0\u67E5\u6E05\u5355\u6216\u4E0B\u4E00\u6B65\u6309\u94AE\u3002",
|
|
477
|
+
"- \u51B3\u7B56\u6BD4\u8F83\u7C7B\uFF08\u65B9\u6848\u5BF9\u6BD4\u3001\u4EA7\u54C1\u9009\u578B\u3001\u7ADE\u54C1\u5206\u6790\u3001\u91C7\u8D2D\u5EFA\u8BAE\uFF09\uFF1A\u5BF9\u6BD4\u7EF4\u5EA6\u8868\u683C\u3001\u4F18\u7F3A\u70B9\u5361\u7247\u3001\u8BC4\u5206\u6216\u9002\u914D\u5EA6\u3001\u63A8\u8350\u7ED3\u8BBA\u3002",
|
|
478
|
+
"- \u8BA1\u5212\u6392\u5E03\u7C7B\uFF08\u9879\u76EE\u8BA1\u5212\u3001\u5B66\u4E60\u8BA1\u5212\u3001\u5185\u5BB9\u65E5\u5386\u3001\u53D1\u5E03\u8282\u594F\uFF09\uFF1A\u9636\u6BB5\u76EE\u6807\u3001\u4EFB\u52A1\u5217\u8868\u3001\u4F18\u5148\u7EA7\u3001\u91CC\u7A0B\u7891\u5361\u7247\u3001\u98CE\u9669\u63D0\u9192\u3002",
|
|
479
|
+
"- \u6DF7\u5408\u6C47\u62A5\u7C7B\uFF08\u878D\u8D44\u9875\u3001\u9879\u76EE\u6982\u89C8\u3001\u590D\u6742\u6C47\u62A5\uFF09\uFF1A\u81F3\u5C11\u5305\u542B MetricCard\u3001Chart\u3001Table \u548C Section\uFF0C\u4E0D\u8981\u53EA\u505A\u5355\u4E00\u5217\u8868\u3002",
|
|
480
|
+
"- \u6559\u7A0B/\u6B65\u9AA4/FAQ/Tab/\u7B5B\u9009/\u9875\u9762\u5185\u8DF3\u8F6C\u5FC5\u987B\u505A\u6210\u771F\u5B9E\u53EF\u70B9\u51FB\u4EA4\u4E92\u3002",
|
|
481
|
+
"",
|
|
482
|
+
"\u4EE3\u7801\u98CE\u683C\uFF1A",
|
|
483
|
+
"1. \u4F7F\u7528\u5185\u8054 style \u6216\u7EC4\u4EF6\u5185 <style>\uFF0C\u4E0D\u8981\u4F9D\u8D56 Tailwind \u6216\u5916\u90E8 CSS\u3002",
|
|
484
|
+
"2. \u9875\u9762\u5BBD\u5EA6\u3001\u95F4\u8DDD\u3001\u5B57\u53F7\u8981\u9002\u5408\u6D88\u606F\u5185\u9884\u89C8\uFF1B\u4E0D\u8981\u7528\u8FC7\u5927\u7684\u843D\u5730\u9875 hero\u3002",
|
|
485
|
+
"3. \u989C\u8272\u8981\u514B\u5236\uFF0C\u6709\u5C42\u6B21\uFF1B\u907F\u514D\u6574\u9875\u5355\u4E00\u84DD\u7D2B\u6E10\u53D8\u3002",
|
|
486
|
+
"4. \u8868\u683C\u3001\u56FE\u8868\u3001\u5361\u7247\u3001\u6309\u94AE\u90FD\u8981\u6709 hover/active/focus \u7684\u7EC6\u8282\u3002",
|
|
487
|
+
"5. \u5FC5\u8981\u65F6\u4F7F\u7528 ReactECharts \u753B\u56FE\uFF1B\u7B80\u5355\u67F1\u72B6\u56FE\u4E5F\u53EF\u4EE5\u7528 div \u5B9E\u73B0\uFF0C\u4FDD\u8BC1\u7A33\u5B9A\u3002",
|
|
488
|
+
"6. \u4EE3\u7801\u5C3D\u91CF\u77ED\u800C\u5B8C\u6574\uFF0C\u9ED8\u8BA4 150-260 \u884C\u4EE5\u5185\u3002",
|
|
489
|
+
"",
|
|
490
|
+
"\u8F93\u51FA\u683C\u5F0F\u793A\u4F8B\uFF1A",
|
|
491
|
+
"```tsx preview",
|
|
492
|
+
"function Example() {",
|
|
493
|
+
" const [tab, setTab] = useState('overview');",
|
|
494
|
+
" return <main><section data-artifact-section>...</section></main>;",
|
|
495
|
+
"}",
|
|
496
|
+
"```"
|
|
497
|
+
].join("\n")
|
|
498
|
+
}
|
|
499
|
+
};
|
|
500
|
+
function buildBuiltinObjectSkillConfig(kind) {
|
|
501
|
+
const def = SKILL_DEFS[kind];
|
|
502
|
+
return {
|
|
503
|
+
version: "0.1",
|
|
504
|
+
kind: "skill",
|
|
505
|
+
id: def.id,
|
|
506
|
+
name: def.name,
|
|
507
|
+
description: def.description,
|
|
508
|
+
triggerMode: "explicit",
|
|
509
|
+
toolNames: def.toolNames,
|
|
510
|
+
promptPatch: def.promptPatch
|
|
511
|
+
};
|
|
512
|
+
}
|
|
513
|
+
function buildBuiltinObjectSkillDbKey(kind, userId) {
|
|
514
|
+
return createKey("page" /* DOC */, userId, BUILTIN_OBJECT_SKILL_IDS[kind]);
|
|
515
|
+
}
|
|
516
|
+
function buildBuiltinObjectSkillReference(kind, userId) {
|
|
517
|
+
return {
|
|
518
|
+
dbKey: buildBuiltinObjectSkillDbKey(kind, userId),
|
|
519
|
+
title: SKILL_DEFS[kind].name,
|
|
520
|
+
type: "instruction"
|
|
521
|
+
};
|
|
522
|
+
}
|
|
523
|
+
function buildBuiltinObjectSkillPageContent(kind) {
|
|
524
|
+
const def = SKILL_DEFS[kind];
|
|
525
|
+
return buildSkillDocMarkdown({
|
|
526
|
+
body: `# ${def.name}
|
|
527
|
+
|
|
528
|
+
${def.description}`,
|
|
529
|
+
skillConfig: buildBuiltinObjectSkillConfig(kind)
|
|
530
|
+
});
|
|
531
|
+
}
|
|
532
|
+
|
|
370
533
|
export {
|
|
371
534
|
buildCodeWorkDiscipline,
|
|
372
535
|
TOOL_PACKS,
|
|
@@ -380,5 +543,10 @@ export {
|
|
|
380
543
|
FORCED_TOOLS,
|
|
381
544
|
applyDisabledTools,
|
|
382
545
|
addDefaultLightWebToolsForConfiguredAgents,
|
|
383
|
-
applyDefaultWebToolPacks
|
|
546
|
+
applyDefaultWebToolPacks,
|
|
547
|
+
BUILTIN_OBJECT_SKILL_IDS,
|
|
548
|
+
buildBuiltinObjectSkillConfig,
|
|
549
|
+
buildBuiltinObjectSkillDbKey,
|
|
550
|
+
buildBuiltinObjectSkillReference,
|
|
551
|
+
buildBuiltinObjectSkillPageContent
|
|
384
552
|
};
|