diagnostics-metrics-cls-onboard-cli 1.0.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.
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/dist/index.js ADDED
@@ -0,0 +1,260 @@
1
+ #!/usr/bin/env node
2
+ import { Command } from "commander";
3
+ import inquirer from "inquirer";
4
+ import { execSync } from "node:child_process";
5
+ import fs from "node:fs/promises";
6
+ import os from "node:os";
7
+ import path from "node:path";
8
+ // 插件 ID 与 npm 包名
9
+ const PLUGIN_NAME = "diagnostics-metrics-cls";
10
+ const PACKAGE_PATH = "diagnostics-metrics-cls";
11
+ // 本地插件目录(相对于本文件所在位置向上三级,即 metric_trace/openclaw/extensions/diagnostics-metrics-cls)
12
+ // dist/index.js -> dist/ -> diagnostics-metrics-cls-onboard-cli/ -> metric_trace/
13
+ // 也可通过环境变量 DIAGNOSTICS_METRICS_PLUGIN_PATH 覆盖
14
+ const DEFAULT_PLUGIN_PATH = path.resolve(new URL(import.meta.url).pathname, "../../../openclaw/extensions/diagnostics-metrics-cls");
15
+ function getPluginPath() {
16
+ return process.env.DIAGNOSTICS_METRICS_PLUGIN_PATH || DEFAULT_PLUGIN_PATH;
17
+ }
18
+ function getOpenClawDir() {
19
+ return process.env.OPENCLAW_STATE_DIR || path.join(os.homedir(), ".openclaw");
20
+ }
21
+ function getConfigPath() {
22
+ return path.join(getOpenClawDir(), "openclaw.json");
23
+ }
24
+ function getExtensionsDir() {
25
+ return path.join(getOpenClawDir(), "extensions");
26
+ }
27
+ async function readConfig() {
28
+ try {
29
+ const raw = await fs.readFile(getConfigPath(), "utf8");
30
+ return JSON.parse(raw);
31
+ }
32
+ catch (error) {
33
+ const err = error;
34
+ if (err.code === "ENOENT") {
35
+ return {};
36
+ }
37
+ throw error;
38
+ }
39
+ }
40
+ async function writeConfig(config) {
41
+ const configPath = getConfigPath();
42
+ await fs.mkdir(path.dirname(configPath), { recursive: true });
43
+ await fs.writeFile(configPath, JSON.stringify(config, null, 2), "utf8");
44
+ }
45
+ function getPlatformCommand(command) {
46
+ if (process.platform === "win32" && (command === "openclaw" || command === "npm")) {
47
+ return `${command}.cmd`;
48
+ }
49
+ return command;
50
+ }
51
+ function runCommand(command) {
52
+ execSync(command, { stdio: "inherit" });
53
+ }
54
+ function runCommandQuiet(command) {
55
+ return execSync(command, { encoding: "utf8" }).trim();
56
+ }
57
+ async function collectPluginConfig() {
58
+ const config = await readConfig();
59
+ const plugins = config.plugins;
60
+ const entries = plugins?.entries;
61
+ const existingEntry = entries?.[PLUGIN_NAME];
62
+ const existingConfig = existingEntry?.config || {};
63
+ const existingTopicId = typeof existingConfig.topicId === "string" ? existingConfig.topicId : "";
64
+ const existingSecretId = typeof existingConfig.secretId === "string" ? existingConfig.secretId : "";
65
+ const existingSecretKey = typeof existingConfig.secretKey === "string" ? existingConfig.secretKey : "";
66
+ const existingEndpoint = typeof existingConfig.endpoint === "string" ? existingConfig.endpoint : "";
67
+ const existingSource = typeof existingConfig.source === "string" ? existingConfig.source : "";
68
+ const answers = await inquirer.prompt([
69
+ {
70
+ name: "topicId",
71
+ type: "input",
72
+ message: "请输入腾讯云 CLS 日志主题 ID (topicId):",
73
+ default: existingTopicId || undefined,
74
+ validate: (input) => {
75
+ if (input && input.trim())
76
+ return true;
77
+ if (existingTopicId)
78
+ return true;
79
+ return "CLS 日志主题 ID 不能为空";
80
+ },
81
+ },
82
+ {
83
+ name: "secretId",
84
+ type: "input",
85
+ message: "请输入腾讯云 SecretId:",
86
+ default: existingSecretId || undefined,
87
+ validate: (input) => {
88
+ if (input && input.trim())
89
+ return true;
90
+ if (existingSecretId)
91
+ return true;
92
+ return "SecretId 不能为空";
93
+ },
94
+ },
95
+ {
96
+ name: "secretKey",
97
+ type: "password",
98
+ message: "请输入腾讯云 SecretKey:",
99
+ mask: "*",
100
+ validate: (input) => {
101
+ if (input && input.trim())
102
+ return true;
103
+ if (existingSecretKey)
104
+ return true;
105
+ return "SecretKey 不能为空";
106
+ },
107
+ },
108
+ {
109
+ name: "endpoint",
110
+ type: "input",
111
+ message: "请输入 CLS 接入点(例如 ap-guangzhou.cls.tencentcs.com):",
112
+ default: existingEndpoint || "ap-guangzhou.cls.tencentcs.com",
113
+ validate: (input) => {
114
+ if (input && input.trim())
115
+ return true;
116
+ return "CLS 接入点不能为空";
117
+ },
118
+ },
119
+ {
120
+ name: "source",
121
+ type: "input",
122
+ message: "请输入日志来源标识(可选,默认 openclaw):",
123
+ default: existingSource || "openclaw",
124
+ },
125
+ ]);
126
+ const topicId = String(answers.topicId || existingTopicId || "").trim();
127
+ const secretId = String(answers.secretId || existingSecretId || "").trim();
128
+ const secretKey = String(answers.secretKey || existingSecretKey || "").trim();
129
+ const endpoint = String(answers.endpoint || existingEndpoint || "").trim();
130
+ const source = String(answers.source || existingSource || "openclaw").trim();
131
+ if (!topicId || !secretId || !secretKey || !endpoint) {
132
+ throw new Error("CLS 配置信息不完整,topicId / secretId / secretKey / endpoint 均为必填项");
133
+ }
134
+ return { topicId, secretId, secretKey, endpoint, source };
135
+ }
136
+ async function updateOpenClawConfig(clsConfig) {
137
+ const config = await readConfig();
138
+ if (!config.plugins)
139
+ config.plugins = {};
140
+ const plugins = config.plugins;
141
+ if (!plugins.allow)
142
+ plugins.allow = [];
143
+ const allow = plugins.allow;
144
+ if (!allow.includes(PLUGIN_NAME)) {
145
+ allow.push(PLUGIN_NAME);
146
+ }
147
+ if (!plugins.entries)
148
+ plugins.entries = {};
149
+ const entries = plugins.entries;
150
+ if (!entries[PLUGIN_NAME]) {
151
+ entries[PLUGIN_NAME] = { enabled: true };
152
+ }
153
+ const entry = entries[PLUGIN_NAME];
154
+ entry.enabled = true;
155
+ const existing = (entry.config && typeof entry.config === "object" ? entry.config : {});
156
+ entry.config = {
157
+ ...existing,
158
+ cls: {
159
+ topicId: clsConfig.topicId,
160
+ secretId: clsConfig.secretId,
161
+ secretKey: clsConfig.secretKey,
162
+ endpoint: clsConfig.endpoint,
163
+ source: clsConfig.source,
164
+ },
165
+ };
166
+ await writeConfig(config);
167
+ }
168
+ async function clearPluginConfig() {
169
+ const config = await readConfig();
170
+ if (!config.plugins)
171
+ return;
172
+ const plugins = config.plugins;
173
+ if (plugins.entries) {
174
+ const entries = plugins.entries;
175
+ if (entries[PLUGIN_NAME]) {
176
+ delete entries[PLUGIN_NAME];
177
+ }
178
+ }
179
+ if (plugins.allow) {
180
+ plugins.allow = plugins.allow.filter((name) => name !== PLUGIN_NAME);
181
+ }
182
+ await writeConfig(config);
183
+ }
184
+ async function clearInstalledPlugin() {
185
+ const config = await readConfig();
186
+ const installs = config.installs;
187
+ const installEntry = installs?.[PLUGIN_NAME];
188
+ const installPath = installEntry?.installPath;
189
+ if (installPath) {
190
+ await fs.rm(installPath, { recursive: true, force: true });
191
+ return;
192
+ }
193
+ const fallbackPath = path.join(getExtensionsDir(), PLUGIN_NAME);
194
+ await fs.rm(fallbackPath, { recursive: true, force: true });
195
+ }
196
+ async function installPlugin() {
197
+ const openclawCmd = getPlatformCommand("openclaw");
198
+ try {
199
+ runCommandQuiet(`${openclawCmd} --version`);
200
+ }
201
+ catch {
202
+ throw new Error("未检测到 OpenClaw CLI,请先安装 openclaw");
203
+ }
204
+ // 优先使用本地路径(--link 模式),若不存在则降级为 npm 安装
205
+ const pluginPath = getPluginPath();
206
+ let localExists = false;
207
+ try {
208
+ await fs.access(pluginPath);
209
+ localExists = true;
210
+ }
211
+ catch {
212
+ // 本地路径不存在,将使用 npm 安装
213
+ }
214
+ if (localExists) {
215
+ runCommand(`${openclawCmd} plugins install --link "${pluginPath}"`);
216
+ }
217
+ else {
218
+ // 新安装环境:没有本地源码,从 npm registry 安装发布的包
219
+ runCommand(`${openclawCmd} plugins install ${PACKAGE_PATH}`);
220
+ }
221
+ }
222
+ async function restartGateway() {
223
+ const openclawCmd = getPlatformCommand("openclaw");
224
+ try {
225
+ runCommand(`${openclawCmd} gateway restart`);
226
+ }
227
+ catch {
228
+ console.log("网关重启失败,可稍后手动执行 openclaw gateway restart");
229
+ }
230
+ }
231
+ async function handleInstall() {
232
+ const clsConfig = await collectPluginConfig();
233
+ await clearPluginConfig();
234
+ await clearInstalledPlugin();
235
+ await installPlugin();
236
+ await updateOpenClawConfig(clsConfig);
237
+ await restartGateway();
238
+ console.log(`\n✅ 安装完成,${PLUGIN_NAME} 已启用`);
239
+ console.log(` CLS 接入点: ${clsConfig.endpoint}`);
240
+ console.log(` 日志主题 ID: ${clsConfig.topicId}`);
241
+ console.log(`\n运行以下命令验证插件状态:`);
242
+ console.log(` openclaw plugins list`);
243
+ }
244
+ const program = new Command();
245
+ program.name("diagnostics-metrics-cls-onboard-cli").version("1.0.0");
246
+ program
247
+ .command("install", { isDefault: true })
248
+ .description("一键安装 diagnostics-metrics-cls 插件(Prometheus 指标 + 腾讯云 CLS 日志/Trace 上传)")
249
+ .action(async () => {
250
+ try {
251
+ await handleInstall();
252
+ }
253
+ catch (error) {
254
+ const message = error instanceof Error ? error.message : String(error);
255
+ console.error(`\n❌ 安装失败: ${message}`);
256
+ process.exit(1);
257
+ }
258
+ });
259
+ program.parse(process.argv);
260
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,29 @@
1
+ {
2
+ "name": "diagnostics-metrics-cls-onboard-cli",
3
+ "version": "1.0.1",
4
+ "description": "一键安装 diagnostics-metrics-cls 插件(Prometheus 指标 + 腾讯云 CLS 日志/Trace 上传)",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "files": [
8
+ "dist"
9
+ ],
10
+ "bin": {
11
+ "diagnostics-metrics-cls-onboard-cli": "./dist/index.js"
12
+ },
13
+ "scripts": {
14
+ "build": "tsc && chmod +x dist/index.js",
15
+ "dev": "tsc --watch",
16
+ "clean": "rm -rf dist",
17
+ "prepublishOnly": "npm run build"
18
+ },
19
+ "license": "MIT",
20
+ "devDependencies": {
21
+ "@types/inquirer": "^9.0.9",
22
+ "@types/node": "^20.0.0",
23
+ "typescript": "^5.0.0"
24
+ },
25
+ "dependencies": {
26
+ "commander": "^14.0.3",
27
+ "inquirer": "^8.2.7"
28
+ }
29
+ }