multi-model-flow 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.
@@ -3,7 +3,9 @@
3
3
  "allow": [
4
4
  "Bash(npx tsc:*)",
5
5
  "Bash(npm run:*)",
6
- "Bash(npm publish:*)"
6
+ "Bash(npm publish:*)",
7
+ "Bash(npm view:*)",
8
+ "Bash(node dist/cli.js --help)"
7
9
  ]
8
10
  }
9
11
  }
package/dist/cli.js CHANGED
@@ -1,10 +1,17 @@
1
1
  #!/usr/bin/env node
2
2
  import { createInterface } from "node:readline";
3
- import { existsSync, readFileSync, writeFileSync, mkdirSync, readdirSync } from "node:fs";
3
+ import { existsSync, readFileSync, writeFileSync, mkdirSync, readdirSync, rmSync } from "node:fs";
4
4
  import path from "node:path";
5
5
  import { fileURLToPath } from "node:url";
6
6
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
7
7
  const PKG_ROOT = path.resolve(__dirname, "..");
8
+ const HOME = process.env.HOME || process.env.USERPROFILE || "";
9
+ const CLAUDE_DIR = path.join(HOME, ".claude");
10
+ const MCP_PATH = path.join(HOME, ".claude.json");
11
+ const CLAUDE_MD_PATH = path.join(CLAUDE_DIR, "CLAUDE.md");
12
+ const MMF_COMMANDS = ["mmf-analyze.md", "mmf-codex.md", "mmf-gemini.md", "mmf-review.md", "mmf-workflow.md"];
13
+ const MMF_SKILLS = ["codex-task", "gemini-task", "multi-model-task"];
14
+ const MCP_SERVER_KEY = "diy-workflow";
8
15
  // ============================================================
9
16
  // Readline helpers
10
17
  // ============================================================
@@ -30,9 +37,24 @@ async function askOptional(label, defaultVal) {
30
37
  const answer = await ask(` ? ${label} (${hint}): `);
31
38
  return answer || defaultVal;
32
39
  }
33
- // PLACEHOLDER_FOR_APPEND_1
34
40
  // ============================================================
35
- // File installation helpers
41
+ // JSON helpers
42
+ // ============================================================
43
+ function loadJson(filePath) {
44
+ if (!existsSync(filePath))
45
+ return {};
46
+ try {
47
+ return JSON.parse(readFileSync(filePath, "utf-8"));
48
+ }
49
+ catch {
50
+ return {};
51
+ }
52
+ }
53
+ function saveJson(filePath, data) {
54
+ writeFileSync(filePath, JSON.stringify(data, null, 2) + "\n", "utf-8");
55
+ }
56
+ // ============================================================
57
+ // File helpers
36
58
  // ============================================================
37
59
  function copyDir(src, dest) {
38
60
  if (!existsSync(src))
@@ -49,8 +71,7 @@ function copyDir(src, dest) {
49
71
  count += copyDir(srcPath, destPath);
50
72
  }
51
73
  else {
52
- const content = readFileSync(srcPath);
53
- writeFileSync(destPath, content);
74
+ writeFileSync(destPath, readFileSync(srcPath));
54
75
  count++;
55
76
  }
56
77
  }
@@ -66,147 +87,204 @@ function countFiles(dir) {
66
87
  }
67
88
  return count;
68
89
  }
90
+ function getServerEntryPath() {
91
+ return path.join(PKG_ROOT, "dist", "index.js").replace(/\\/g, "/");
92
+ }
69
93
  // ============================================================
70
- // MCP config helpers
94
+ // Remove MMF files
71
95
  // ============================================================
