@cloudglab/yapi-cli 0.0.1 → 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.
Files changed (70) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +14 -6
  3. package/dist/cli.js +37 -11
  4. package/dist/cli.js.map +1 -1
  5. package/dist/core/auth-mode.d.ts +10 -0
  6. package/dist/core/auth-mode.js +65 -0
  7. package/dist/core/auth-mode.js.map +1 -0
  8. package/dist/core/cli-output.d.ts +1 -1
  9. package/dist/core/cli-output.js +28 -5
  10. package/dist/core/cli-output.js.map +1 -1
  11. package/dist/core/completion.d.ts +3 -2
  12. package/dist/core/completion.js +7 -5
  13. package/dist/core/completion.js.map +1 -1
  14. package/dist/core/doctor.js +25 -17
  15. package/dist/core/doctor.js.map +1 -1
  16. package/dist/core/manifest.d.ts +15 -0
  17. package/dist/core/manifest.js +44 -0
  18. package/dist/core/manifest.js.map +1 -0
  19. package/dist/core/output.js +33 -0
  20. package/dist/core/output.js.map +1 -1
  21. package/dist/core/tool-registry.d.ts +10 -0
  22. package/dist/core/tool-registry.js +50 -0
  23. package/dist/core/tool-registry.js.map +1 -0
  24. package/dist/index.d.ts +2 -1
  25. package/dist/index.js +2 -1
  26. package/dist/index.js.map +1 -1
  27. package/dist/install.d.ts +1 -3
  28. package/dist/install.js +142 -71
  29. package/dist/install.js.map +1 -1
  30. package/dist/manifest.json +560 -0
  31. package/dist/services/yapi/api.d.ts +8 -12
  32. package/dist/services/yapi/api.js +39 -20
  33. package/dist/services/yapi/api.js.map +1 -1
  34. package/dist/services/yapi/config.d.ts +3 -0
  35. package/dist/services/yapi/config.js +39 -7
  36. package/dist/services/yapi/config.js.map +1 -1
  37. package/dist/services/yapi/index.d.ts +1 -1
  38. package/dist/services/yapi/index.js +1 -1
  39. package/dist/services/yapi/index.js.map +1 -1
  40. package/dist/services/yapi/types.d.ts +7 -11
  41. package/dist/tools/index.d.ts +1 -2
  42. package/dist/tools/index.js +1 -4
  43. package/dist/tools/index.js.map +1 -1
  44. package/dist/tools/yapi/groups.d.ts +2 -0
  45. package/dist/tools/yapi/groups.js +2 -0
  46. package/dist/tools/yapi/groups.js.map +1 -0
  47. package/dist/tools/yapi/register-auth.js +72 -47
  48. package/dist/tools/yapi/register-auth.js.map +1 -1
  49. package/dist/tools/yapi/register-group.js +34 -0
  50. package/dist/tools/yapi/register-group.js.map +1 -1
  51. package/dist/tools/yapi/register-interface.js +194 -4
  52. package/dist/tools/yapi/register-interface.js.map +1 -1
  53. package/dist/tools/yapi/register-project.js +186 -0
  54. package/dist/tools/yapi/register-project.js.map +1 -1
  55. package/dist/tools/yapi/register-util.js +199 -1
  56. package/dist/tools/yapi/register-util.js.map +1 -1
  57. package/dist/tools/yapi/register.d.ts +5 -0
  58. package/dist/tools/yapi/register.js +39 -0
  59. package/dist/tools/yapi/register.js.map +1 -1
  60. package/dist/tools/yapi/utils.js +1 -1
  61. package/dist/tools/yapi/utils.js.map +1 -1
  62. package/dist/version.d.ts +1 -1
  63. package/dist/version.js +1 -1
  64. package/docs/index.html +47 -0
  65. package/package.json +6 -2
  66. package/skills/yapi-cli/SKILL.md +1 -0
  67. package/skills/yapi-cli/reference/auth.md +21 -14
  68. package/skills/yapi-cli/reference/commands.md +3 -3
  69. package/skills/yapi-cli/reference/install.md +6 -8
  70. package/skills/yapi-cli/reference/overview.md +4 -3
