hop-claude 1.0.0 → 1.0.2

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/CHANGELOG.md CHANGED
@@ -1,5 +1,63 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.0.2
4
+
5
+ ### Patch Changes
6
+
7
+ - ddefe5c: 修复导入/导出操作后不再启动 Claude Code
8
+
9
+ **修正**:
10
+
11
+ - 导入配置后直接退出,不再启动 Claude Code
12
+ - 导出配置后直接退出,不再启动 Claude Code
13
+ - 其他配置操作(选择、创建、编辑、删除)完成后继续正常启动
14
+
15
+ **改进**:
16
+
17
+ - 更符合用户预期的操作流程
18
+ - 避免不必要的 Claude Code 启动
19
+
20
+ - ddefe5c: 改进 `-s` 交互体验并完善中文化
21
+
22
+ **新功能**:
23
+
24
+ - `hop-claude -s` 现在会显示交互式配置选择列表
25
+ - 不再需要记住配置名称,可以从列表中选择
26
+ - 仍支持 `hop-claude -s <配置名>` 快速切换
27
+
28
+ **改进**:
29
+
30
+ - 完善命令行界面中文化(选项描述、错误消息、成功提示)
31
+ - 更友好的用户体验,避免输入错误
32
+
33
+ **示例**:
34
+
35
+ ```bash
36
+ # 显示列表选择(新功能)
37
+ hop-claude -s
38
+
39
+ # 快速切换(仍然支持)
40
+ hop-claude -s production
41
+ ```
42
+
43
+ ## 1.0.1
44
+
45
+ ### Patch Changes
46
+
47
+ - 1860e33: 修正环境变量并完全中文化界面
48
+
49
+ **修正**:
50
+
51
+ - 环境变量从 `ANTHROPIC_API_KEY` 改为 `ANTHROPIC_AUTH_TOKEN`(与 Claude Code 官方一致)
52
+
53
+ **改进**:
54
+
55
+ - 完全中文化所有用户界面文本
56
+ - 交互提示、错误消息、迁移工具全部使用中文
57
+ - 明确标注 API Key 对应的环境变量名称
58
+
59
+ **面向受众**:主要为中国用户优化体验
60
+
3
61
  ## 1.0.0
4
62
 
