@jingyi0605/codingns 0.6.1 → 0.6.5
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/bin/codingns.mjs +225 -0
- package/dist/public/assets/AdaptiveButlerPage-CfsUVZKl.js +3 -0
- package/dist/public/assets/{App-Dsf3ooXU.js → App-B9HcTkMT.js} +3 -3
- package/dist/public/assets/{BootstrapPage-CE0m1qSR.js → BootstrapPage-BgLdZEKQ.js} +1 -1
- package/dist/public/assets/ConversationPage-Cj8go7L0.js +4 -0
- package/dist/public/assets/{DesktopDetachPreviewPage-Dxarr_Wf.js → DesktopDetachPreviewPage-YCBnyC58.js} +1 -1
- package/dist/public/assets/{DesktopWindowPage-VytPwJ4c.js → DesktopWindowPage-CrvndE23.js} +1 -1
- package/dist/public/assets/{FileContextPanel-DwFzLsOp.js → FileContextPanel-CdC7GGw5.js} +1 -1
- package/dist/public/assets/{GitSidebar-CH6WqTrM.js → GitSidebar-z2SBinQh.js} +1 -1
- package/dist/public/assets/{MobileCreateSessionSheet-DcxKM00P.js → MobileCreateSessionSheet-Cb2HM-y3.js} +1 -1
- package/dist/public/assets/{MobileTopHeaderFrame-C5rIKQT6.js → MobileTopHeaderFrame-etF2HKlm.js} +1 -1
- package/dist/public/assets/{MobileWorkspaceSwitcherHeader-CfUnHgv_.js → MobileWorkspaceSwitcherHeader-CuGJ31kb.js} +1 -1
- package/dist/public/assets/{RelayConnectEntryPage-CgMvVZwa.js → RelayConnectEntryPage-BB6DbGtP.js} +1 -1
- package/dist/public/assets/{ServerSettingsModal-CFul__z1.js → ServerSettingsModal-Bl1sacZg.js} +1 -1
- package/dist/public/assets/{SessionIndexPage-B-tRhBXC.js → SessionIndexPage-NbF9gJnp.js} +1 -1
- package/dist/public/assets/SettingsPage-DGsmQpLv.js +1 -0
- package/dist/public/assets/{TerminalManagerPanel-BbORd-ee.js → TerminalManagerPanel-BOm8Hi_v.js} +1 -1
- package/dist/public/assets/{TerminalPage-DWHv6mlu.js → TerminalPage-B5JNFU6w.js} +19 -19
- package/dist/public/assets/{TerminalRuntimeFallbackModal-B29YxbQe.js → TerminalRuntimeFallbackModal-CM3LRKOJ.js} +1 -1
- package/dist/public/assets/{ToolFilesPage-Dx9cv9hu.js → ToolFilesPage-GSqKQsj_.js} +1 -1
- package/dist/public/assets/{ToolGitPage-D7H3vAia.js → ToolGitPage-BVFWMMQp.js} +1 -1
- package/dist/public/assets/{ToolProcessesPage-PqQWxsy-.js → ToolProcessesPage-DZ456fYz.js} +1 -1
- package/dist/public/assets/{ToolsHomePage-CX05Pe_4.js → ToolsHomePage-DsJp0y8A.js} +1 -1
- package/dist/public/assets/{WorkbenchLandingPage-CchkAC75.js → WorkbenchLandingPage-DyPei0e-.js} +1 -1
- package/dist/public/assets/WorkbenchLayout-DlbgBT3n.js +4 -0
- package/dist/public/assets/WorkbenchModal-LNfB69qx.js +1 -0
- package/dist/public/assets/WorkbenchShellRoute-BsxumYx5.js +1 -0
- package/dist/public/assets/{WorkbenchShellRoute-RGZpA0_J.css → WorkbenchShellRoute-DhQo_0vu.css} +1 -1
- package/dist/public/assets/{WorkspaceDebugDetailPage-Deqy2_pO.js → WorkspaceDebugDetailPage-CaXj5zVI.js} +1 -1
- package/dist/public/assets/{WorkspaceDetailPage-Cvf-ZdlB.js → WorkspaceDetailPage-DOexuuaw.js} +1 -1
- package/dist/public/assets/{WorkspaceHomePage-Dsyvqyk1.js → WorkspaceHomePage-DkCHNjKD.js} +1 -1
- package/dist/public/assets/{client-runtime-manager-DROQJ9v3.js → client-runtime-manager-6OoYHXGd.js} +1 -1
- package/dist/public/assets/{file-tree-icon-Bp3Ntt7u.js → file-tree-icon-9pt1OStn.js} +1 -1
- package/dist/public/assets/index-BwlbvwaA.css +1 -0
- package/dist/public/assets/index-DSw-TkQL.js +42 -0
- package/dist/public/assets/{login-direct-candidate-resolver-DotM530R.js → login-direct-candidate-resolver-CLlYtBRq.js} +1 -1
- package/dist/public/assets/model-switch-api-C-l8-E1S.js +1 -0
- package/dist/public/assets/{preferences-service-BG6GKG29.js → preferences-service-BCcfYP_d.js} +1 -1
- package/dist/public/assets/{relay-entry-pmr-c42O.js → relay-entry-BmLkMKuq.js} +1 -1
- package/dist/public/assets/session-runtime-machine-DgtvREca.js +21 -0
- package/dist/public/assets/{terminal-runtime-meta-8_uRZf7h.js → terminal-runtime-meta-0h-75uRy.js} +1 -1
- package/dist/public/assets/{useRegisteredDebugTemplates-DWX7LXQu.js → useRegisteredDebugTemplates-rBVmAqh3.js} +1 -1
- package/dist/public/index.html +2 -2
- package/dist/server/modules/assistant-capability/assistant-capability-service.d.ts +4 -1
- package/dist/server/modules/assistant-capability/assistant-capability-service.js +12 -1
- package/dist/server/modules/assistant-capability/assistant-capability-service.js.map +1 -1
- package/dist/server/modules/butler/butler-control-session-service.d.ts +4 -1
- package/dist/server/modules/butler/butler-control-session-service.js +17 -1
- package/dist/server/modules/butler/butler-control-session-service.js.map +1 -1
- package/dist/server/modules/butler/butler-profile-service.d.ts +3 -1
- package/dist/server/modules/butler/butler-profile-service.js +16 -4
- package/dist/server/modules/butler/butler-profile-service.js.map +1 -1
- package/dist/server/modules/opencli/opencli-bridge-skill-service.d.ts +12 -0
- package/dist/server/modules/opencli/opencli-bridge-skill-service.js +124 -0
- package/dist/server/modules/opencli/opencli-bridge-skill-service.js.map +1 -0
- package/dist/server/modules/opencli/opencli-catalog-service.d.ts +50 -0
- package/dist/server/modules/opencli/opencli-catalog-service.js +345 -0
- package/dist/server/modules/opencli/opencli-catalog-service.js.map +1 -0
- package/dist/server/modules/opencli/opencli-controller.d.ts +13 -0
- package/dist/server/modules/opencli/opencli-controller.js +30 -0
- package/dist/server/modules/opencli/opencli-controller.js.map +1 -0
- package/dist/server/modules/opencli/opencli-health-service.d.ts +28 -0
- package/dist/server/modules/opencli/opencli-health-service.js +106 -0
- package/dist/server/modules/opencli/opencli-health-service.js.map +1 -0
- package/dist/server/modules/opencli/opencli-install-discovery.d.ts +23 -0
- package/dist/server/modules/opencli/opencli-install-discovery.js +130 -0
- package/dist/server/modules/opencli/opencli-install-discovery.js.map +1 -0
- package/dist/server/modules/opencli/opencli-management-service.d.ts +59 -0
- package/dist/server/modules/opencli/opencli-management-service.js +152 -0
- package/dist/server/modules/opencli/opencli-management-service.js.map +1 -0
- package/dist/server/modules/opencli/opencli-runtime-builder.d.ts +11 -0
- package/dist/server/modules/opencli/opencli-runtime-builder.js +214 -0
- package/dist/server/modules/opencli/opencli-runtime-builder.js.map +1 -0
- package/dist/server/modules/opencli/opencli-runtime-layout.d.ts +3 -0
- package/dist/server/modules/opencli/opencli-runtime-layout.js +11 -0
- package/dist/server/modules/opencli/opencli-runtime-layout.js.map +1 -0
- package/dist/server/modules/opencli/opencli-runtime-profile-service.d.ts +29 -0
- package/dist/server/modules/opencli/opencli-runtime-profile-service.js +104 -0
- package/dist/server/modules/opencli/opencli-runtime-profile-service.js.map +1 -0
- package/dist/server/modules/opencli/opencli-runtime-resolver.d.ts +29 -0
- package/dist/server/modules/opencli/opencli-runtime-resolver.js +110 -0
- package/dist/server/modules/opencli/opencli-runtime-resolver.js.map +1 -0
- package/dist/server/modules/opencli/opencli-session-prompt-service.d.ts +11 -0
- package/dist/server/modules/opencli/opencli-session-prompt-service.js +66 -0
- package/dist/server/modules/opencli/opencli-session-prompt-service.js.map +1 -0
- package/dist/server/modules/provider/provider-catalog-service.d.ts +46 -0
- package/dist/server/modules/provider/provider-catalog-service.js +249 -0
- package/dist/server/modules/provider/provider-catalog-service.js.map +1 -0
- package/dist/server/modules/provider/provider-controller.d.ts +15 -2
- package/dist/server/modules/provider/provider-controller.js +44 -6
- package/dist/server/modules/provider/provider-controller.js.map +1 -1
- package/dist/server/modules/provider/provider-disabled.d.ts +8 -0
- package/dist/server/modules/provider/provider-disabled.js +45 -0
- package/dist/server/modules/provider/provider-disabled.js.map +1 -0
- package/dist/server/modules/provider/provider-discovery-helper-client.d.ts +1 -0
- package/dist/server/modules/provider/provider-discovery-helper-client.js.map +1 -1
- package/dist/server/modules/provider/provider-discovery-helper-process.js +3 -3
- package/dist/server/modules/provider/provider-discovery-helper-process.js.map +1 -1
- package/dist/server/modules/provider/provider-discovery-runtime.d.ts +1 -1
- package/dist/server/modules/provider/provider-discovery-runtime.js +12 -8
- package/dist/server/modules/provider/provider-discovery-runtime.js.map +1 -1
- package/dist/server/modules/sessions/claude-compatible-provider-registry.d.ts +16 -0
- package/dist/server/modules/sessions/claude-compatible-provider-registry.js +91 -0
- package/dist/server/modules/sessions/claude-compatible-provider-registry.js.map +1 -0
- package/dist/server/modules/sessions/session-history-service.d.ts +7 -1
- package/dist/server/modules/sessions/session-history-service.js +49 -16
- package/dist/server/modules/sessions/session-history-service.js.map +1 -1
- package/dist/server/modules/sessions/session-live-runtime-router-service.js +9 -4
- package/dist/server/modules/sessions/session-live-runtime-router-service.js.map +1 -1
- package/dist/server/modules/sessions/session-live-runtime-service.d.ts +8 -4
- package/dist/server/modules/sessions/session-live-runtime-service.js +100 -87
- package/dist/server/modules/sessions/session-live-runtime-service.js.map +1 -1
- package/dist/server/modules/sessions/session-permission-request-service.d.ts +5 -2
- package/dist/server/modules/sessions/session-permission-request-service.js +26 -27
- package/dist/server/modules/sessions/session-permission-request-service.js.map +1 -1
- package/dist/server/modules/sessions/session-provider-config-service.d.ts +17 -1
- package/dist/server/modules/sessions/session-provider-config-service.js +121 -17
- package/dist/server/modules/sessions/session-provider-config-service.js.map +1 -1
- package/dist/server/modules/skills/skill-manager-service.d.ts +5 -0
- package/dist/server/modules/skills/skill-manager-service.js +26 -0
- package/dist/server/modules/skills/skill-manager-service.js.map +1 -1
- package/dist/server/modules/tasks/task-helper-process-handlers.d.ts +1 -0
- package/dist/server/modules/tasks/task-helper-process-handlers.js +1 -1
- package/dist/server/modules/tasks/task-helper-process-handlers.js.map +1 -1
- package/dist/server/routes/opencli.d.ts +3 -0
- package/dist/server/routes/opencli.js +7 -0
- package/dist/server/routes/opencli.js.map +1 -0
- package/dist/server/routes/providers.js +4 -2
- package/dist/server/routes/providers.js.map +1 -1
- package/dist/server/server/create-server.d.ts +8 -0
- package/dist/server/server/create-server.js +44 -11
- package/dist/server/server/create-server.js.map +1 -1
- package/dist/server/storage/repositories/opencli-catalog-entry-repository.d.ts +9 -0
- package/dist/server/storage/repositories/opencli-catalog-entry-repository.js +85 -0
- package/dist/server/storage/repositories/opencli-catalog-entry-repository.js.map +1 -0
- package/dist/server/storage/repositories/opencli-provider-repository.d.ts +8 -0
- package/dist/server/storage/repositories/opencli-provider-repository.js +88 -0
- package/dist/server/storage/repositories/opencli-provider-repository.js.map +1 -0
- package/dist/server/storage/repositories/opencli-runtime-profile-repository.d.ts +11 -0
- package/dist/server/storage/repositories/opencli-runtime-profile-repository.js +127 -0
- package/dist/server/storage/repositories/opencli-runtime-profile-repository.js.map +1 -0
- package/dist/server/storage/repositories/provider-control-repository.d.ts +9 -0
- package/dist/server/storage/repositories/provider-control-repository.js +51 -0
- package/dist/server/storage/repositories/provider-control-repository.js.map +1 -0
- package/dist/server/storage/sqlite/client.js +53 -0
- package/dist/server/storage/sqlite/client.js.map +1 -1
- package/dist/server/storage/sqlite/schema.sql +66 -0
- package/dist/server/types/domain.d.ts +50 -0
- package/node_modules/@codingns/session-sync-core/dist/runtime/legna-runtime.d.ts +5 -0
- package/node_modules/@codingns/session-sync-core/dist/runtime/legna-runtime.js +1 -1
- package/node_modules/@codingns/session-sync-core/dist/runtime/legna-runtime.js.map +1 -1
- package/package.json +1 -1
- package/dist/public/assets/AdaptiveButlerPage-Dw72U3hG.js +0 -3
- package/dist/public/assets/ConversationPage-8wOY7SX-.js +0 -4
- package/dist/public/assets/SettingsPage-C9LGxSQZ.js +0 -1
- package/dist/public/assets/WorkbenchLayout-pOZvEqp7.js +0 -3
- package/dist/public/assets/WorkbenchModal-ColqvV6a.js +0 -1
- package/dist/public/assets/WorkbenchShellRoute-C0_h4lP6.js +0 -1
- package/dist/public/assets/index-B84Po2NA.css +0 -1
- package/dist/public/assets/index-C-0oeG_5.js +0 -42
- package/dist/public/assets/model-switch-api-Bh9nYslz.js +0 -1
- package/dist/public/assets/session-runtime-machine-YN84QBlr.js +0 -21
package/bin/codingns.mjs
CHANGED
|
@@ -37,6 +37,9 @@ switch (command) {
|
|
|
37
37
|
case "skills":
|
|
38
38
|
await runSkillsCommand(argv);
|
|
39
39
|
break;
|
|
40
|
+
case "opencli":
|
|
41
|
+
await runOpenCliCommand(argv);
|
|
42
|
+
break;
|
|
40
43
|
default:
|
|
41
44
|
console.error(`[codingns] 不支持的命令:${command}`);
|
|
42
45
|
printHelp(1);
|
|
@@ -1011,6 +1014,64 @@ async function runSkillsCommand(argv) {
|
|
|
1011
1014
|
}
|
|
1012
1015
|
}
|
|
1013
1016
|
|
|
1017
|
+
async function runOpenCliCommand(argv) {
|
|
1018
|
+
const [action, ...rest] = argv;
|
|
1019
|
+
|
|
1020
|
+
if (!action || action === "help" || action === "--help" || action === "-h") {
|
|
1021
|
+
printOpenCliHelpTopic(buildOpenCliHelpTopic(rest[0]), 0);
|
|
1022
|
+
}
|
|
1023
|
+
|
|
1024
|
+
if (rest.length > 0 && isHelpToken(rest[0])) {
|
|
1025
|
+
printOpenCliHelpTopic(buildOpenCliHelpTopic(action), 0);
|
|
1026
|
+
}
|
|
1027
|
+
|
|
1028
|
+
switch (action) {
|
|
1029
|
+
case "overview":
|
|
1030
|
+
await printAssistantResponse(await requestOpenCli({
|
|
1031
|
+
method: "GET",
|
|
1032
|
+
path: "/api/opencli/overview",
|
|
1033
|
+
argv: rest,
|
|
1034
|
+
helpTopic: "opencli.overview"
|
|
1035
|
+
}));
|
|
1036
|
+
return;
|
|
1037
|
+
case "catalog":
|
|
1038
|
+
await printAssistantResponse(await requestOpenCli({
|
|
1039
|
+
method: "GET",
|
|
1040
|
+
path: "/api/opencli/catalog",
|
|
1041
|
+
argv: rest,
|
|
1042
|
+
helpTopic: "opencli.catalog"
|
|
1043
|
+
}));
|
|
1044
|
+
return;
|
|
1045
|
+
case "check":
|
|
1046
|
+
await printAssistantResponse(await requestOpenCli({
|
|
1047
|
+
method: "POST",
|
|
1048
|
+
path: "/api/opencli/check",
|
|
1049
|
+
argv: rest,
|
|
1050
|
+
helpTopic: "opencli.check"
|
|
1051
|
+
}));
|
|
1052
|
+
return;
|
|
1053
|
+
case "config":
|
|
1054
|
+
await printAssistantResponse(await requestOpenCli({
|
|
1055
|
+
method: "POST",
|
|
1056
|
+
path: "/api/opencli/config",
|
|
1057
|
+
argv: rest,
|
|
1058
|
+
supportedOptions: ["enabled", "command-id"],
|
|
1059
|
+
repeatableOptions: ["command-id"],
|
|
1060
|
+
helpTopic: "opencli.config"
|
|
1061
|
+
}, (options) => ({
|
|
1062
|
+
enabled: parseBooleanOption(
|
|
1063
|
+
requireOptionValue(options.values.enabled, "enabled"),
|
|
1064
|
+
"enabled"
|
|
1065
|
+
),
|
|
1066
|
+
enabledCommandIds: readMultiOptionValues(options.values["command-id"])
|
|
1067
|
+
})));
|
|
1068
|
+
return;
|
|
1069
|
+
default:
|
|
1070
|
+
console.error(`[codingns] 不支持的 opencli 子命令:${action}`);
|
|
1071
|
+
printOpenCliHelpTopic("opencli", 1);
|
|
1072
|
+
}
|
|
1073
|
+
}
|
|
1074
|
+
|
|
1014
1075
|
async function runProviderSessionsCommand(argv) {
|
|
1015
1076
|
const [action, ...rest] = argv;
|
|
1016
1077
|
|
|
@@ -1176,6 +1237,7 @@ async function requestAssistant(command, buildPayload) {
|
|
|
1176
1237
|
headers: {
|
|
1177
1238
|
Authorization: `Bearer ${accessToken}`,
|
|
1178
1239
|
[ASSISTANT_REQUEST_SOURCE_HEADER]: ASSISTANT_CLI_REQUEST_SOURCE,
|
|
1240
|
+
Connection: "close",
|
|
1179
1241
|
...(usesJsonBody ? { "Content-Type": "application/json" } : {})
|
|
1180
1242
|
},
|
|
1181
1243
|
body: usesJsonBody ? JSON.stringify(payload ?? {}) : undefined
|
|
@@ -1250,6 +1312,7 @@ async function requestSkills(command, buildPayload) {
|
|
|
1250
1312
|
method: command.method,
|
|
1251
1313
|
headers: {
|
|
1252
1314
|
Authorization: `Bearer ${accessToken}`,
|
|
1315
|
+
Connection: "close",
|
|
1253
1316
|
...(command.method === "POST" ? { "Content-Type": "application/json" } : {})
|
|
1254
1317
|
},
|
|
1255
1318
|
body: command.method === "POST" ? JSON.stringify(payload ?? {}) : undefined
|
|
@@ -1283,6 +1346,81 @@ async function requestSkills(command, buildPayload) {
|
|
|
1283
1346
|
return responseBody ?? rawBody;
|
|
1284
1347
|
}
|
|
1285
1348
|
|
|
1349
|
+
async function requestOpenCli(command, buildPayload) {
|
|
1350
|
+
const options = parseArgs(command.argv, {
|
|
1351
|
+
supportedOptions: [
|
|
1352
|
+
"base-url",
|
|
1353
|
+
"token",
|
|
1354
|
+
...(command.supportedOptions ?? [])
|
|
1355
|
+
],
|
|
1356
|
+
repeatableOptions: command.repeatableOptions ?? []
|
|
1357
|
+
});
|
|
1358
|
+
|
|
1359
|
+
if (options.help) {
|
|
1360
|
+
printOpenCliHelpTopic(command.helpTopic ?? "opencli", 0);
|
|
1361
|
+
}
|
|
1362
|
+
|
|
1363
|
+
if (options.errors.length > 0) {
|
|
1364
|
+
for (const error of options.errors) {
|
|
1365
|
+
console.error(`[codingns] ${error}`);
|
|
1366
|
+
}
|
|
1367
|
+
printOpenCliHelpTopic(command.helpTopic ?? "opencli", 1);
|
|
1368
|
+
}
|
|
1369
|
+
|
|
1370
|
+
const baseUrl = resolveAssistantBaseUrl(options.values["base-url"]);
|
|
1371
|
+
const accessToken = resolveAssistantAccessToken(options.values.token);
|
|
1372
|
+
const url = new URL(command.path, appendTrailingSlash(baseUrl));
|
|
1373
|
+
const payload = buildPayload ? buildPayload(options) : null;
|
|
1374
|
+
|
|
1375
|
+
if (command.method === "GET" && payload) {
|
|
1376
|
+
for (const [key, value] of Object.entries(payload)) {
|
|
1377
|
+
if (typeof value === "string" && value.length > 0) {
|
|
1378
|
+
url.searchParams.set(key, value);
|
|
1379
|
+
}
|
|
1380
|
+
}
|
|
1381
|
+
}
|
|
1382
|
+
|
|
1383
|
+
let response;
|
|
1384
|
+
|
|
1385
|
+
try {
|
|
1386
|
+
response = await fetch(url, {
|
|
1387
|
+
method: command.method,
|
|
1388
|
+
headers: {
|
|
1389
|
+
Authorization: `Bearer ${accessToken}`,
|
|
1390
|
+
Connection: "close",
|
|
1391
|
+
...(command.method === "POST" ? { "Content-Type": "application/json" } : {})
|
|
1392
|
+
},
|
|
1393
|
+
body: command.method === "POST" ? JSON.stringify(payload ?? {}) : undefined
|
|
1394
|
+
});
|
|
1395
|
+
} catch (error) {
|
|
1396
|
+
const message = error instanceof Error ? error.message : "未知网络错误";
|
|
1397
|
+
console.error(JSON.stringify({
|
|
1398
|
+
ok: false,
|
|
1399
|
+
detail: `OpenCLI 管理请求失败:${message}`,
|
|
1400
|
+
target: url.toString()
|
|
1401
|
+
}, null, 2));
|
|
1402
|
+
process.exit(1);
|
|
1403
|
+
}
|
|
1404
|
+
|
|
1405
|
+
const rawBody = await response.text();
|
|
1406
|
+
const responseBody = tryParseJson(rawBody);
|
|
1407
|
+
|
|
1408
|
+
if (!response.ok) {
|
|
1409
|
+
const detail = typeof responseBody?.detail === "string"
|
|
1410
|
+
? responseBody.detail
|
|
1411
|
+
: `HTTP ${response.status}`;
|
|
1412
|
+
console.error(JSON.stringify({
|
|
1413
|
+
ok: false,
|
|
1414
|
+
status: response.status,
|
|
1415
|
+
detail,
|
|
1416
|
+
body: responseBody ?? rawBody
|
|
1417
|
+
}, null, 2));
|
|
1418
|
+
process.exit(1);
|
|
1419
|
+
}
|
|
1420
|
+
|
|
1421
|
+
return responseBody ?? rawBody;
|
|
1422
|
+
}
|
|
1423
|
+
|
|
1286
1424
|
async function printAssistantResponse(payload) {
|
|
1287
1425
|
if (typeof payload === "string") {
|
|
1288
1426
|
console.log(payload);
|
|
@@ -1662,6 +1800,7 @@ codingns 用法:
|
|
|
1662
1800
|
codingns assistant <group> <action> [options]
|
|
1663
1801
|
codingns provider-sessions <action> [options]
|
|
1664
1802
|
codingns skills <action> [options]
|
|
1803
|
+
codingns opencli <action> [options]
|
|
1665
1804
|
|
|
1666
1805
|
说明:
|
|
1667
1806
|
|
|
@@ -1690,6 +1829,12 @@ skills 例子:
|
|
|
1690
1829
|
codingns skills add --source ./my-skill --target codex --token <token>
|
|
1691
1830
|
codingns skills sync <skillId> --target gemini --token <token>
|
|
1692
1831
|
|
|
1832
|
+
opencli 例子:
|
|
1833
|
+
|
|
1834
|
+
codingns opencli overview --token <token>
|
|
1835
|
+
codingns opencli check --token <token>
|
|
1836
|
+
codingns opencli config --enabled true --command-id hackernews/top --token <token>
|
|
1837
|
+
|
|
1693
1838
|
provider-sessions 例子:
|
|
1694
1839
|
|
|
1695
1840
|
codingns provider-sessions delete --provider codex --provider-session-id <id> --raw-store-ref <ref>
|
|
@@ -1728,6 +1873,18 @@ function printSkillsHelpTopic(topic, exitCode) {
|
|
|
1728
1873
|
process.exit(exitCode);
|
|
1729
1874
|
}
|
|
1730
1875
|
|
|
1876
|
+
function printOpenCliHelpTopic(topic, exitCode) {
|
|
1877
|
+
const output = getOpenCliHelpText(topic);
|
|
1878
|
+
|
|
1879
|
+
if (exitCode === 0) {
|
|
1880
|
+
console.log(output);
|
|
1881
|
+
} else {
|
|
1882
|
+
console.error(output);
|
|
1883
|
+
}
|
|
1884
|
+
|
|
1885
|
+
process.exit(exitCode);
|
|
1886
|
+
}
|
|
1887
|
+
|
|
1731
1888
|
function printProviderSessionsHelpTopic(topic, exitCode) {
|
|
1732
1889
|
const output = getProviderSessionsHelpText(topic);
|
|
1733
1890
|
|
|
@@ -2572,6 +2729,66 @@ codingns assistant 用法:
|
|
|
2572
2729
|
}
|
|
2573
2730
|
}
|
|
2574
2731
|
|
|
2732
|
+
function getOpenCliHelpText(topic) {
|
|
2733
|
+
switch (topic) {
|
|
2734
|
+
case "opencli.overview":
|
|
2735
|
+
return `
|
|
2736
|
+
codingns opencli overview
|
|
2737
|
+
|
|
2738
|
+
用途:
|
|
2739
|
+
查看 OpenCLI provider 的当前状态、目录统计和当前生效运行时。
|
|
2740
|
+
|
|
2741
|
+
用法:
|
|
2742
|
+
codingns opencli overview --token <token>
|
|
2743
|
+
`.trim();
|
|
2744
|
+
case "opencli.catalog":
|
|
2745
|
+
return `
|
|
2746
|
+
codingns opencli catalog
|
|
2747
|
+
|
|
2748
|
+
用途:
|
|
2749
|
+
查看完整 OpenCLI 目录,包括站点分组和每条命令的启用状态。
|
|
2750
|
+
|
|
2751
|
+
用法:
|
|
2752
|
+
codingns opencli catalog --token <token>
|
|
2753
|
+
`.trim();
|
|
2754
|
+
case "opencli.check":
|
|
2755
|
+
return `
|
|
2756
|
+
codingns opencli check
|
|
2757
|
+
|
|
2758
|
+
用途:
|
|
2759
|
+
重新检查 OpenCLI 安装、健康状态和目录缓存。
|
|
2760
|
+
|
|
2761
|
+
用法:
|
|
2762
|
+
codingns opencli check --token <token>
|
|
2763
|
+
`.trim();
|
|
2764
|
+
case "opencli.config":
|
|
2765
|
+
return `
|
|
2766
|
+
codingns opencli config
|
|
2767
|
+
|
|
2768
|
+
用途:
|
|
2769
|
+
保存 OpenCLI 总开关和启用命令列表,并触发裁剪运行时重建。
|
|
2770
|
+
|
|
2771
|
+
用法:
|
|
2772
|
+
codingns opencli config --enabled true|false [--command-id <site/name>] [--command-id <site/name>] --token <token>
|
|
2773
|
+
`.trim();
|
|
2774
|
+
default:
|
|
2775
|
+
return `
|
|
2776
|
+
codingns opencli 用法:
|
|
2777
|
+
|
|
2778
|
+
codingns opencli overview --token <token>
|
|
2779
|
+
codingns opencli catalog --token <token>
|
|
2780
|
+
codingns opencli check --token <token>
|
|
2781
|
+
codingns opencli config --enabled true|false [--command-id <site/name>] [--command-id <site/name>] --token <token>
|
|
2782
|
+
|
|
2783
|
+
环境变量:
|
|
2784
|
+
|
|
2785
|
+
CODINGNS_BASE_URL 默认 Host 地址,未传时默认 http://127.0.0.1:3002
|
|
2786
|
+
CODINGNS_ACCESS_TOKEN 默认 Bearer token
|
|
2787
|
+
CODINGNS_AUTH_FILE 可选认证文件,支持读取 apiBaseUrl/accessToken
|
|
2788
|
+
`.trim();
|
|
2789
|
+
}
|
|
2790
|
+
}
|
|
2791
|
+
|
|
2575
2792
|
function getProviderSessionsHelpText(topic) {
|
|
2576
2793
|
switch (topic) {
|
|
2577
2794
|
case "provider-sessions.delete":
|
|
@@ -2825,6 +3042,14 @@ function buildSkillsHelpTopic(action) {
|
|
|
2825
3042
|
return `skills.${action}`;
|
|
2826
3043
|
}
|
|
2827
3044
|
|
|
3045
|
+
function buildOpenCliHelpTopic(action) {
|
|
3046
|
+
if (!action || action === "--help" || action === "-h") {
|
|
3047
|
+
return "opencli";
|
|
3048
|
+
}
|
|
3049
|
+
|
|
3050
|
+
return `opencli.${action}`;
|
|
3051
|
+
}
|
|
3052
|
+
|
|
2828
3053
|
function buildProviderSessionsHelpTopic(action) {
|
|
2829
3054
|
if (!action || action === "--help" || action === "-h") {
|
|
2830
3055
|
return "provider-sessions";
|