@cloudglab/yapi-cli 0.0.2 → 0.0.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/CHANGELOG.md +6 -0
- package/README.md +8 -4
- package/dist/core/auth-mode.d.ts +7 -0
- package/dist/core/auth-mode.js +24 -1
- package/dist/core/auth-mode.js.map +1 -1
- package/dist/install.d.ts +1 -4
- package/dist/install.js +137 -115
- package/dist/install.js.map +1 -1
- package/dist/manifest.json +1 -1
- package/dist/tools/yapi/register-auth.js +23 -7
- package/dist/tools/yapi/register-auth.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/skills/yapi-cli/reference/auth.md +2 -2
- package/skills/yapi-cli/reference/commands.md +1 -1
- package/skills/yapi-cli/reference/install.md +5 -10
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.0.3 - 2026-06-22
|
|
4
|
+
|
|
5
|
+
- 安装与初始化链路改为对齐 `zentao-cli` 的统一配置校验流程,避免 `npx -y @cloudglab/yapi-cli@latest install` 先装 skill 再因缺少 `--url` 直接失败。
|
|
6
|
+
- `install` 与 `config-init` 在交互终端下会统一引导输入 YApi 地址、登录用户名、登录密码和认证方式;非交互环境下会给出一致的显式传参提示。
|
|
7
|
+
- 同步修正文档中的安装示例与说明,去掉已经不再适用的旧参数写法。
|
|
8
|
+
|
|
3
9
|
## 0.0.2 - 2026-06-22
|
|
4
10
|
|
|
5
11
|
- 新增按组懒加载与 `manifest` 机制,帮助、补全和命令执行更稳定。
|
package/README.md
CHANGED
|
@@ -10,14 +10,14 @@
|
|
|
10
10
|
|
|
11
11
|
- 默认 JSON 输出适合 AI / 脚本消费:统一走 `jsonResult`,并可切到 `pretty` 人类可读模式。
|
|
12
12
|
- 新增内置命令:`doctor`、`changelog`、`completion`,补齐安装 / 更新 / 卸载 / 版本查看链路。
|
|
13
|
-
- 配置文件按 `url/username/password/authMode`
|
|
13
|
+
- 配置文件按 `url/username/password/authMode` 收敛;`install` / `config-init` 现在统一走配置校验流程:交互终端会逐步提示填写,非交互环境会明确要求显式传参,token 只保存在认证缓存里。
|
|
14
14
|
- 命令层统一使用 `InMemoryCliRegistry + Zod schema + jsonResult`,便于 Agent 稳定调用。
|
|
15
15
|
- 共享了分页、项目 ID、可选文本、布尔值和导出格式等 Zod 片段,减少重复定义。
|
|
16
16
|
- API 客户端加入超时、重试和错误分层,遇到认证 / 网络 / 配置错误时可直接判断。
|
|
17
17
|
|
|
18
18
|
## 典型变化
|
|
19
19
|
|
|
20
|
-
- **输出模式**:`yapi --json
|
|
20
|
+
- **输出模式**:`yapi <command> --json` 会返回 JSON 结果;默认模式在终端输出更适合人工阅读的文本。
|
|
21
21
|
- **自检**:`yapi doctor --verbose` 可检查 Node 版本、配置、网络连通性和认证状态。
|
|
22
22
|
- **版本记录**:`yapi changelog --limit 5`、`--version`、`--since`、`--raw` 都可用。
|
|
23
23
|
- **补全**:`yapi completion bash|zsh|fish` 会生成对应 shell 的补全脚本。
|
|
@@ -33,10 +33,10 @@
|
|
|
33
33
|
### 推荐:一键安装 CLI + Skill
|
|
34
34
|
|
|
35
35
|
```bash
|
|
36
|
-
npx -y yapi-cli@latest install
|
|
36
|
+
npx -y @cloudglab/yapi-cli@latest install
|
|
37
37
|
```
|
|
38
38
|
|
|
39
|
-
该命令会安装全局 CLI 和内置 Skill
|
|
39
|
+
该命令会安装全局 CLI 和内置 Skill。首次安装时,会先检查本机是否已有可用配置;如果没有,会在交互终端里逐步提示你输入 YApi 地址、登录用户名、登录密码和认证方式。
|
|
40
40
|
|
|
41
41
|
如果需要重新安装 skill,可直接运行:
|
|
42
42
|
|
|
@@ -55,6 +55,7 @@ yapi update
|
|
|
55
55
|
```bash
|
|
56
56
|
yapi help
|
|
57
57
|
yapi list
|
|
58
|
+
yapi install
|
|
58
59
|
yapi version --verbose
|
|
59
60
|
yapi doctor
|
|
60
61
|
yapi changelog --limit 5
|
|
@@ -62,6 +63,7 @@ yapi completion bash
|
|
|
62
63
|
```
|
|
63
64
|
|
|
64
65
|
```bash
|
|
66
|
+
yapi config-init
|
|
65
67
|
yapi config-init --url https://yapi.example.com --username user@example.com --password secret --auth-mode native
|
|
66
68
|
yapi config-init --url https://yapi.example.com --username user@example.com --password secret --auth-mode ldap
|
|
67
69
|
yapi login
|
|
@@ -70,6 +72,8 @@ yapi login --email user@example.com --password secret --ldap true
|
|
|
70
72
|
yapi whoami
|
|
71
73
|
```
|
|
72
74
|
|
|
75
|
+
如果在 CI 或其他非交互环境中初始化配置,请显式传入 `--url`、`--username`、`--password`、`--auth-mode`。
|
|
76
|
+
|
|
73
77
|
```bash
|
|
74
78
|
yapi group-list
|
|
75
79
|
yapi project-list --project-id 1
|
package/dist/core/auth-mode.d.ts
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
1
|
import type { YApiConfig } from '../services/yapi/types.js';
|
|
2
2
|
export type YApiAuthMode = YApiConfig['authMode'];
|
|
3
|
+
export declare function isInteractive(): boolean;
|
|
4
|
+
export declare function resolveRequiredTextInput(value: string | undefined, options: {
|
|
5
|
+
context: string;
|
|
6
|
+
flag: string;
|
|
7
|
+
prompt: string;
|
|
8
|
+
normalize?: (input: string) => string;
|
|
9
|
+
}): Promise<string>;
|
|
3
10
|
export declare function resolveAuthModeSelection(authMode: YApiAuthMode | undefined, context: string): Promise<YApiAuthMode>;
|
package/dist/core/auth-mode.js
CHANGED
|
@@ -1,8 +1,31 @@
|
|
|
1
1
|
import { createInterface } from 'node:readline/promises';
|
|
2
2
|
import { stdin, stdout } from 'node:process';
|
|
3
|
-
function isInteractive() {
|
|
3
|
+
export function isInteractive() {
|
|
4
4
|
return stdin.isTTY && stdout.isTTY && process.env.CI !== 'true';
|
|
5
5
|
}
|
|
6
|
+
export async function resolveRequiredTextInput(value, options) {
|
|
7
|
+
const normalize = options.normalize ?? ((input) => input.trim());
|
|
8
|
+
const currentValue = value?.trim();
|
|
9
|
+
if (currentValue) {
|
|
10
|
+
return normalize(currentValue);
|
|
11
|
+
}
|
|
12
|
+
if (!isInteractive()) {
|
|
13
|
+
throw new Error(`${options.context} 未提供 ${options.flag},请显式传 ${options.flag}`);
|
|
14
|
+
}
|
|
15
|
+
const rl = createInterface({ input: stdin, output: stdout });
|
|
16
|
+
try {
|
|
17
|
+
while (true) {
|
|
18
|
+
const answer = normalize(await rl.question(`${options.prompt}:`));
|
|
19
|
+
if (answer) {
|
|
20
|
+
return answer;
|
|
21
|
+
}
|
|
22
|
+
stdout.write(`${options.prompt} 不能为空,请重新输入。\n`);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
finally {
|
|
26
|
+
rl.close();
|
|
27
|
+
}
|
|
28
|
+
}
|
|
6
29
|
function normalizeAuthMode(value) {
|
|
7
30
|
const normalized = value.trim().toLowerCase();
|
|
8
31
|
if (normalized === '' || ['1', 'native', 'normal', '普通', '普通登录', '普通登录方式'].includes(normalized)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-mode.js","sourceRoot":"","sources":["../../src/core/auth-mode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAK7C,
|
|
1
|
+
{"version":3,"file":"auth-mode.js","sourceRoot":"","sources":["../../src/core/auth-mode.ts"],"names":[],"mappings":"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"}
|
package/dist/install.d.ts
CHANGED
|
@@ -3,10 +3,7 @@ export interface InstallOptions {
|
|
|
3
3
|
skillOnly: boolean;
|
|
4
4
|
skillPath?: string;
|
|
5
5
|
yes: boolean;
|
|
6
|
-
|
|
7
|
-
username?: string;
|
|
8
|
-
password?: string;
|
|
9
|
-
authMode?: 'native' | 'ldap';
|
|
6
|
+
keepConfig: boolean;
|
|
10
7
|
}
|
|
11
8
|
export declare function parseInstallOptions(args: string[]): InstallOptions;
|
|
12
9
|
export declare function runInstallCommand(args: string[], _appName?: string): Promise<void>;
|
package/dist/install.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { existsSync, mkdirSync, copyFileSync, unlinkSync } from 'node:fs';
|
|
2
2
|
import { join, dirname } from 'node:path';
|
|
3
3
|
import { fileURLToPath } from 'node:url';
|
|
4
|
+
import readline from 'node:readline';
|
|
4
5
|
import { YAPI_HOME, saveConfig, loadConfig, maskConfig } from './services/yapi/config.js';
|
|
5
|
-
import {
|
|
6
|
+
import { YApiAuthService, YApiService, encryptPassword } from './services/yapi/index.js';
|
|
6
7
|
/** 获取当前模块目录(兼容 Node 18-20) */
|
|
7
8
|
function getModuleDir(importMetaUrl) {
|
|
8
9
|
return dirname(fileURLToPath(importMetaUrl));
|
|
@@ -17,6 +18,7 @@ export function parseInstallOptions(args) {
|
|
|
17
18
|
cliOnly: false,
|
|
18
19
|
skillOnly: false,
|
|
19
20
|
yes: false,
|
|
21
|
+
keepConfig: false,
|
|
20
22
|
};
|
|
21
23
|
for (let index = 0; index < args.length; index += 1) {
|
|
22
24
|
const token = args[index];
|
|
@@ -26,118 +28,165 @@ export function parseInstallOptions(args) {
|
|
|
26
28
|
options.skillOnly = true;
|
|
27
29
|
else if (token === '--yes' || token === '-y')
|
|
28
30
|
options.yes = true;
|
|
31
|
+
else if (token === '--confirm')
|
|
32
|
+
options.yes = true;
|
|
33
|
+
else if (token === '--keep-config')
|
|
34
|
+
options.keepConfig = true;
|
|
29
35
|
else if (token.startsWith('--skill-path='))
|
|
30
36
|
options.skillPath = token.slice('--skill-path='.length);
|
|
31
37
|
else if (token === '--skill-path') {
|
|
32
38
|
options.skillPath = args[index + 1];
|
|
33
39
|
index += 1;
|
|
34
40
|
}
|
|
35
|
-
else if (token.startsWith('--url='))
|
|
36
|
-
options.url = token.slice('--url='.length);
|
|
37
|
-
else if (token === '--url') {
|
|
38
|
-
options.url = args[index + 1];
|
|
39
|
-
index += 1;
|
|
40
|
-
}
|
|
41
|
-
else if (token.startsWith('--server='))
|
|
42
|
-
options.url = token.slice('--server='.length);
|
|
43
|
-
else if (token === '--server') {
|
|
44
|
-
options.url = args[index + 1];
|
|
45
|
-
index += 1;
|
|
46
|
-
}
|
|
47
|
-
else if (token.startsWith('--username='))
|
|
48
|
-
options.username = token.slice('--username='.length);
|
|
49
|
-
else if (token === '--username') {
|
|
50
|
-
options.username = args[index + 1];
|
|
51
|
-
index += 1;
|
|
52
|
-
}
|
|
53
|
-
else if (token.startsWith('--password='))
|
|
54
|
-
options.password = token.slice('--password='.length);
|
|
55
|
-
else if (token === '--password') {
|
|
56
|
-
options.password = args[index + 1];
|
|
57
|
-
index += 1;
|
|
58
|
-
}
|
|
59
|
-
else if (token.startsWith('--auth-mode='))
|
|
60
|
-
options.authMode = token.slice('--auth-mode='.length);
|
|
61
|
-
else if (token === '--auth-mode') {
|
|
62
|
-
options.authMode = args[index + 1];
|
|
63
|
-
index += 1;
|
|
64
|
-
}
|
|
65
41
|
else if (token.startsWith('--yes='))
|
|
66
42
|
options.yes = parseBooleanFlag(token.slice('--yes='.length));
|
|
43
|
+
else if (token.startsWith('--confirm='))
|
|
44
|
+
options.yes = parseBooleanFlag(token.slice('--confirm='.length));
|
|
67
45
|
else if (token.startsWith('--cli-only='))
|
|
68
46
|
options.cliOnly = parseBooleanFlag(token.slice('--cli-only='.length));
|
|
69
47
|
else if (token.startsWith('--skill-only='))
|
|
70
48
|
options.skillOnly = parseBooleanFlag(token.slice('--skill-only='.length));
|
|
49
|
+
else if (token.startsWith('--keep-config='))
|
|
50
|
+
options.keepConfig = parseBooleanFlag(token.slice('--keep-config='.length));
|
|
51
|
+
else
|
|
52
|
+
throw new Error(`未知安装参数: ${token}`);
|
|
71
53
|
}
|
|
72
54
|
return options;
|
|
73
55
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
56
|
+
function printSuccessGuide(action, status) {
|
|
57
|
+
process.stdout.write(`\n${action}完成,${status}\n\n`);
|
|
58
|
+
process.stdout.write([
|
|
59
|
+
'快速开始:',
|
|
60
|
+
' yapi help 查看帮助',
|
|
61
|
+
' yapi list 查看全部命令',
|
|
62
|
+
' yapi whoami 校验当前账号',
|
|
63
|
+
' yapi group-list 查看分组',
|
|
64
|
+
' yapi project-list 查看项目',
|
|
65
|
+
'',
|
|
66
|
+
'常用配置:',
|
|
67
|
+
' yapi update 更新 CLI 和 Skill',
|
|
68
|
+
' yapi install --skill-only 仅安装 Skill',
|
|
69
|
+
].join('\n') + '\n');
|
|
70
|
+
}
|
|
71
|
+
async function ensureValidYApiConfig() {
|
|
72
|
+
const { config: existing, error: loadError } = tryLoadConfig();
|
|
73
|
+
if (existing && await validateConfig(existing)) {
|
|
74
|
+
process.stdout.write(`\nYApi 配置校验通过:${JSON.stringify(maskConfig(existing))}\n`);
|
|
75
|
+
return;
|
|
81
76
|
}
|
|
82
|
-
|
|
83
|
-
|
|
77
|
+
if (existing) {
|
|
78
|
+
process.stdout.write('\n检测到已有 YApi 配置,但登录校验失败,请重新输入。\n');
|
|
84
79
|
}
|
|
85
|
-
if (
|
|
86
|
-
process.stdout.write(
|
|
87
|
-
if (
|
|
88
|
-
|
|
80
|
+
else if (loadError) {
|
|
81
|
+
process.stdout.write(`\n检测到 YApi 配置文件异常:${loadError.message}\n`);
|
|
82
|
+
if (!process.stdin.isTTY || !process.stdout.isTTY) {
|
|
83
|
+
throw loadError;
|
|
89
84
|
}
|
|
90
|
-
return;
|
|
91
85
|
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
config.url = options.url.replace(/\/+$/, '');
|
|
86
|
+
else {
|
|
87
|
+
process.stdout.write('\n未检测到可用 YApi 配置,请输入配置。\n');
|
|
95
88
|
}
|
|
96
|
-
|
|
97
|
-
|
|
89
|
+
const config = await promptForConfig(existing ?? undefined);
|
|
90
|
+
await validateConfigOrThrow(config);
|
|
91
|
+
saveConfig(config);
|
|
92
|
+
process.stdout.write(`已保存 YApi 配置:${JSON.stringify(maskConfig(config))}\n`);
|
|
93
|
+
}
|
|
94
|
+
function tryLoadConfig() {
|
|
95
|
+
try {
|
|
96
|
+
return { config: loadConfig() };
|
|
98
97
|
}
|
|
99
|
-
|
|
100
|
-
|
|
98
|
+
catch (error) {
|
|
99
|
+
return {
|
|
100
|
+
config: null,
|
|
101
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
102
|
+
};
|
|
101
103
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
+
}
|
|
105
|
+
async function validateConfig(config) {
|
|
106
|
+
try {
|
|
107
|
+
await validateConfigOrThrow(config);
|
|
108
|
+
return true;
|
|
104
109
|
}
|
|
105
|
-
|
|
106
|
-
|
|
110
|
+
catch {
|
|
111
|
+
return false;
|
|
107
112
|
}
|
|
108
|
-
|
|
109
|
-
|
|
113
|
+
}
|
|
114
|
+
async function validateConfigOrThrow(config) {
|
|
115
|
+
const auth = new YApiAuthService(YAPI_HOME);
|
|
116
|
+
const api = new YApiService(config.url, () => auth.getAuthHeaders(), () => auth.getToken() ?? '');
|
|
117
|
+
if (config.authMode === 'ldap') {
|
|
118
|
+
const result = await api.loginByLdap(config.username, encryptPassword(config.password));
|
|
119
|
+
auth.loginWithJwtCookie(result.token, result.username, result.uid);
|
|
110
120
|
}
|
|
111
|
-
else
|
|
112
|
-
|
|
121
|
+
else {
|
|
122
|
+
const result = await api.loginWithPassword(config.username, config.password);
|
|
123
|
+
auth.loginWithJwtCookie(result.token, result.username, result.uid);
|
|
113
124
|
}
|
|
114
|
-
|
|
115
|
-
|
|
125
|
+
await api.getLoginStatus();
|
|
126
|
+
}
|
|
127
|
+
async function promptForConfig(defaults) {
|
|
128
|
+
if (!process.stdin.isTTY || !process.stdout.isTTY) {
|
|
129
|
+
throw new Error('当前不是交互式终端,无法输入配置。请显式传 --url、--username、--password、--auth-mode 后重试。');
|
|
116
130
|
}
|
|
117
|
-
|
|
118
|
-
|
|
131
|
+
const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
|
|
132
|
+
try {
|
|
133
|
+
const url = (await ask(rl, 'YApi 地址', defaults?.url)).replace(/\/+$/, '');
|
|
134
|
+
const username = await ask(rl, '登录用户名', defaults?.username);
|
|
135
|
+
const password = await askPassword(rl, defaults?.password ? '登录密码(直接回车保留原密码)' : '登录密码');
|
|
136
|
+
const authMode = await askAuthMode(rl, defaults?.authMode);
|
|
137
|
+
return {
|
|
138
|
+
url,
|
|
139
|
+
username,
|
|
140
|
+
password: password || defaults?.password || '',
|
|
141
|
+
authMode,
|
|
142
|
+
};
|
|
119
143
|
}
|
|
120
|
-
|
|
121
|
-
|
|
144
|
+
finally {
|
|
145
|
+
rl.close();
|
|
122
146
|
}
|
|
123
|
-
|
|
124
|
-
|
|
147
|
+
}
|
|
148
|
+
async function askAuthMode(rl, defaultValue) {
|
|
149
|
+
const defaultLabel = defaultValue === 'ldap' ? '2' : '1';
|
|
150
|
+
while (true) {
|
|
151
|
+
process.stdout.write([
|
|
152
|
+
'',
|
|
153
|
+
'安装 需要选择登录方式:',
|
|
154
|
+
' 1) native 普通登录(YApi 原生密码登录)',
|
|
155
|
+
' 2) ldap LDAP 登录(需要 LDAP 账号)',
|
|
156
|
+
].join('\n') + '\n');
|
|
157
|
+
const answer = await ask(rl, '请输入 1 或 2', defaultLabel);
|
|
158
|
+
if (answer === '1')
|
|
159
|
+
return 'native';
|
|
160
|
+
if (answer === '2')
|
|
161
|
+
return 'ldap';
|
|
162
|
+
process.stdout.write('输入无效,请重新输入 1 或 2。\n');
|
|
125
163
|
}
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
164
|
+
}
|
|
165
|
+
function ask(rl, label, defaultValue = '') {
|
|
166
|
+
const suffix = defaultValue ? ` [${defaultValue}]` : '';
|
|
167
|
+
return new Promise((resolve) => {
|
|
168
|
+
rl.question(`${label}${suffix}: `, (answer) => resolve(answer.trim() || defaultValue));
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
function askPassword(rl, label) {
|
|
172
|
+
const mutableRl = rl;
|
|
173
|
+
return new Promise((resolve) => {
|
|
174
|
+
mutableRl.stdoutMuted = true;
|
|
175
|
+
const originalWrite = mutableRl._writeToOutput?.bind(rl);
|
|
176
|
+
if (originalWrite) {
|
|
177
|
+
mutableRl._writeToOutput = (value) => {
|
|
178
|
+
originalWrite(mutableRl.stdoutMuted ? '*' : value);
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
mutableRl.question(`${label}: `, (answer) => {
|
|
182
|
+
mutableRl.stdoutMuted = false;
|
|
183
|
+
process.stdout.write('\n');
|
|
184
|
+
if (originalWrite) {
|
|
185
|
+
mutableRl._writeToOutput = originalWrite;
|
|
186
|
+
}
|
|
187
|
+
resolve(answer.trim());
|
|
188
|
+
});
|
|
189
|
+
});
|
|
141
190
|
}
|
|
142
191
|
/** 安装 Skill */
|
|
143
192
|
function installSkill(options) {
|
|
@@ -177,43 +226,15 @@ function installSkill(options) {
|
|
|
177
226
|
}
|
|
178
227
|
process.stdout.write('未找到内置 skill 文件。可通过 --skill-path 指定路径\n');
|
|
179
228
|
}
|
|
180
|
-
/** 测试连接 */
|
|
181
|
-
async function testConnection() {
|
|
182
|
-
let config = null;
|
|
183
|
-
try {
|
|
184
|
-
config = loadConfig();
|
|
185
|
-
}
|
|
186
|
-
catch (error) {
|
|
187
|
-
process.stdout.write(`⚠️ 跳过连接校验:${error instanceof Error ? error.message : String(error)}\n`);
|
|
188
|
-
return;
|
|
189
|
-
}
|
|
190
|
-
if (!config) {
|
|
191
|
-
process.stdout.write('跳过连接校验(未配置)\n');
|
|
192
|
-
return;
|
|
193
|
-
}
|
|
194
|
-
try {
|
|
195
|
-
const url = `${config.url}/api/user/status`;
|
|
196
|
-
const response = await fetch(url);
|
|
197
|
-
if (response.ok) {
|
|
198
|
-
process.stdout.write('✅ 连接校验通过\n');
|
|
199
|
-
}
|
|
200
|
-
else {
|
|
201
|
-
process.stdout.write(`⚠️ 连接校验返回 ${response.status},请检查 URL 或认证配置\n`);
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
catch (error) {
|
|
205
|
-
process.stdout.write(`⚠️ 连接校验失败: ${error instanceof Error ? error.message : String(error)}\n`);
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
229
|
export async function runInstallCommand(args, _appName = 'yapi-cli') {
|
|
209
230
|
const options = parseInstallOptions(args);
|
|
210
231
|
if (!options.cliOnly) {
|
|
211
232
|
installSkill(options);
|
|
212
233
|
}
|
|
213
234
|
if (!options.skillOnly) {
|
|
214
|
-
await
|
|
235
|
+
await ensureValidYApiConfig();
|
|
215
236
|
}
|
|
216
|
-
|
|
237
|
+
printSuccessGuide('安装', 'YApi 配置校验通过。');
|
|
217
238
|
}
|
|
218
239
|
export async function runUpdateCommand(args, _appName = 'yapi-cli') {
|
|
219
240
|
const options = parseInstallOptions(args);
|
|
@@ -222,8 +243,9 @@ export async function runUpdateCommand(args, _appName = 'yapi-cli') {
|
|
|
222
243
|
installSkill(options);
|
|
223
244
|
}
|
|
224
245
|
if (!options.skillOnly) {
|
|
225
|
-
|
|
246
|
+
await ensureValidYApiConfig();
|
|
226
247
|
}
|
|
248
|
+
printSuccessGuide('更新', 'YApi 配置校验通过。');
|
|
227
249
|
}
|
|
228
250
|
export async function runUninstallCommand(args, _appName = 'yapi-cli') {
|
|
229
251
|
const options = parseInstallOptions(args);
|
|
@@ -238,7 +260,7 @@ export async function runUninstallCommand(args, _appName = 'yapi-cli') {
|
|
|
238
260
|
process.stdout.write('未找到已安装的 skill\n');
|
|
239
261
|
}
|
|
240
262
|
}
|
|
241
|
-
if (!options.skillOnly && options.yes) {
|
|
263
|
+
if (!options.skillOnly && options.yes && !options.keepConfig) {
|
|
242
264
|
// 只有在 --yes 时才删除配置
|
|
243
265
|
const configFile = join(YAPI_HOME, 'config.json');
|
|
244
266
|
if (existsSync(configFile)) {
|
package/dist/install.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
|
package/dist/manifest.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { resolveAuthModeSelection } from '../../core/auth-mode.js';
|
|
2
|
+
import { isInteractive, resolveAuthModeSelection, resolveRequiredTextInput } from '../../core/auth-mode.js';
|
|
3
3
|
import { CliConfigError, CliValidationError } from '../../core/errors.js';
|
|
4
4
|
import { jsonResult, optionalTrimmedText } from '../shared.js';
|
|
5
5
|
import { saveConfig, hasConfig, loadConfig, YAPI_HOME, YApiAuthService, YApiService, encryptPassword } from '../../services/yapi/index.js';
|
|
6
6
|
export function registerAuthCommands(registry) {
|
|
7
7
|
// ==================== 配置初始化 ====================
|
|
8
8
|
registry.tool('config-init', {
|
|
9
|
-
url:
|
|
9
|
+
url: optionalTrimmedText.describe('YApi 服务器地址(如 https://yapi.example.com)'),
|
|
10
10
|
username: optionalTrimmedText.describe('登录用户名(通常是邮箱)'),
|
|
11
11
|
password: optionalTrimmedText.describe('登录密码'),
|
|
12
12
|
authMode: z.enum(['native', 'ldap']).optional().describe('认证方式(native/ldap)'),
|
|
@@ -14,14 +14,30 @@ export function registerAuthCommands(registry) {
|
|
|
14
14
|
if (hasConfig()) {
|
|
15
15
|
throw new CliConfigError('配置文件已存在,如需重新配置请先删除 ~/.yapi/config.json');
|
|
16
16
|
}
|
|
17
|
-
if (!input.username || !input.password) {
|
|
18
|
-
throw new CliValidationError('
|
|
17
|
+
if (!isInteractive() && (!input.url || !input.username || !input.password || !input.authMode)) {
|
|
18
|
+
throw new CliValidationError('当前不是交互式终端,无法输入配置。请显式传 --url、--username、--password、--auth-mode 后重试。');
|
|
19
19
|
}
|
|
20
|
+
const url = await resolveRequiredTextInput(input.url, {
|
|
21
|
+
context: '配置初始化',
|
|
22
|
+
flag: '--url',
|
|
23
|
+
prompt: '请输入 YApi 服务器地址',
|
|
24
|
+
normalize: (value) => value.trim().replace(/\/+$/, ''),
|
|
25
|
+
});
|
|
26
|
+
const username = await resolveRequiredTextInput(input.username, {
|
|
27
|
+
context: '配置初始化',
|
|
28
|
+
flag: '--username',
|
|
29
|
+
prompt: '请输入登录用户名',
|
|
30
|
+
});
|
|
31
|
+
const password = await resolveRequiredTextInput(input.password, {
|
|
32
|
+
context: '配置初始化',
|
|
33
|
+
flag: '--password',
|
|
34
|
+
prompt: '请输入登录密码(输入可见)',
|
|
35
|
+
});
|
|
20
36
|
const authMode = await resolveAuthModeSelection(input.authMode, '配置初始化');
|
|
21
37
|
const config = {
|
|
22
|
-
url
|
|
23
|
-
username
|
|
24
|
-
password
|
|
38
|
+
url,
|
|
39
|
+
username,
|
|
40
|
+
password,
|
|
25
41
|
authMode,
|
|
26
42
|
};
|
|
27
43
|
saveConfig(config);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-auth.js","sourceRoot":"","sources":["../../../src/tools/yapi/register-auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"register-auth.js","sourceRoot":"","sources":["../../../src/tools/yapi/register-auth.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const CLI_VERSION = "0.0.
|
|
1
|
+
export declare const CLI_VERSION = "0.0.3";
|
package/dist/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const CLI_VERSION = '0.0.
|
|
1
|
+
export const CLI_VERSION = '0.0.3';
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
在调用任何认证或用户管理命令前,先判断用户意图:
|
|
6
6
|
|
|
7
|
-
1. **配置初始化** →
|
|
7
|
+
1. **配置初始化** → 新用户首次使用,可直接运行 `config-init` 交互填写,也可显式传 `--url` + `--username` + `--password` + `--auth-mode`
|
|
8
8
|
2. **登录** → 区分 token 登录 vs 密码登录(普通 native / LDAP)
|
|
9
9
|
3. **查看当前用户** → `whoami`,不需要参数
|
|
10
10
|
4. **用户管理** → 管理员操作,需要确认是否有权限
|
|
@@ -23,7 +23,7 @@ yapi config-init --url https://yapi.example.com --username user@example.com --pa
|
|
|
23
23
|
- `--password`:登录密码
|
|
24
24
|
- `--auth-mode`:认证方式,支持 `native` / `ldap`
|
|
25
25
|
|
|
26
|
-
如果不传 `--auth-mode`,`install` / `config-init`
|
|
26
|
+
如果不传 `--url`、`--username`、`--password`、`--auth-mode`,`install` / `config-init` 会在交互终端里逐步提示你填写;其中 `auth-mode` 会引导你选择普通登录还是 LDAP 登录。
|
|
27
27
|
|
|
28
28
|
### Token 登录
|
|
29
29
|
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
| 场景 | 命令 | 用法 | 说明 |
|
|
14
14
|
| --- | --- | --- | --- |
|
|
15
|
-
| 初始化配置 | `config-init` | `yapi config-init --url <url> --username <u> --password <p> [--
|
|
15
|
+
| 初始化配置 | `config-init` | `yapi config-init [--url <url>] [--username <u>] [--password <p>] [--auth-mode native]` | 首次使用必做;缺参时可交互填写 |
|
|
16
16
|
| Token 登录 | `login` | `yapi login --token <t>` | 用 token 认证 |
|
|
17
17
|
| 密码登录 | `login` | `yapi login [--username <u>] [--email <e>] [--password <p>] [--ldap true]` | 不带参数时使用配置文件 |
|
|
18
18
|
| Token 快捷登录 | `login-by-token` | `yapi login-by-token --token <t>` | 纯 token 登录 |
|
|
@@ -6,12 +6,10 @@
|
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
8
|
yapi install
|
|
9
|
-
yapi install --url https://yapi.example.com --username user@example.com --password secret
|
|
10
|
-
yapi install --url https://yapi.example.com --username user@example.com --password secret --auth-mode ldap
|
|
11
9
|
npx -y @cloudglab/yapi-cli@latest install
|
|
12
10
|
```
|
|
13
11
|
|
|
14
|
-
|
|
12
|
+
`install` 会在交互终端里逐步提示你填写 YApi 地址、登录用户名、登录密码和认证方式;`auth-mode` 会引导你选择 `native` 普通登录或 `ldap` 登录。
|
|
15
13
|
|
|
16
14
|
仅 skill:
|
|
17
15
|
|
|
@@ -22,16 +20,14 @@ yapi install --skill-only
|
|
|
22
20
|
仅 CLI 配置:
|
|
23
21
|
|
|
24
22
|
```bash
|
|
25
|
-
yapi install --cli-only
|
|
23
|
+
yapi install --cli-only
|
|
26
24
|
```
|
|
27
25
|
|
|
28
|
-
|
|
26
|
+
从本地文件安装 skill:
|
|
29
27
|
|
|
30
28
|
```bash
|
|
31
|
-
yapi install --skill-
|
|
32
|
-
|
|
33
|
-
npx -y @cloudglab/yapi-cli@latest install --skill-source git
|
|
34
|
-
npx -y @cloudglab/yapi-cli@latest install --skill-local-path ./package
|
|
29
|
+
yapi install --skill-path ./SKILL.md
|
|
30
|
+
npx -y @cloudglab/yapi-cli@latest install --skill-path ./SKILL.md
|
|
35
31
|
```
|
|
36
32
|
|
|
37
33
|
## 更新
|
|
@@ -40,7 +36,6 @@ npx -y @cloudglab/yapi-cli@latest install --skill-local-path ./package
|
|
|
40
36
|
yapi update
|
|
41
37
|
yapi update --cli-only
|
|
42
38
|
yapi update --skill-only
|
|
43
|
-
yapi update --skip-config-check
|
|
44
39
|
```
|
|
45
40
|
|
|
46
41
|
更新会先检查 npm 版本,再刷新本地 skill。
|