5
63
  ### Major Changes
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC;;GAEG;AACH,wBAAsB,SAAS,qBAiH9B"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC;;GAEG;AACH,wBAAsB,SAAS,qBA0I9B"}
package/dist/cli.js CHANGED
@@ -16,14 +16,14 @@ export async function createCLI() {
16
16
  program
17
17
  .name('hop-claude')
18
18
  .version(pkg.version)
19
- .description('Claude Code configuration manager and launcher')
20
- .option('-c, --config', 'Enter configuration management mode')
21
- .option('-l, --list', 'List all configurations')
22
- .option('-s, --switch <profile>', 'Switch to a specific profile')
23
- .option('-e, --export <file>', 'Export configuration to file')
24
- .option('-i, --import <file>', 'Import configuration from file')
25
- .option('--migrate-encryption', 'Migrate to a different encryption mode')
26
- .option('--encryption-info', 'Show current encryption mode information')
19
+ .description('Claude Code 配置管理和启动工具')
20
+ .option('-c, --config', '进入配置管理模式')
21
+ .option('-l, --list', '列出所有配置')
22
+ .option('-s, --switch [profile]', '切换到指定配置(不提供名称则显示选择列表)')
23
+ .option('-e, --export <file>', '导出配置到文件')
24
+ .option('-i, --import <file>', '从文件导入配置')
25
+ .option('--migrate-encryption', '迁移到不同的加密模式')
26
+ .option('--encryption-info', '显示当前加密模式信息')
27
27
  .allowUnknownOption(true) // 允许未知选项(用于透传给 claude)
28
28
  .action(async (options) => {
29
29
  try {
@@ -45,37 +45,59 @@ export async function createCLI() {
45
45
  return;
46
46
  }
47
47
  // 快速切换 profile
48
- if (options.switch) {
49
- const profile = await configManager.getProfile(options.switch);
50
- if (!profile) {
51
- displayError(`Profile "${options.switch}" not found`);
48
+ if (options.switch !== undefined) {
49
+ // 如果提供了配置名称,直接切换
50
+ if (typeof options.switch === 'string' && options.switch.trim()) {
51
+ const profile = await configManager.getProfile(options.switch);
52
+ if (!profile) {
53
+ displayError(`未找到配置 "${options.switch}"`);
54
+ process.exit(1);
55
+ }
56
+ await configManager.setCurrentProfile(options.switch);
57
+ displaySuccess(`已切换到:${options.switch}`);
58
+ // 如果有透传参数,继续启动 claude
59
+ const claudeArgs = getClaudeArgs(process.argv);
60
+ if (claudeArgs.length > 0) {
61
+ await launchClaude(profile, claudeArgs);
62
+ }
63
+ return;
64
+ }
65
+ // 如果没有提供配置名称,显示交互式选择列表
66
+ const profiles = await configManager.listProfiles();
67
+ if (profiles.length === 0) {
68
+ displayError('没有可用的配置');
52
69
  process.exit(1);
53
70
  }
54
- await configManager.setCurrentProfile(options.switch);
55
- displaySuccess(`Switched to: ${options.switch}`);
71
+ await ui.selectProfile(profiles);
56
72
  // 如果有透传参数,继续启动 claude
57
73
  const claudeArgs = getClaudeArgs(process.argv);
58
74
  if (claudeArgs.length > 0) {
59
- await launchClaude(profile, claudeArgs);
75
+ const currentProfile = await configManager.getCurrentProfile();
76
+ if (currentProfile) {
77
+ await launchClaude(currentProfile, claudeArgs);
78
+ }
60
79
  }
61
80
  return;
62
81
  }
63
82
  // 导出配置
64
83
  if (options.export) {
65
84
  await backupConfig(configManager, options.export);
66
- displaySuccess(`Configuration exported to: ${options.export}`);
85
+ displaySuccess(`配置已导出到:${options.export}`);
67
86
  return;
68
87
  }
69
88
  // 导入配置
70
89
  if (options.import) {
71
90
  await restoreConfig(configManager, options.import);
72
- displaySuccess('Configuration imported successfully');
91
+ displaySuccess('配置导入成功');
73
92
  return;
74
93
  }
75
94
  // 强制进入配置模式
76
95
  if (options.config) {
77
- await ui.manageConfiguration();
78
- return;
96
+ const shouldContinue = await ui.manageConfiguration();
97
+ if (!shouldContinue) {
98
+ return; // 导入/导出等操作后直接退出
99
+ }
100
+ // 如果是其他操作(选择、创建、编辑),继续启动 Claude
79
101
  }
80
102
  // 正常流程:显示当前配置 + 询问是否修改
81
103
  const shouldContinue = await ui.showCurrentAndAsk();
@@ -86,7 +108,7 @@ export async function createCLI() {
86
108
  // 获取当前配置并启动 claude
87
109
  const currentProfile = await configManager.getCurrentProfile();
88
110
  if (!currentProfile) {
89
- displayError('No configuration selected');
111
+ displayError('未选择配置');
90
112
  process.exit(1);
91
113
  }
92
114
  // 获取透传参数
@@ -99,7 +121,7 @@ export async function createCLI() {
99
121
  displayError(err.message);
100
122
  // 在 DEBUG 模式下显示完整的堆栈跟踪
101
123
  if (process.env.DEBUG) {
102
- console.error('\nStack trace:');
124
+ console.error('\n堆栈跟踪:');
103
125
  console.error(err.stack);
104
126
  }
105
127
  process.exit(1);
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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"}
@@ -25,7 +25,7 @@ export interface DecryptedProfile extends Omit<ProfileConfig, 'apiKey'> {
25
25
  apiKey: string;
26
26
  }
27
27
  export interface EnvironmentVariables {
28
- ANTHROPIC_API_KEY?: string;
28
+ ANTHROPIC_AUTH_TOKEN?: string;
29
29
  ANTHROPIC_BASE_URL?: string;
30
30
  HTTP_PROXY?: string;
31
31
  HTTPS_PROXY?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,UAAU,GAAG,YAAY,CAAC;AAElE,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC;IACrE,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wCAAwC,CAAC,EAAE,MAAM,CAAC;CACnD;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,UAAU,GAAG,YAAY,CAAC;AAElE,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC;IACrE,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wCAAwC,CAAC,EAAE,MAAM,CAAC;CACnD;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
@@ -8,12 +8,14 @@ export declare class InteractiveUI {
8
8
  constructor(configManager: ConfigManager);
9
9
  /**
10
10
  * 显示当前配置并询问是否修改
11
+ * @returns 是否应该继续启动 Claude
11
12
  */
12
13
  showCurrentAndAsk(): Promise<boolean>;
13
14
  /**
14
15
  * 配置管理主界面
16
+ * @returns 是否应该继续启动 Claude(导入/导出操作返回 false)
15
17
  */
16
- manageConfiguration(): Promise<void>;
18
+ manageConfiguration(): Promise<boolean>;
17
19
  /**
18
20
  * 选择 profile
19
21
  */
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/ui/prompts.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAG5D,OAAO,KAAK,EAAoB,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGzE;;GAEG;AACH,qBAAa,aAAa;IACZ,OAAO,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAEhD;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;IAuC3C;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAwC1C;;OAEG;IACG,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,GAAG;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB7F;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAgFpC;;OAEG;IACG,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,GAAG;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAsD3F;;OAEG;IACG,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,GAAG;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B7F;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBzC;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB1C;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;CA6B3C"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/ui/prompts.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAG5D,OAAO,KAAK,EAAoB,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGzE;;GAEG;AACH,qBAAa,aAAa;IACZ,OAAO,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAEhD;;;OAGG;IACG,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;IAuC3C;;;OAGG;IACG,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC;IA0C7C;;OAEG;IACG,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,GAAG;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB7F;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAgFpC;;OAEG;IACG,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,GAAG;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAsD3F;;OAEG;IACG,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,GAAG;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B7F;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBzC;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB1C;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;CA6B3C"}
@@ -13,29 +13,30 @@ export class InteractiveUI {
13
13
  }
14
14
  /**
15
15
  * 显示当前配置并询问是否修改
16
+ * @returns 是否应该继续启动 Claude
16
17
  */
17
18
  async showCurrentAndAsk() {
18
19
  const current = await this.configManager.getCurrentProfile();
19
- displayTitle('🔧 Claude Code Configuration Manager');
20
+ displayTitle('🔧 Claude Code 配置管理工具');
20
21
  if (current) {
21
- console.log(chalk.cyan('Current Configuration:'));
22
- displayInfo('Domain', chalk.green(current.domain));
22
+ console.log(chalk.cyan('当前配置:'));
23
+ displayInfo('域名/配置名', chalk.green(current.domain));
23
24
  displayInfo('Base URL', current.baseUrl);
24
- displayInfo('Proxy', current.proxy, '(none)');
25
- displayInfo('Disable Traffic', current.disableNonessentialTraffic ? 'Yes' : 'No');
25
+ displayInfo('代理', current.proxy, '()');
26
+ displayInfo('禁用非必要流量', current.disableNonessentialTraffic ? '' : '');
26
27
  console.log();
27
28
  }
28
29
  else {
29
- displayWarning('No configuration set up yet.\n');
30
+ displayWarning('尚未配置。\n');
30
31
  }
31
32
  const { action } = await prompts({
32
33
  type: 'select',
33
34
  name: 'action',
34
- message: 'What would you like to do?',
35
+ message: '请选择操作:',
35
36
  choices: [
36
- { title: 'Continue with current configuration', value: 'continue', disabled: !current },
37
- { title: 'Modify configuration', value: 'modify' },
38
- { title: 'Exit', value: 'exit' },
37
+ { title: '使用当前配置继续', value: 'continue', disabled: !current },
38
+ { title: '修改配置', value: 'modify' },
39
+ { title: '退出', value: 'exit' },
39
40
  ],
40
41
  initial: current ? 0 : 1,
41
42
  });
@@ -43,48 +44,51 @@ export class InteractiveUI {
43
44
  return false;
44
45
  }
45
46
  if (action === 'modify') {
46
- await this.manageConfiguration();
47
+ return await this.manageConfiguration();
47
48
  }
48
49
  return true;
49
50
  }
50
51
  /**
51
52
  * 配置管理主界面
53
+ * @returns 是否应该继续启动 Claude(导入/导出操作返回 false)
52
54
  */
53
55
  async manageConfiguration() {
54
56
  const profiles = await this.configManager.listProfiles();
55
57
  const { action } = await prompts({
56
58
  type: 'select',
57
59
  name: 'action',
58
- message: 'Configuration Management',
60
+ message: '配置管理',
59
61
  choices: [
60
- { title: 'Select existing configuration', value: 'select', disabled: profiles.length === 0 },
61
- { title: 'Create new configuration', value: 'create' },
62
- { title: 'Edit existing configuration', value: 'edit', disabled: profiles.length === 0 },
63
- { title: 'Delete configuration', value: 'delete', disabled: profiles.length === 0 },
64
- { title: 'Export configuration', value: 'export' },
65
- { title: 'Import configuration', value: 'import' },
66
- { title: 'Back', value: 'back' },
62
+ { title: '选择已有配置', value: 'select', disabled: profiles.length === 0 },
63
+ { title: '创建新配置', value: 'create' },
64
+ { title: '编辑已有配置', value: 'edit', disabled: profiles.length === 0 },
65
+ { title: '删除配置', value: 'delete', disabled: profiles.length === 0 },
66
+ { title: '导出配置', value: 'export' },
67
+ { title: '导入配置', value: 'import' },
68
+ { title: '返回', value: 'back' },
67
69
  ],
68
70
  });
69
71
  switch (action) {
70
72
  case 'select':
71
73
  await this.selectProfile(profiles);
72
- break;
74
+ return true;
73
75
  case 'create':
74
76
  await this.createProfile();
75
- break;
77
+ return true;
76
78
  case 'edit':
77
79
  await this.editProfile(profiles);
78
- break;
80
+ return true;
79
81
  case 'delete':
80
82
  await this.deleteProfile(profiles);
81
- break;
83
+ return true;
82
84
  case 'export':
83
85
  await this.exportConfiguration();
84
- break;
86
+ return false; // 导出后不启动 Claude
85
87
  case 'import':
86
88
  await this.importConfiguration();
87
- break;
89
+ return false; // 导入后不启动 Claude
90
+ default:
91
+ return false; // 返回或取消时不启动 Claude
88
92
  }
89
93
  }
90
94
  /**
@@ -94,7 +98,7 @@ export class InteractiveUI {
94
98
  const { domain } = await prompts({
95
99
  type: 'select',
96
100
  name: 'domain',
97
- message: 'Select a configuration:',
101
+ message: '选择配置:',
98
102
  choices: profiles.map(p => ({
99
103
  title: `${p.domain} (${p.maskedApiKey})`,
100
104
  value: p.domain,
@@ -102,7 +106,7 @@ export class InteractiveUI {
102
106
  });
103
107
  if (domain) {
104
108
  await this.configManager.setCurrentProfile(domain);
105
- displaySuccess(`Switched to: ${domain}`);
109
+ displaySuccess(`已切换到:${domain}`);
106
110
  }
107
111
  }
108
112
  /**
@@ -113,61 +117,61 @@ export class InteractiveUI {
113
117
  {
114
118
  type: 'text',
115
119
  name: 'domain',
116
- message: 'Domain/Profile name:',
117
- validate: value => value.trim() ? true : 'Domain cannot be empty',
120
+ message: '域名/配置名:',
121
+ validate: value => value.trim() ? true : '域名不能为空',
118
122
  },
119
123
  {
120
124
  type: 'password',
121
125
  name: 'apiKey',
122
- message: 'API Key:',
123
- validate: value => value.trim() ? true : 'API Key cannot be empty',
126
+ message: 'API Key (ANTHROPIC_AUTH_TOKEN):',
127
+ validate: value => value.trim() ? true : 'API Key 不能为空',
124
128
  },
125
129
  {
126
130
  type: 'text',
127
131
  name: 'baseUrl',
128
- message: 'Base URL (optional):',
132
+ message: 'Base URL (可选,用于中转站)',
129
133
  },
130
134
  {
131
135
  type: 'text',
132
136
  name: 'proxy',
133
- message: 'Proxy (optional):',
137
+ message: '代理 (可选)',
134
138
  },
135
139
  {
136
140
  type: 'confirm',
137
141
  name: 'disableNonessentialTraffic',
138
- message: 'Disable nonessential traffic?',
142
+ message: '禁用非必要流量?',
139
143
  initial: false,
140
144
  },
141
145
  {
142
146
  type: 'confirm',
143
147
  name: 'validate',
144
- message: 'Validate API Key?',
148
+ message: '验证 API Key 有效性?',
145
149
  initial: false,
146
150
  },
147
151
  ]);
148
152
  if (!answers.domain || !answers.apiKey) {
149
- displayWarning('Cancelled');
153
+ displayWarning('已取消');
150
154
  return;
151
155
  }
152
156
  // 验证 API Key(如果用户选择)
153
157
  if (answers.validate) {
154
- console.log(chalk.gray('Validating API Key...'));
158
+ console.log(chalk.gray('正在验证 API Key...'));
155
159
  const result = await validateApiKey(answers.apiKey, answers.baseUrl);
156
160
  if (!result.valid) {
157
- displayError(`API Key validation failed: ${result.error}`);
161
+ displayError(`API Key 验证失败:${result.error}`);
158
162
  const { continueAnyway } = await prompts({
159
163
  type: 'confirm',
160
164
  name: 'continueAnyway',
161
- message: 'Continue anyway?',
165
+ message: '仍然继续?',
162
166
  initial: false,
163
167
  });
164
168
  if (!continueAnyway) {
165
- displayWarning('Cancelled');
169
+ displayWarning('已取消');
166
170
  return;
167
171
  }
168
172
  }
169
173
  else {
170
- displaySuccess('API Key is valid');
174
+ displaySuccess('API Key 有效');
171
175
  }
172
176
  }
173
177
  const profile = {
@@ -181,7 +185,7 @@ export class InteractiveUI {
181
185
  };
182
186
  await this.configManager.saveProfile(profile);
183
187
  await this.configManager.setCurrentProfile(profile.domain);
184
- displaySuccess(`Configuration "${profile.domain}" created and activated`);
188
+ displaySuccess(`配置 "${profile.domain}" 已创建并激活`);
185
189
  }
186
190
  /**
187
191
  * 编辑 profile
@@ -190,7 +194,7 @@ export class InteractiveUI {
190
194
  const { domain } = await prompts({
191
195
  type: 'select',
192
196
  name: 'domain',
193
- message: 'Select configuration to edit:',
197
+ message: '选择要编辑的配置:',
194
198
  choices: profiles.map(p => ({
195
199
  title: `${p.domain} (${p.maskedApiKey})`,
196
200
  value: p.domain,
@@ -205,24 +209,24 @@ export class InteractiveUI {
205
209
  {
206
210
  type: 'password',
207
211
  name: 'apiKey',
208
- message: 'API Key (leave empty to keep current):',
212
+ message: 'API Key (留空保持不变)',
209
213
  },
210
214
  {
211
215
  type: 'text',
212
216
  name: 'baseUrl',
213
- message: 'Base URL:',
217
+ message: 'Base URL',
214
218
  initial: existing.baseUrl,
215
219
  },
216
220
  {
217
221
  type: 'text',
218
222
  name: 'proxy',
219
- message: 'Proxy:',
223
+ message: '代理:',
220
224
  initial: existing.proxy,
221
225
  },
222
226
  {
223
227
  type: 'confirm',
224
228
  name: 'disableNonessentialTraffic',
225
- message: 'Disable nonessential traffic?',
229
+ message: '禁用非必要流量?',
226
230
  initial: existing.disableNonessentialTraffic,
227
231
  },
228
232
  ]);
@@ -234,7 +238,7 @@ export class InteractiveUI {
234
238
  disableNonessentialTraffic: answers.disableNonessentialTraffic,
235
239
  };
236
240
  await this.configManager.saveProfile(updated);
237
- displaySuccess(`Configuration "${domain}" updated`);
241
+ displaySuccess(`配置 "${domain}" 已更新`);
238
242
  }
239
243
  /**
240
244
  * 删除 profile
@@ -243,7 +247,7 @@ export class InteractiveUI {
243
247
  const { domain } = await prompts({
244
248
  type: 'select',
245
249
  name: 'domain',
246
- message: 'Select configuration to delete:',
250
+ message: '选择要删除的配置:',
247
251
  choices: profiles.map(p => ({
248
252
  title: `${p.domain} (${p.maskedApiKey})`,
249
253
  value: p.domain,
@@ -254,12 +258,12 @@ export class InteractiveUI {
254
258
  const { confirm } = await prompts({
255
259
  type: 'confirm',
256
260
  name: 'confirm',
257
- message: `Are you sure you want to delete "${domain}"?`,
261
+ message: `确定要删除 "${domain}" 吗?`,
258
262
  initial: false,
259
263
  });
260
264
  if (confirm) {
261
265
  await this.configManager.deleteProfile(domain);
262
- displaySuccess(`Configuration "${domain}" deleted`);
266
+ displaySuccess(`配置 "${domain}" 已删除`);
263
267
  }
264
268
  }
265
269
  /**
@@ -268,9 +272,9 @@ export class InteractiveUI {
268
272
  async listConfigurations() {
269
273
  const profiles = await this.configManager.listProfiles();
270
274
  const config = await this.configManager.getConfig();
271
- displayTitle('📋 All Configurations:');
275
+ displayTitle('📋 所有配置:');
272
276
  if (profiles.length === 0) {
273
- console.log(chalk.gray(' No configurations found\n'));
277
+ console.log(chalk.gray(' 未找到任何配置\n'));
274
278
  return;
275
279
  }
276
280
  profiles.forEach(p => {
@@ -279,8 +283,8 @@ export class InteractiveUI {
279
283
  console.log(`${marker} ${chalk.bold(p.domain)}`);
280
284
  displayInfo('API Key', p.maskedApiKey);
281
285
  displayInfo('Base URL', p.baseUrl);
282
- displayInfo('Proxy', p.proxy, '(none)');
283
- displayInfo('Disable Traffic', p.disableNonessentialTraffic ? 'Yes' : 'No');
286
+ displayInfo('代理', p.proxy, '()');
287
+ displayInfo('禁用非必要流量', p.disableNonessentialTraffic ? '' : '');
284
288
  console.log();
285
289
  });
286
290
  }
@@ -291,18 +295,18 @@ export class InteractiveUI {
291
295
  const { outputPath } = await prompts({
292
296
  type: 'text',
293
297
  name: 'outputPath',
294
- message: 'Export to file:',
295
- initial: './cproxy-config-backup.json',
298
+ message: '导出到文件:',
299
+ initial: './hop-claude-backup.json',
296
300
  });
297
301
  if (!outputPath)
298
302
  return;
299
303
  try {
300
304
  await backupConfig(this.configManager, outputPath);
301
- displaySuccess(`Configuration exported to: ${outputPath}`);
305
+ displaySuccess(`配置已导出到:${outputPath}`);
302
306
  }
303
307
  catch (error) {
304
308
  const err = error instanceof Error ? error : new Error(String(error));
305
- displayError(`Export failed: ${err.message}`);
309
+ displayError(`导出失败:${err.message}`);
306
310
  }
307
311
  }
308
312
  /**
@@ -312,27 +316,27 @@ export class InteractiveUI {
312
316
  const { inputPath } = await prompts({
313
317
  type: 'text',
314
318
  name: 'inputPath',
315
- message: 'Import from file:',
319
+ message: '从文件导入:',
316
320
  });
317
321
  if (!inputPath)
318
322
  return;
319
323
  const { confirm } = await prompts({
320
324
  type: 'confirm',
321
325
  name: 'confirm',
322
- message: 'This will replace all existing configurations. Continue?',
326
+ message: '这将替换所有现有配置。是否继续?',
323
327
  initial: false,
324
328
  });
325
329
  if (!confirm) {
326
- displayWarning('Cancelled');
330
+ displayWarning('已取消');
327
331
  return;
328
332
  }
329
333
  try {
330
334
  await restoreConfig(this.configManager, inputPath);
331
- displaySuccess('Configuration imported successfully');
335
+ displaySuccess('配置导入成功');
332
336
  }
333
337
  catch (error) {
334
338
  const err = error instanceof Error ? error : new Error(String(error));
335
- displayError(`Import failed: ${err.message}`);
339
+ displayError(`导入失败:${err.message}`);
336
340
  }
337
341
  }
338
342
  }
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/ui/prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/ui/prompts.ts"],"names":[],"mappings":"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"}
@@ -34,7 +34,7 @@ export async function launchClaude(profile, args = []) {
34
34
  // 构建环境变量
35
35
  const env = {
36
36
  ...process.env,
37
- ANTHROPIC_API_KEY: profile.apiKey,
37
+ ANTHROPIC_AUTH_TOKEN: profile.apiKey,
38
38
  };
39
39
  if (profile.baseUrl) {
40
40
  env.ANTHROPIC_BASE_URL = profile.baseUrl;
@@ -59,9 +59,9 @@ export async function launchClaude(profile, args = []) {
59
59
  });
60
60
  // 处理错误
61
61
  claude.on('error', (error) => {
62
- console.error('Failed to launch claude:', error.message);
63
- console.error('\nMake sure Claude CLI is installed and available in your PATH.');
64
- console.error('Install it from: https://github.com/anthropics/claude-code');
62
+ console.error('启动 Claude 失败:', error.message);
63
+ console.error('\n请确保 Claude CLI 已安装并在 PATH 中可用。');
64
+ console.error('安装地址:https://github.com/anthropics/claude-code');
65
65
  process.exit(1);
66
66
  });
67
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"claude-launcher.js","sourceRoot":"","sources":["../../src/utils/claude-launcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B;;;GAGG;AACH,SAAS,eAAe;IACtB,uBAAuB;IACvB,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,oBAAoB;IACpB,MAAM,QAAQ,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;IAExD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACxD,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,OAAO,CAAC;YACjB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,UAAU;QACZ,CAAC;IACH,CAAC;IAED,uBAAuB;IACvB,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAAyB,EACzB,OAAiB,EAAE;IAEnB,SAAS;IACT,MAAM,GAAG,GAAyB;QAChC,GAAG,OAAO,CAAC,GAAG;QACd,iBAAiB,EAAE,OAAO,CAAC,MAAM;KAClC,CAAC;IAEF,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,GAAG,CAAC,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAC3C,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC;QAC/B,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC;IAClC,CAAC;IAED,IAAI,OAAO,CAAC,0BAA0B,EAAE,CAAC;QACvC,GAAG,CAAC,wCAAwC,GAAG,GAAG,CAAC;IACrD,CAAC;IAED,gBAAgB;IAChB,+BAA+B;IAC/B,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;QAClC,GAAG,EAAE,GAAwB;QAC7B,KAAK,EAAE,SAAS,EAAE,eAAe;KAClC,CAAC,CAAC;IAEH,OAAO;IACP,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,OAAO;IACP,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;QAC3B,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACzD,OAAO,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACjF,OAAO,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAC5E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"claude-launcher.js","sourceRoot":"","sources":["../../src/utils/claude-launcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B;;;GAGG;AACH,SAAS,eAAe;IACtB,uBAAuB;IACvB,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,oBAAoB;IACpB,MAAM,QAAQ,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;IAExD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACxD,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,OAAO,CAAC;YACjB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,UAAU;QACZ,CAAC;IACH,CAAC;IAED,uBAAuB;IACvB,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAAyB,EACzB,OAAiB,EAAE;IAEnB,SAAS;IACT,MAAM,GAAG,GAAyB;QAChC,GAAG,OAAO,CAAC,GAAG;QACd,oBAAoB,EAAE,OAAO,CAAC,MAAM;KACrC,CAAC;IAEF,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,GAAG,CAAC,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAC3C,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC;QAC/B,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC;IAClC,CAAC;IAED,IAAI,OAAO,CAAC,0BAA0B,EAAE,CAAC;QACvC,GAAG,CAAC,wCAAwC,GAAG,GAAG,CAAC;IACrD,CAAC;IAED,gBAAgB;IAChB,+BAA+B;IAC/B,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;QAClC,GAAG,EAAE,GAAwB;QAC7B,KAAK,EAAE,SAAS,EAAE,eAAe;KAClC,CAAC,CAAC;IAEH,OAAO;IACP,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,OAAO;IACP,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;QAC3B,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9C,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAClD,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -14,14 +14,14 @@ export class EncryptionMigration {
14
14
  * 执行加密模式迁移
15
15
  */
16
16
  async migrate() {
17
- displayMessage('\n=== Encryption Mode Migration ===\n');
17
+ displayMessage('\n=== 加密模式迁移 ===\n');
18
18
  // 获取当前加密模式
19
19
  const currentMode = await this.configManager.getEncryptionMode();
20
- displayMessage(`Current encryption mode: ${currentMode}`);
20
+ displayMessage(`当前加密模式:${currentMode}`);
21
21
  if (currentMode === 'legacy') {
22
- displayWarning('\nLegacy mode uses machine-bound encryption.');
23
- displayWarning('Your exported config cannot be restored on different machines.');
24
- displayMessage('\nRecommended: Migrate to a more secure and portable mode.\n');
22
+ displayWarning('\nLegacy 模式使用机器绑定加密。');
23
+ displayWarning('导出的配置无法在其他机器上恢复。');
24
+ displayMessage('\n建议:迁移到更安全和可移植的模式。\n');
25
25
  }
26
26
  // 检查 keychain 是否可用
27
27
  const keychainAvailable = await KeychainManager.isAvailable();
@@ -29,38 +29,38 @@ export class EncryptionMigration {
29
29
  const choices = [];
30
30
  if (keychainAvailable) {
31
31
  choices.push({
32
- title: 'Keychain (Recommended)',
32
+ title: 'Keychain(推荐)',
33
33
  value: 'keychain',
34
- description: 'Store keys in OS keychain - most secure, no passwords needed',
34
+ description: '将密钥存储在系统 keychain - 最安全,无需记住密码',
35
35
  });
36
36
  }
37
37
  else {
38
- displayWarning('Note: OS Keychain not available on this system.');
38
+ displayWarning('注意:本系统不支持 OS Keychain');
39
39
  }
40
40
  choices.push({
41
- title: 'Passphrase',
41
+ title: 'Passphrase(密码)',
42
42
  value: 'passphrase',
43
- description: 'Encrypt with password - portable across machines, password required',
43
+ description: '使用密码加密 - 可跨机器移植,每次需要输入密码',
44
44
  });
45
45
  if (currentMode !== 'legacy') {
46
46
  choices.push({
47
- title: 'Legacy (Not recommended)',
47
+ title: 'Legacy(不推荐)',
48
48
  value: 'legacy',
49
- description: 'Machine-bound encryption - cannot be restored on different machines',
49
+ description: '机器绑定加密 - 无法在其他机器上恢复',
50
50
  });
51
51
  }
52
52
  const { newMode } = await prompts({
53
53
  type: 'select',
54
54
  name: 'newMode',
55
- message: 'Choose new encryption mode:',
55
+ message: '选择新的加密模式:',
56
56
  choices,
57
57
  });
58
58
  if (!newMode) {
59
- displayWarning('Migration cancelled');
59
+ displayWarning('已取消迁移');
60
60
  return;
61
61
  }
62
62
  if (newMode === currentMode) {
63
- displayMessage('Already using this mode. No migration needed.');
63
+ displayMessage('已在使用此模式,无需迁移。');
64
64
  return;
65
65
  }
66
66
  // 如果选择 passphrase 模式,需要输入密码
@@ -69,20 +69,20 @@ export class EncryptionMigration {
69
69
  const { pwd1 } = await prompts({
70
70
  type: 'password',
71
71
  name: 'pwd1',
72
- message: 'Enter new passphrase for encryption:',
73
- validate: (value) => value.length >= 8 ? true : 'Passphrase must be at least 8 characters',
72
+ message: '输入新密码用于加密:',
73
+ validate: (value) => value.length >= 8 ? true : '密码至少需要 8 个字符',
74
74
  });
75
75
  if (!pwd1) {
76
- displayWarning('Migration cancelled');
76
+ displayWarning('已取消迁移');
77
77
  return;
78
78
  }
79
79
  const { pwd2 } = await prompts({
80
80
  type: 'password',
81
81
  name: 'pwd2',
82
- message: 'Confirm passphrase:',
82
+ message: '确认密码:',
83
83
  });
84
84
  if (pwd1 !== pwd2) {
85
- displayError('Passphrases do not match');
85
+ displayError('两次密码输入不一致');
86
86
  return;
87
87
  }
88
88
  passphrase = pwd1;
@@ -91,49 +91,49 @@ export class EncryptionMigration {
91
91
  const { confirm } = await prompts({
92
92
  type: 'confirm',
93
93
  name: 'confirm',
94
- message: `Migrate from ${currentMode} to ${newMode} mode?`,
94
+ message: `确认从 ${currentMode} 迁移到 ${newMode} 模式?`,
95
95
  initial: false,
96
96
  });
97
97
  if (!confirm) {
98
- displayWarning('Migration cancelled');
98
+ displayWarning('已取消迁移');
99
99
  return;
100
100
  }
101
101
  try {
102
- displayMessage('\nBacking up current configuration...');
102
+ displayMessage('\n正在备份当前配置...');
103
103
  // 创建备份
104
104
  const backupPath = `${this.configManager.getConfigPath()}.backup-${Date.now()}`;
105
105
  const configData = await this.configManager.exportConfig();
106
106
  const fs = await import('fs/promises');
107
107
  await fs.writeFile(backupPath, configData, 'utf8');
108
- displaySuccess(`Backup created: ${backupPath}`);
109
- displayMessage('\nMigrating encryption mode...');
108
+ displaySuccess(`备份已创建:${backupPath}`);
109
+ displayMessage('\n正在迁移加密模式...');
110
110
  // 执行迁移
111
111
  await this.configManager.switchEncryptionMode(newMode, passphrase);
112
- displaySuccess(`\nMigration completed!`);
113
- displayMessage(`\nEncryption mode changed: ${currentMode} → ${newMode}`);
112
+ displaySuccess(`\n迁移完成!`);
113
+ displayMessage(`\n加密模式已更改:${currentMode} → ${newMode}`);
114
114
  if (newMode === 'keychain') {
115
- displayMessage('\nYour API keys are now stored in the system keychain.');
116
- displayMessage('The config file only contains non-sensitive data.');
115
+ displayMessage('\n您的 API 密钥现在存储在系统 keychain 中。');
116
+ displayMessage('配置文件仅包含非敏感数据。');
117
117
  }
118
118
  else if (newMode === 'passphrase') {
119
- displayWarning('\nImportant: Remember your passphrase!');
120
- displayWarning('You will need it every time you use hop-claude.');
119
+ displayWarning('\n重要:请记住您的密码!');
120
+ displayWarning('每次使用 hop-claude 时都需要输入密码。');
121
121
  if (passphrase) {
122
122
  this.configManager.setSessionPassphrase(passphrase);
123
123
  }
124
124
  }
125
- displayMessage(`\nBackup file: ${backupPath}`);
126
- displayMessage('You can delete it after verifying the migration works correctly.\n');
125
+ displayMessage(`\n备份文件:${backupPath}`);
126
+ displayMessage('验证迁移成功后可以删除备份文件。\n');
127
127
  }
128
128
  catch (error) {
129
129
  const err = error instanceof Error ? error : new Error(String(error));
130
- displayError(`Migration failed: ${err.message}`);
130
+ displayError(`迁移失败:${err.message}`);
131
131
  if (process.env.DEBUG) {
132
- console.error('\nStack trace:');
132
+ console.error('\n堆栈跟踪:');
133
133
  console.error(err.stack);
134
134
  }
135
- displayWarning('\nYour configuration has been backed up.');
136
- displayWarning('Please restore from backup if needed.');
135
+ displayWarning('\n您的配置已备份。');
136
+ displayWarning('如有需要请从备份恢复。');
137
137
  process.exit(1);
138
138
  }
139
139
  }
@@ -143,33 +143,33 @@ export class EncryptionMigration {
143
143
  async showEncryptionInfo() {
144
144
  const mode = await this.configManager.getEncryptionMode();
145
145
  const keychainAvailable = await KeychainManager.isAvailable();
146
- displayMessage('\n=== Encryption Mode Information ===\n');
147
- displayMessage(`Current mode: ${mode}`);
146
+ displayMessage('\n=== 加密模式信息 ===\n');
147
+ displayMessage(`当前模式:${mode}`);
148
148
  switch (mode) {
149
149
  case 'legacy':
150
- displayMessage('\nLegacy mode:');
151
- displayMessage(' - Uses machine-bound encryption (hostname + username)');
152
- displayMessage(' - Keys are encrypted but tied to this machine');
153
- displayMessage(' - Cannot restore exported configs on different machines');
154
- displayWarning('\n Warning: This mode is deprecated and less secure.');
155
- displayMessage(' Consider migrating to keychain or passphrase mode.');
150
+ displayMessage('\nLegacy 模式:');
151
+ displayMessage(' - 使用机器绑定加密(hostname + username');
152
+ displayMessage(' - 密钥已加密但绑定到本机');
153
+ displayMessage(' - 导出的配置无法在其他机器上恢复');
154
+ displayWarning('\n 警告:此模式已弃用且安全性较低。');
155
+ displayMessage(' 建议迁移到 keychain passphrase 模式。');
156
156
  break;
157
157
  case 'keychain':
158
- displayMessage('\nKeychain mode:');
159
- displayMessage(' - Keys stored in OS keychain (most secure)');
160
- displayMessage(' - No passwords needed for daily use');
161
- displayMessage(' - Keys never written to disk');
162
- displayWarning('\n Note: Cannot export/import keys across machines.');
158
+ displayMessage('\nKeychain 模式:');
159
+ displayMessage(' - 密钥存储在系统 keychain(最安全)');
160
+ displayMessage(' - 日常使用无需输入密码');
161
+ displayMessage(' - 密钥永不写入磁盘');
162
+ displayWarning('\n 注意:无法跨机器导出/导入密钥。');
163
163
  break;
164
164
  case 'passphrase':
165
- displayMessage('\nPassphrase mode:');
166
- displayMessage(' - Keys encrypted with your password');
167
- displayMessage(' - Fully portable across machines');
168
- displayMessage(' - Password required for each operation');
165
+ displayMessage('\nPassphrase 模式:');
166
+ displayMessage(' - 使用密码加密密钥');
167
+ displayMessage(' - 完全可跨机器移植');
168
+ displayMessage(' - 每次操作需要输入密码');
169
169
  break;
170
170
  }
171
- displayMessage(`\nOS Keychain available: ${keychainAvailable ? 'Yes' : 'No'}`);
172
- displayMessage('\nTo migrate to a different mode, run:');
171
+ displayMessage(`\n系统 Keychain 可用:${keychainAvailable ? '' : ''}`);
172
+ displayMessage('\n要迁移到不同模式,请运行:');
173
173
  displayMessage(' hop-claude --migrate-encryption\n');
174
174
  }
175
175
  }
@@ -1 +1 @@
1
- {"version":3,"file":"migration.js","sourceRoot":"","sources":["../../src/utils/migration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migration.js","sourceRoot":"","sources":["../../src/utils/migration.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hop-claude",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "Claude Code configuration manager and launcher",
5
5
  "keywords": [
6
6
  "claude",