imtoagent 0.2.2 → 0.2.3
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/{imtoagent → imtoagent-real} +9 -12
- package/bin/imtoagent.cjs +39 -0
- package/package.json +6 -3
|
@@ -45,7 +45,13 @@ switch (command) {
|
|
|
45
45
|
case 'help':
|
|
46
46
|
case '--help':
|
|
47
47
|
case '-h':
|
|
48
|
-
|
|
48
|
+
// 无命令 + 无配置 → 自动引导进入 setup
|
|
49
|
+
if (!command && !fs.existsSync(path.join(getDataDir(), 'config.json'))) {
|
|
50
|
+
console.log('⚠️ 未检测到配置文件,请先完成初始配置\n');
|
|
51
|
+
await cmdSetup();
|
|
52
|
+
} else {
|
|
53
|
+
printHelp();
|
|
54
|
+
}
|
|
49
55
|
break;
|
|
50
56
|
default:
|
|
51
57
|
console.error(`❌ 未知命令: ${command}`);
|
|
@@ -57,30 +63,21 @@ switch (command) {
|
|
|
57
63
|
// Help
|
|
58
64
|
// ================================================================
|
|
59
65
|
function printHelp() {
|
|
60
|
-
const dataDir = getDataDir();
|
|
61
|
-
const hasConfig = fs.existsSync(path.join(dataDir, 'config.json'));
|
|
62
|
-
|
|
63
66
|
console.log(`
|
|
64
67
|
imtoagent — IM ↔ Agent 统一网关
|
|
65
68
|
|
|
66
69
|
用法:
|
|
67
|
-
imtoagent setup
|
|
70
|
+
imtoagent setup 交互式配置向导
|
|
68
71
|
imtoagent start 后台启动网关
|
|
69
72
|
imtoagent stop 停止网关
|
|
70
73
|
imtoagent status 查看运行状态
|
|
71
74
|
imtoagent restore 热重载恢复
|
|
72
75
|
imtoagent daemon 前台守护模式(自动重启 + 日志,适合 launchd/systemd 托管)
|
|
73
76
|
|
|
74
|
-
数据目录: ${
|
|
77
|
+
数据目录: ${getDataDir()}
|
|
75
78
|
`);
|
|
76
|
-
|
|
77
|
-
if (!hasConfig) {
|
|
78
|
-
console.log('💡 首次使用,请先运行: imtoagent setup');
|
|
79
|
-
console.log();
|
|
80
|
-
}
|
|
81
79
|
}
|
|
82
80
|
|
|
83
|
-
|
|
84
81
|
// ================================================================
|
|
85
82
|
// setup — 交互式向导
|
|
86
83
|
// ================================================================
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// imtoagent CLI wrapper — finds bun and delegates
|
|
3
|
+
"use strict";
|
|
4
|
+
var path = require("path");
|
|
5
|
+
var fs = require("fs");
|
|
6
|
+
var spawnSync = require("child_process").spawnSync;
|
|
7
|
+
|
|
8
|
+
var candidates = [
|
|
9
|
+
process.env.BUN_BIN,
|
|
10
|
+
path.join(process.env.HOME || "", ".bun", "bin", "bun"),
|
|
11
|
+
"/usr/local/bin/bun",
|
|
12
|
+
"/opt/homebrew/bin/bun",
|
|
13
|
+
];
|
|
14
|
+
try {
|
|
15
|
+
var r = spawnSync("which", ["bun"]);
|
|
16
|
+
if (r.status === 0) candidates.unshift(r.stdout.toString().trim());
|
|
17
|
+
} catch (e) {}
|
|
18
|
+
|
|
19
|
+
var bunPath = null;
|
|
20
|
+
for (var i = 0; i < candidates.length; i++) {
|
|
21
|
+
if (candidates[i] && fs.existsSync(candidates[i])) {
|
|
22
|
+
bunPath = candidates[i];
|
|
23
|
+
break;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
if (!bunPath) {
|
|
28
|
+
console.error("❌ bun 未找到,请先安装: https://bun.sh");
|
|
29
|
+
console.error(" curl -fsSL https://bun.sh/install | bash");
|
|
30
|
+
process.exit(1);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
var pkgDir = path.resolve(__dirname, "..");
|
|
34
|
+
var real = path.join(pkgDir, "bin", "imtoagent-real");
|
|
35
|
+
var result = spawnSync(bunPath, [real].concat(process.argv.slice(2)), {
|
|
36
|
+
stdio: "inherit",
|
|
37
|
+
env: Object.assign({}, process.env),
|
|
38
|
+
});
|
|
39
|
+
process.exit(result.status || 0);
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "imtoagent",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.3",
|
|
4
4
|
"description": "IM ↔ Agent 统一网关 — 飞书/Telegram/微信/企业微信对接 Claude Code/Codex/OpenCode",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
|
-
"imtoagent": "./bin/imtoagent"
|
|
7
|
+
"imtoagent": "./bin/imtoagent.cjs"
|
|
8
8
|
},
|
|
9
9
|
"files": [
|
|
10
10
|
"index.ts",
|
|
@@ -12,7 +12,10 @@
|
|
|
12
12
|
"bin/",
|
|
13
13
|
"templates/",
|
|
14
14
|
"scripts/",
|
|
15
|
-
"README.md"
|
|
15
|
+
"README.md",
|
|
16
|
+
"bin/imtoagent.ts",
|
|
17
|
+
"bin/imtoagent.cjs",
|
|
18
|
+
"bin/imtoagent-real"
|
|
16
19
|
],
|
|
17
20
|
"scripts": {
|
|
18
21
|
"postinstall": "node scripts/postinstall.cjs",
|