72
- function loadJson(filePath) {
73
- if (!existsSync(filePath))
74
- return {};
75
- try {
76
- return JSON.parse(readFileSync(filePath, "utf-8"));
96
+ function removeMMFFiles() {
97
+ let removed = 0;
98
+ // Remove commands
99
+ const cmdDir = path.join(CLAUDE_DIR, "commands");
100
+ for (const f of MMF_COMMANDS) {
101
+ const p = path.join(cmdDir, f);
102
+ if (existsSync(p)) {
103
+ rmSync(p);
104
+ removed++;
105
+ }
77
106
  }
78
- catch {
79
- return {};
107
+ // Remove skills
108
+ const skillDir = path.join(CLAUDE_DIR, "skills");
109
+ for (const d of MMF_SKILLS) {
110
+ const p = path.join(skillDir, d);
111
+ if (existsSync(p)) {
112
+ rmSync(p, { recursive: true });
113
+ removed++;
114
+ }
80
115
  }
116
+ // Remove MMF section from CLAUDE.md
117
+ if (existsSync(CLAUDE_MD_PATH)) {
118
+ const content = readFileSync(CLAUDE_MD_PATH, "utf-8");
119
+ if (content.includes("# MMF")) {
120
+ const cleaned = content.replace(/\n*# MMF[\s\S]*$/, "").trimEnd();
121
+ if (cleaned) {
122
+ writeFileSync(CLAUDE_MD_PATH, cleaned + "\n", "utf-8");
123
+ }
124
+ else {
125
+ rmSync(CLAUDE_MD_PATH);
126
+ }
127
+ removed++;
128
+ }
129
+ }
130
+ return removed;
81
131
  }
82
- function saveJson(filePath, data) {
83
- writeFileSync(filePath, JSON.stringify(data, null, 2) + "\n", "utf-8");
132
+ // ============================================================
133
+ // Install MMF files
134
+ // ============================================================
135
+ function installMMFFiles() {
136
+ const cmdSrc = path.join(PKG_ROOT, ".claude", "commands");
137
+ const cmdDest = path.join(CLAUDE_DIR, "commands");
138
+ const commands = copyDir(cmdSrc, cmdDest);
139
+ const skillSrc = path.join(PKG_ROOT, ".claude", "skills");
140
+ const skillDest = path.join(CLAUDE_DIR, "skills");
141
+ const skills = copyDir(skillSrc, skillDest);
142
+ // Install CLAUDE.md
143
+ const claudeMdSrc = path.join(PKG_ROOT, "CLAUDE.md");
144
+ if (existsSync(claudeMdSrc) && path.resolve(claudeMdSrc) !== path.resolve(CLAUDE_MD_PATH)) {
145
+ const newContent = readFileSync(claudeMdSrc, "utf-8");
146
+ if (existsSync(CLAUDE_MD_PATH)) {
147
+ const existing = readFileSync(CLAUDE_MD_PATH, "utf-8");
148
+ if (!existing.includes("# MMF")) {
149
+ writeFileSync(CLAUDE_MD_PATH, existing + "\n\n" + newContent, "utf-8");
150
+ }
151
+ else {
152
+ // Replace existing MMF section
153
+ const cleaned = existing.replace(/\n*# MMF[\s\S]*$/, "").trimEnd();
154
+ writeFileSync(CLAUDE_MD_PATH, (cleaned ? cleaned + "\n\n" : "") + newContent, "utf-8");
155
+ }
156
+ }
157
+ else {
158
+ mkdirSync(CLAUDE_DIR, { recursive: true });
159
+ writeFileSync(CLAUDE_MD_PATH, newContent, "utf-8");
160
+ }
161
+ }
162
+ return { commands, skills };
84
163
  }
85
- function getServerEntryPath() {
86
- return path.join(PKG_ROOT, "dist", "index.js").replace(/\\/g, "/");
164
+ // ============================================================
165
+ // MCP config
166
+ // ============================================================
167
+ function getMcpEnv() {
168
+ const config = loadJson(MCP_PATH);
169
+ return config.mcpServers?.[MCP_SERVER_KEY]?.env ?? null;
170
+ }
171
+ function writeMcpConfig(env) {
172
+ const config = loadJson(MCP_PATH);
173
+ if (!config.mcpServers)
174
+ config.mcpServers = {};
175
+ config.mcpServers[MCP_SERVER_KEY] = {
176
+ type: "stdio",
177
+ command: "node",
178
+ args: [getServerEntryPath()],
179
+ env,
180
+ };
181
+ saveJson(MCP_PATH, config);
182
+ }
183
+ function removeMcpConfig() {
184
+ const config = loadJson(MCP_PATH);
185
+ if (config.mcpServers?.[MCP_SERVER_KEY]) {
186
+ delete config.mcpServers[MCP_SERVER_KEY];
187
+ saveJson(MCP_PATH, config);
188
+ return true;
189
+ }
190
+ return false;
87
191
  }
88
192
  // ============================================================
89
193
  // API Config Prompt
90
194
  // ============================================================
91
- async function promptApiConfig() {
195
+ async function promptApiConfig(defaults) {
92
196
  console.log(" 步骤 1/2: 配置 Codex (OpenAI)");
93
197
  console.log(" ─────────────────────────────────");
94
198
  const codexKey = await askRequired("API Key");
95
- const codexUrl = await askOptional("接口地址", "https://api.openai.com/v1");
96
- const codexModel = await askWithDefault("模型名称", "gpt-5.4");
199
+ const codexUrl = await askOptional("接口地址", defaults?.OPENAI_BASE_URL ?? "https://api.openai.com/v1");
200
+ const codexModel = await askWithDefault("模型名称", defaults?.OPENAI_MODEL ?? "gpt-5.4");
97
201
  console.log();
98
202
  console.log(" 步骤 2/2: 配置 Gemini");
99
203
  console.log(" ─────────────────────────────────");
100
204
  const geminiKey = await askRequired("API Key");
101
- const geminiUrl = await askOptional("接口地址", "https://generativelanguage.googleapis.com/v1beta/openai/");
102
- const geminiModel = await askWithDefault("模型名称", "gemini-3.1-pro-preview");
205
+ const geminiUrl = await askOptional("接口地址", defaults?.GEMINI_BASE_URL ?? "https://generativelanguage.googleapis.com/v1beta/openai/");
206
+ const geminiModel = await askWithDefault("模型名称", defaults?.GEMINI_MODEL ?? "gemini-3.1-pro-preview");
103
207
  console.log();
104
- return { codexKey, codexUrl, codexModel, geminiKey, geminiUrl, geminiModel };
208
+ return {
209
+ OPENAI_API_KEY: codexKey,
210
+ OPENAI_BASE_URL: codexUrl,
211
+ OPENAI_MODEL: codexModel,
212
+ GEMINI_API_KEY: geminiKey,
213
+ GEMINI_BASE_URL: geminiUrl,
214
+ GEMINI_MODEL: geminiModel,
215
+ };
105
216
  }
106
- // PLACEHOLDER_FOR_APPEND_2
217
+ // PLACEHOLDER_CLI_ACTIONS
107
218
  // ============================================================
108
- // Main
219
+ // Actions
109
220
  // ============================================================
110
- async function main() {
111
- const command = process.argv[2];
112
- if (command === "--help" || command === "-h") {
113
- console.log("用法: mmflow [init]");
114
- console.log(" 在当前项目中初始化多模型协作工作流");
115
- process.exit(0);
116
- }
221
+ async function doInstall() {
117
222
  console.log();
118
- console.log(" ╔══════════════════════════════════════╗");
119
- console.log(" ║ MMFlow - 多模型协作工作流 ║");
120
- console.log(" ╚══════════════════════════════════════╝");
121
- console.log();
122
- const homeDir = process.env.HOME || process.env.USERPROFILE || "";
123
- const claudeDir = path.join(homeDir, ".claude");
124
- const mcpPath = path.join(homeDir, ".claude.json");
125
- const mcpConfig = loadJson(mcpPath);
126
- const existingServer = mcpConfig.mcpServers?.["diy-workflow"];
127
- let codexKey;
128
- let codexUrl;
129
- let codexModel;
130
- let geminiKey;
131
- let geminiUrl;
132
- let geminiModel;
133
- if (existingServer?.env?.OPENAI_API_KEY) {
134
- // MCP already configured — skip API config
135
- console.log(" 检测到已有 MCP 配置,跳过 API 配置");
136
- console.log(` Codex: ${existingServer.env.OPENAI_MODEL ?? "gpt-5.4"} @ ${existingServer.env.OPENAI_BASE_URL ?? "默认"}`);
137
- console.log(` Gemini: ${existingServer.env.GEMINI_MODEL ?? "gemini-3.1-pro-preview"} @ ${existingServer.env.GEMINI_BASE_URL ?? "默认"}`);
223
+ const existingEnv = getMcpEnv();
224
+ let env;
225
+ if (existingEnv?.OPENAI_API_KEY) {
226
+ console.log(" 检测到已有 MCP 配置:");
227
+ console.log(` Codex: ${existingEnv.OPENAI_MODEL ?? "gpt-5.4"} @ ${existingEnv.OPENAI_BASE_URL ?? "默认"}`);
228
+ console.log(` Gemini: ${existingEnv.GEMINI_MODEL ?? "gemini-3.1-pro-preview"} @ ${existingEnv.GEMINI_BASE_URL ?? "默认"}`);
138
229
  console.log();
139
230
  const reconfig = await ask(" ? 是否重新配置 API?(y/N): ");
140
- if (reconfig.toLowerCase() === "y") {
141
- ({ codexKey, codexUrl, codexModel, geminiKey, geminiUrl, geminiModel } =
142
- await promptApiConfig());
143
- }
144
- else {
145
- codexKey = existingServer.env.OPENAI_API_KEY;
146
- codexUrl = existingServer.env.OPENAI_BASE_URL ?? "https://api.openai.com/v1";
147
- codexModel = existingServer.env.OPENAI_MODEL ?? "gpt-5.4";
148
- geminiKey = existingServer.env.GEMINI_API_KEY ?? "";
149
- geminiUrl = existingServer.env.GEMINI_BASE_URL ?? "https://generativelanguage.googleapis.com/v1beta/openai/";
150
- geminiModel = existingServer.env.GEMINI_MODEL ?? "gemini-3.1-pro-preview";
151
- }
231
+ env = reconfig.toLowerCase() === "y" ? await promptApiConfig(existingEnv) : existingEnv;
152
232
  }
153
233
  else {
154
- ({ codexKey, codexUrl, codexModel, geminiKey, geminiUrl, geminiModel } =
155
- await promptApiConfig());
234
+ env = await promptApiConfig();
156
235
  }
157
- // ── Install ────────────────────────────────────────────
158
236
  console.log(" 安装中...");
159
237
  console.log(" ─────────────────────────────────");
160
- // Copy commands
161
- const cmdSrc = path.join(PKG_ROOT, ".claude", "commands");
162
- const cmdDest = path.join(claudeDir, "commands");
163
- const cmdCount = copyDir(cmdSrc, cmdDest);
164
- console.log(` ✓ 已安装 ${cmdCount} 个命令到 ~/.claude/commands/`);
165
- // Copy skills
166
- const skillSrc = path.join(PKG_ROOT, ".claude", "skills");
167
- const skillDest = path.join(claudeDir, "skills");
168
- const skillCount = copyDir(skillSrc, skillDest);
169
- console.log(` ✓ 已安装 ${skillCount} 个技能到 ~/.claude/skills/`);
170
- // Register MCP server in .mcp.json
171
- if (!mcpConfig.mcpServers)
172
- mcpConfig.mcpServers = {};
173
- mcpConfig.mcpServers["diy-workflow"] = {
174
- type: "stdio",
175
- command: "node",
176
- args: [getServerEntryPath()],
177
- env: {
178
- OPENAI_API_KEY: codexKey,
179
- OPENAI_BASE_URL: codexUrl,
180
- OPENAI_MODEL: codexModel,
181
- GEMINI_API_KEY: geminiKey,
182
- GEMINI_BASE_URL: geminiUrl,
183
- GEMINI_MODEL: geminiModel,
184
- },
185
- };
186
- saveJson(mcpPath, mcpConfig);
238
+ const { commands, skills } = installMMFFiles();
239
+ console.log(` ✓ 已安装 ${commands} 个命令到 ~/.claude/commands/`);
240
+ console.log(` ✓ 已安装 ${skills} 个技能到 ~/.claude/skills/`);
241
+ writeMcpConfig(env);
187
242
  console.log(" ✓ 已注册 MCP 服务到 ~/.claude.json");
188
- // Copy CLAUDE.md
189
- const claudeMdSrc = path.join(PKG_ROOT, "CLAUDE.md");
190
- const claudeMdDest = path.join(claudeDir, "CLAUDE.md");
191
- if (existsSync(claudeMdSrc) && path.resolve(claudeMdSrc) !== path.resolve(claudeMdDest)) {
192
- // Append to existing or create new
193
- if (existsSync(claudeMdDest)) {
194
- const existing = readFileSync(claudeMdDest, "utf-8");
195
- if (!existing.includes("MMF")) {
196
- const content = readFileSync(claudeMdSrc, "utf-8");
197
- writeFileSync(claudeMdDest, existing + "\n\n" + content, "utf-8");
198
- console.log(" ✓ 已追加工作流配置到 ~/.claude/CLAUDE.md");
199
- }
200
- else {
201
- console.log(" - ~/.claude/CLAUDE.md 已包含工作流配置,跳过");
202
- }
203
- }
204
- else {
205
- const content = readFileSync(claudeMdSrc, "utf-8");
206
- writeFileSync(claudeMdDest, content, "utf-8");
207
- console.log(" ✓ 已创建 ~/.claude/CLAUDE.md");
208
- }
243
+ console.log(" ✓ 已更新 ~/.claude/CLAUDE.md");
244
+ printSuccess();
245
+ }
246
+ async function doUpdate() {
247
+ console.log();
248
+ const existingEnv = getMcpEnv();
249
+ if (!existingEnv) {
250
+ console.log(" 未检测到已有安装,将执行全新安装。");
251
+ return doInstall();
252
+ }
253
+ console.log(" 更新中...");
254
+ console.log(" ─────────────────────────────────");
255
+ // Step 1: Remove old files
256
+ const removed = removeMMFFiles();
257
+ console.log(` ✓ 已清理 ${removed} 个旧文件`);
258
+ // Step 2: Reinstall fresh files
259
+ const { commands, skills } = installMMFFiles();
260
+ console.log(` ✓ 已安装 ${commands} 个命令到 ~/.claude/commands/`);
261
+ console.log(` ✓ 已安装 ${skills} 个技能到 ~/.claude/skills/`);
262
+ // Step 3: Rewrite MCP config (preserve env, update server path)
263
+ writeMcpConfig(existingEnv);
264
+ console.log(" ✓ 已更新 MCP 服务配置(API 配置已保留)");
265
+ console.log(" ✓ 已更新 ~/.claude/CLAUDE.md");
266
+ printSuccess();
267
+ }
268
+ async function doUninstall() {
269
+ console.log();
270
+ const confirm = await ask(" ? 确认卸载 MMFlow?(y/N): ");
271
+ if (confirm.toLowerCase() !== "y") {
272
+ console.log(" 已取消。");
273
+ return;
274
+ }
275
+ console.log();
276
+ console.log(" 卸载中...");
277
+ console.log(" ─────────────────────────────────");
278
+ const removed = removeMMFFiles();
279
+ console.log(` ✓ 已清理 ${removed} 个文件`);
280
+ if (removeMcpConfig()) {
281
+ console.log(" ✓ 已移除 MCP 服务配置");
209
282
  }
283
+ console.log();
284
+ console.log(" MMFlow 已卸载。");
285
+ console.log();
286
+ }
287
+ function printSuccess() {
210
288
  console.log();
211
289
  console.log(" 完成!重启 Claude Code 即可使用。");
212
290
  console.log();
@@ -217,10 +295,68 @@ async function main() {
217
295
  console.log(" /mmf-review — 双模型代码审查");
218
296
  console.log(" /mmf-analyze — 并行分析");
219
297
  console.log();
298
+ }
299
+ function printBanner() {
300
+ console.log();
301
+ console.log(" ╔══════════════════════════════════════╗");
302
+ console.log(" ║ MMFlow - 多模型协作工作流 ║");
303
+ console.log(" ╚══════════════════════════════════════╝");
304
+ console.log();
305
+ }
306
+ // ============================================================
307
+ // Main
308
+ // ============================================================
309
+ async function main() {
310
+ const command = process.argv[2];
311
+ if (command === "--help" || command === "-h") {
312
+ console.log("用法: mmflow [install|update|uninstall]");
313
+ console.log();
314
+ console.log(" install 安装 MMFlow(默认)");
315
+ console.log(" update 更新 MMFlow(保留 API 配置)");
316
+ console.log(" uninstall 卸载 MMFlow");
317
+ process.exit(0);
318
+ }
319
+ printBanner();
320
+ // Direct subcommand
321
+ if (command === "install") {
322
+ await doInstall();
323
+ rl.close();
324
+ return;
325
+ }
326
+ if (command === "update") {
327
+ await doUpdate();
328
+ rl.close();
329
+ return;
330
+ }
331
+ if (command === "uninstall") {
332
+ await doUninstall();
333
+ rl.close();
334
+ return;
335
+ }
336
+ // Interactive menu
337
+ console.log(" 请选择操作:");
338
+ console.log(" 1. 安装");
339
+ console.log(" 2. 更新(保留 API 配置)");
340
+ console.log(" 3. 卸载");
341
+ console.log();
342
+ const choice = await ask(" ? 请输入编号 (1/2/3): ");
343
+ switch (choice) {
344
+ case "1":
345
+ await doInstall();
346
+ break;
347
+ case "2":
348
+ await doUpdate();
349
+ break;
350
+ case "3":
351
+ await doUninstall();
352
+ break;
353
+ default:
354
+ console.log(" 无效选项,退出。");
355
+ }
220
356
  rl.close();
221
357
  }
222
358
  main().catch((err) => {
223
- console.error("安装失败:", err);
359
+ console.error("执行失败:", err);
224
360
  rl.close();
225
361
  process.exit(1);
226
362
  });
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "multi-model-flow",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "Multi-Model Flow - Lightweight multi-model orchestration MCP server for Claude Code",
5
5
  "type": "module",
6
6
  "bin": {