@@ -4,8 +4,8 @@
4
4
 
5
5
  在调用任何认证或用户管理命令前,先判断用户意图:
6
6
 
7
- 1. **配置初始化** → 新用户首次使用,需要 `--server` + `--token`(或后面再 login)
8
- 2. **登录** → 区分 token 登录 vs 密码登录(LDAP/本地账号均走密码登录)
7
+ 1. **配置初始化** → 新用户首次使用,可直接运行 `config-init` 交互填写,也可显式传 `--url` + `--username` + `--password` + `--auth-mode`
8
+ 2. **登录** → 区分 token 登录 vs 密码登录(普通 native / LDAP
9
9
  3. **查看当前用户** → `whoami`,不需要参数
10
10
  4. **用户管理** → 管理员操作,需要确认是否有权限
11
11
 
@@ -14,31 +14,36 @@
14
14
  ### 初始化配置
15
15
 
16
16
  ```bash
17
- yapi config-init --server https://yapi.example.com --token <token>
18
- yapi config-init --server https://yapi.example.com --email <email> --password <password>
17
+ yapi config-init --url https://yapi.example.com --username user@example.com --password secret
18
+ yapi config-init --url https://yapi.example.com --username user@example.com --password secret --auth-mode ldap
19
19
  ```
20
20
 
21
- - `--server`:YApi 服务地址(必填)
22
- - `--token`:API Token(认证用,二选一)
23
- - `--email` + `--password`:账号密码(认证用,二选一)
24
- - `--projectId`:默认项目 ID(可选)
21
+ - `--url`:YApi 服务地址(必填)
22
+ - `--username`:登录用户名(通常是邮箱)
23
+ - `--password`:登录密码
24
+ - `--auth-mode`:认证方式,支持 `native` / `ldap`
25
+
26
+ 如果不传 `--url`、`--username`、`--password`、`--auth-mode`,`install` / `config-init` 会在交互终端里逐步提示你填写;其中 `auth-mode` 会引导你选择普通登录还是 LDAP 登录。
25
27
 
26
28
  ### Token 登录
27
29
 
28
30
  ```bash
29
31
  yapi login --token <token>
30
- yapi login-by-token --token <token> --uid <uid>
32
+ yapi login-by-token --token <token>
31
33
  ```
32
34
 
33
- `login-by-token` 需要同时传 `--uid` 用于设置 `_yapi_uid` cookie。
35
+ `login-by-token` 用于快速校验 token;`uid` 会从 JWT 中自动提取。
34
36
 
35
37
  ### 密码登录
36
38
 
37
39
  ```bash
40
+ yapi login
41
+ yapi login --username <username> --password <password>
38
42
  yapi login --email <email> --password <password>
43
+ yapi login --username <username> --password <password> --ldap true
39
44
  ```
40
45
 
41
- 支持 LDAP 和本地账号。YApi 服务端统一处理认证方式。
46
+ 不带参数时,默认读取 `~/.yapi/config.json` 里的 `username/password/authMode` 登录。
42
47
 
43
48
  ### 登出
44
49
 
@@ -97,10 +102,12 @@ yapi user-upload-avatar --uid <uid> --imagePath <path> --confirm true
97
102
 
98
103
  | 参数名 | 类型 | 必填 | 说明 |
99
104
  |--------|------|------|------|
100
- | `server` | string | config-init | YApi 服务地址 |
105
+ | `url` | string | config-init | YApi 服务地址 |
101
106
  | `token` | string | login 二选一 | API Token |
102
- | `email` | string | login 二选一 | 登录邮箱 |
103
- | `password` | string | login 二选一 | 登录密码 |
107
+ | `username` | string | config-init/login | 登录用户名(通常是邮箱) |
108
+ | `email` | string | login 兼容别名 | 登录邮箱 |
109
+ | `password` | string | config-init/login | 登录密码 |
110
+ | `authMode` | string | config-init | `native` / `ldap` |
104
111
  | `uid` | number | user-delete/avatar | 用户 ID |
105
112
  | `username` | string | user-register | 用户名 |
106
113
  | `confirm` | boolean | 写操作 | 确认执行 |
@@ -12,10 +12,10 @@
12
12
 
13
13
  | 场景 | 命令 | 用法 | 说明 |
14
14
  | --- | --- | --- | --- |
15
- | 初始化配置 | `config-init` | `yapi config-init --server <url> [--token <t>] [--projectId <id>]` | 首次使用必做 |
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
- | 密码登录 | `login` | `yapi login --email <e> --password <p>` | LDAP/本地账号均可 |
18
- | Token 快捷登录 | `login-by-token` | `yapi login-by-token --token <t> [--uid <uid>]` | 纯 token 登录 |
17
+ | 密码登录 | `login` | `yapi login [--username <u>] [--email <e>] [--password <p>] [--ldap true]` | 不带参数时使用配置文件 |
18
+ | Token 快捷登录 | `login-by-token` | `yapi login-by-token --token <t>` | 纯 token 登录 |
19
19
  | 登出 | `logout` | `yapi logout` | 清除本地认证缓存 + 服务端登出 |
20
20
  | 查看当前用户 | `whoami` | `yapi whoami` | 返回当前用户信息 |
21
21
 
@@ -6,10 +6,11 @@
6
6
 
7
7
  ```bash
8
8
  yapi install
9
- yapi install --server https://yapi.example.com --token <token>
10
9
  npx -y @cloudglab/yapi-cli@latest install
11
10
  ```
12
11
 
12
+ `install` 会在交互终端里逐步提示你填写 YApi 地址、登录用户名、登录密码和认证方式;`auth-mode` 会引导你选择 `native` 普通登录或 `ldap` 登录。
13
+
13
14
  仅 skill:
14
15
 
15
16
  ```bash
@@ -19,16 +20,14 @@ yapi install --skill-only
19
20
  仅 CLI 配置:
20
21
 
21
22
  ```bash
22
- yapi install --cli-only --server https://yapi.example.com --token <token>
23
+ yapi install --cli-only
23
24
  ```
24
25
 
25
- 从源码安装 skill:
26
+ 从本地文件安装 skill:
26
27
 
27
28
  ```bash
28
- yapi install --skill-source git
29
- #
30
- npx -y @cloudglab/yapi-cli@latest install --skill-source git
31
- 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
32
31
  ```
33
32
 
34
33
  ## 更新
@@ -37,7 +36,6 @@ npx -y @cloudglab/yapi-cli@latest install --skill-local-path ./package
37
36
  yapi update
38
37
  yapi update --cli-only
39
38
  yapi update --skill-only
40
- yapi update --skip-config-check
41
39
  ```
42
40
 
43
41
  更新会先检查 npm 版本,再刷新本地 skill。
@@ -41,9 +41,10 @@ src/
41
41
 
42
42
  ## 认证方式
43
43
 
44
- - **Token 认证**:通过 `login --token <t>` 或 `config-init --token <t>` 设置
45
- - **JWT Cookie 认证**:通过 `login --email <e> --password <p>` 密码登录(支持 LDAP/本地账号)
46
- - **LDAP 专用**:`login --email <e> --password <p>`,YApi 服务端自动识别 LDAP 并处理 PBKDF2 加密
44
+ - **配置文件**:`~/.yapi/config.json` 只保留 `url`、`username`、`password`、`authMode`
45
+ - **Token 认证**:通过 `login --token <t>` 临时写入认证缓存,不写入配置文件
46
+ - **Native 账号登录**:通过 `login` 或 `login --username <u> --password <p>` 发起 `/api/user/login`
47
+ - **LDAP 登录**:通过 `login --ldap true` 或配置 `authMode=ldap` 发起 `/api/user/login_by_ldap`
47
48
 
48
49
  ## 配置位置
49
50