cc2im 0.2.0 → 0.2.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/dist/cli.js +23 -16
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -47,20 +47,18 @@ function loadAgentsJson() {
|
|
|
47
47
|
function ensureDefaultConfig() {
|
|
48
48
|
ensureSocketDir();
|
|
49
49
|
if (!existsSync(AGENTS_JSON_PATH)) {
|
|
50
|
-
const defaultConfig = {
|
|
51
|
-
defaultAgent: 'brain',
|
|
52
|
-
agents: {
|
|
53
|
-
brain: {
|
|
54
|
-
name: 'brain',
|
|
55
|
-
cwd: join(homedir(), 'brain'),
|
|
56
|
-
claudeArgs: ['--effort', 'max'],
|
|
57
|
-
createdAt: new Date().toISOString().split('T')[0],
|
|
58
|
-
autoStart: true,
|
|
59
|
-
},
|
|
60
|
-
},
|
|
61
|
-
};
|
|
50
|
+
const defaultConfig = { defaultAgent: '', agents: {} };
|
|
62
51
|
writeFileSync(AGENTS_JSON_PATH, JSON.stringify(defaultConfig, null, 2) + '\n');
|
|
63
|
-
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
function checkAgentsExist() {
|
|
55
|
+
const config = loadAgentsJson();
|
|
56
|
+
if (!config || Object.keys(config.agents).length === 0) {
|
|
57
|
+
console.log(`\n No agents registered yet. Quick setup:\n`);
|
|
58
|
+
console.log(` 1. cc2im login # WeChat QR login`);
|
|
59
|
+
console.log(` 2. cc2im agent register <name> <dir> # e.g. cc2im agent register mybot ~/projects/mybot`);
|
|
60
|
+
console.log(` 3. cc2im start # start hub + agents\n`);
|
|
61
|
+
process.exit(1);
|
|
64
62
|
}
|
|
65
63
|
}
|
|
66
64
|
// --- Commands ---
|
|
@@ -118,11 +116,13 @@ async function login() {
|
|
|
118
116
|
}
|
|
119
117
|
async function runHub() {
|
|
120
118
|
ensureDefaultConfig();
|
|
119
|
+
checkAgentsExist();
|
|
121
120
|
const { startHub } = await import('./hub/index.js');
|
|
122
121
|
await startHub({ autoStartAgents: false });
|
|
123
122
|
}
|
|
124
123
|
async function runStart() {
|
|
125
124
|
ensureDefaultConfig();
|
|
125
|
+
checkAgentsExist();
|
|
126
126
|
console.log('[cc2im] Starting hub + auto-start agents...');
|
|
127
127
|
const { startHub } = await import('./hub/index.js');
|
|
128
128
|
await startHub({ autoStartAgents: true });
|
|
@@ -167,15 +167,22 @@ function agentRegister(name, cwd) {
|
|
|
167
167
|
console.error(`Directory "${cwd}" does not exist`);
|
|
168
168
|
process.exit(1);
|
|
169
169
|
}
|
|
170
|
+
const isFirst = Object.keys(config.agents).length === 0;
|
|
170
171
|
config.agents[name] = {
|
|
171
172
|
name,
|
|
172
173
|
cwd,
|
|
173
174
|
claudeArgs: [],
|
|
174
175
|
createdAt: new Date().toISOString().split('T')[0],
|
|
175
|
-
autoStart:
|
|
176
|
+
autoStart: isFirst,
|
|
176
177
|
};
|
|
178
|
+
if (isFirst || !config.defaultAgent) {
|
|
179
|
+
config.defaultAgent = name;
|
|
180
|
+
}
|
|
177
181
|
writeFileSync(AGENTS_JSON_PATH, JSON.stringify(config, null, 2) + '\n');
|
|
178
182
|
console.log(`[cc2im] Registered agent "${name}" → ${cwd}`);
|
|
183
|
+
if (isFirst) {
|
|
184
|
+
console.log(`[cc2im] Set as default agent (autoStart: true)`);
|
|
185
|
+
}
|
|
179
186
|
}
|
|
180
187
|
function agentDeregister(name) {
|
|
181
188
|
ensureDefaultConfig();
|
|
@@ -214,7 +221,7 @@ const arg = process.argv[4];
|
|
|
214
221
|
switch (command) {
|
|
215
222
|
case '--version':
|
|
216
223
|
case '-v':
|
|
217
|
-
console.log('cc2im v0.
|
|
224
|
+
console.log('cc2im v0.2.0');
|
|
218
225
|
break;
|
|
219
226
|
case 'login':
|
|
220
227
|
await login();
|
|
@@ -294,7 +301,7 @@ switch (command) {
|
|
|
294
301
|
case '--help':
|
|
295
302
|
case '-h':
|
|
296
303
|
default:
|
|
297
|
-
console.log(`cc2im v0.
|
|
304
|
+
console.log(`cc2im v0.2.0 — IM gateway for multiple Claude Code instances
|
|
298
305
|
|
|
299
306
|
Usage:
|
|
300
307
|
cc2im login 微信扫码登录
|