sp-rag 0.5.0 → 0.6.0

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 (3) hide show
  1. package/README.md +82 -20
  2. package/dist/cli.js +21 -1
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -17,7 +17,7 @@ CLI để setup nhanh SP-RAG theo hướng dev-friendly:
17
17
  ## Trạng thái package
18
18
 
19
19
  - package npm public: `sp-rag`
20
- - version đang publish: `0.5.0`
20
+ - version đang publish: `0.6.0`
21
21
  - binary public: `sp-rag`
22
22
 
23
23
  ## Cài từ source trong monorepo
@@ -33,12 +33,13 @@ node dist/index.js doctor
33
33
  ## Cài nhanh qua `npx`
34
34
 
35
35
  ```bash
36
- npx sp-rag@latest install --client codex --mcp-token <token truy cập MCP> --doctor
37
- npx sp-rag@latest install --client cursor --scope project --cwd D:/Webs/seo-booster --mcp-token <token truy cập MCP>
38
- npx sp-rag@latest install --client vscode --scope project --cwd D:/Webs/seo-booster --mcp-token <token truy cập MCP>
39
- npx sp-rag@latest token add --token <token truy cập MCP> --client codex
40
- npx sp-rag@latest mcp add antigravity --mcp-token <token truy cập MCP>
41
- npx sp-rag@latest mcp add opencode --scope project --cwd D:/Webs/seo-booster --mcp-token <token truy cập MCP>
36
+ npx sp-rag@latest install --client codex --mcp-token <grc_pat_...> --doctor
37
+ npx sp-rag@latest install --client cursor --scope project --cwd D:/Webs/seo-booster --mcp-token <grc_pat_...>
38
+ npx sp-rag@latest install --client vscode --scope project --cwd D:/Webs/seo-booster --mcp-token <grc_pat_...>
39
+ npx sp-rag@latest token add --token <grc_pat_...> --client codex
40
+ npx sp-rag@latest token verify --token <grc_pat_...>
41
+ npx sp-rag@latest mcp add antigravity --mcp-token <grc_pat_...>
42
+ npx sp-rag@latest mcp add opencode --scope project --cwd D:/Webs/seo-booster --mcp-token <grc_pat_...>
42
43
  npx sp-rag@latest skill install --skill-client cursor --scope project --cwd D:/Webs/seo-booster
43
44
  npx sp-rag@latest skill install --skill-client vscode --scope project --cwd D:/Webs/seo-booster
44
45
  ```
@@ -46,8 +47,67 @@ npx sp-rag@latest skill install --skill-client vscode --scope project --cwd D:/W
46
47
  Tương đương bằng `npm`:
47
48
 
48
49
  ```bash
49
- npm exec --yes sp-rag@latest install -- --client codex --mcp-token <token truy cập MCP> --doctor
50
- npm exec --yes sp-rag@latest token add -- --token <token truy cập MCP> --client codex
50
+ npm exec --yes sp-rag@latest install -- --client codex --mcp-token <grc_pat_...> --doctor
51
+ npm exec --yes sp-rag@latest token add -- --token <grc_pat_...> --client codex
52
+ npm exec --yes sp-rag@latest token verify -- --token <grc_pat_...>
53
+ ```
54
+
55
+ ## Lấy token ở đâu
56
+
57
+ `sp-rag` public bây giờ dùng token gắn với tài khoản thật trên server.
58
+
59
+ Luồng chuẩn:
60
+
61
+ 1. đăng nhập dashboard hoặc API account của GraphRAG
62
+ 2. tạo `personal access token` qua account hiện tại
63
+ 3. dùng chính token `grc_pat_*` đó cho MCP và CLI
64
+ 4. kiểm tra token bằng `sp-rag token verify`
65
+
66
+ Điểm quan trọng:
67
+
68
+ - token dev dùng cho MCP nên là `grc_pat_*` của account
69
+ - quyền nhìn thấy tool/resource trên MCP bám theo role của account đó
70
+ - `viewer`, `operator`, `approver`, `admin` sẽ thấy inventory khác nhau
71
+ - `MCP_SERVER_ACCESS_TOKENS_JSON` chỉ còn là fallback legacy/break-glass, không còn là luồng chính cho dev
72
+
73
+ Tự tạo PAT bằng API hiện có:
74
+
75
+ 1. lấy session token qua `POST /v1/account/login`
76
+ 2. gọi `POST /v1/account/personal-access-tokens`
77
+ 3. dùng trường `generated_token`
78
+
79
+ Ví dụ đầy đủ:
80
+
81
+ ```bash
82
+ curl -X POST https://sp-rag.secomapp.com/api/v1/account/login \
83
+ -H "Content-Type: application/json" \
84
+ -d '{"email":"dev@example.com","password":"<mật-khẩu>"}'
85
+ ```
86
+
87
+ Lấy `session_token`, rồi gọi tiếp:
88
+
89
+ ```bash
90
+ curl -X POST https://sp-rag.secomapp.com/api/v1/account/personal-access-tokens \
91
+ -H "Authorization: Bearer <grc_sess_...>" \
92
+ -H "Content-Type: application/json" \
93
+ -d '{"label":"SP-RAG CLI","expires_in_days":30}'
94
+ ```
95
+
96
+ Response sẽ trả `generated_token`, chính là token `grc_pat_*` để đưa vào `sp-rag`.
97
+
98
+ Ví dụ dev dùng token trực tiếp:
99
+
100
+ ```bash
101
+ npx sp-rag@latest install --client cursor --scope project --cwd D:/Webs/seo-booster --mcp-token <grc_pat_...>
102
+ npx sp-rag@latest token verify --token <grc_pat_...>
103
+ ```
104
+
105
+ Hoặc dùng biến môi trường:
106
+
107
+ ```bash
108
+ $env:GRAPHRAG_MCP_TOKEN="<grc_pat_...>"
109
+ npx sp-rag@latest mcp add vscode --scope project --cwd D:/Webs/seo-booster --auth-env-var GRAPHRAG_MCP_TOKEN
110
+ npx sp-rag@latest token verify --token $env:GRAPHRAG_MCP_TOKEN
51
111
  ```
52
112
 
53
113
  ## MCP client được hỗ trợ
@@ -102,17 +162,18 @@ Ghi chú:
102
162
  ## Luồng khuyên dùng cho dev mới
103
163
 
104
164
  ```bash
105
- sp-rag install --client codex --mcp-token <token truy cập MCP> --doctor
106
- sp-rag token add --token <token truy cập MCP> --client codex
165
+ sp-rag install --client codex --mcp-token <grc_pat_...> --doctor
166
+ sp-rag token add --token <grc_pat_...> --client codex
167
+ sp-rag token verify --token <grc_pat_...>
107
168
  sp-rag config show
108
169
  sp-rag codegraph status
109
170
  sp-rag codegraph watch --interval-ms 2000
110
171
  sp-rag codegraph runs --limit 5
111
172
  sp-rag codegraph metrics
112
173
  sp-rag codegraph recover --reason "Ops dọn stale run sau crash"
113
- sp-rag mcp add antigravity --mcp-token <token truy cập MCP>
114
- sp-rag mcp add vscode --scope project --cwd D:/Webs/seo-booster --mcp-token <token truy cập MCP>
115
- sp-rag mcp add opencode --scope project --cwd D:/Webs/seo-booster --mcp-token <token truy cập MCP>
174
+ sp-rag mcp add antigravity --mcp-token <grc_pat_...>
175
+ sp-rag mcp add vscode --scope project --cwd D:/Webs/seo-booster --mcp-token <grc_pat_...>
176
+ sp-rag mcp add opencode --scope project --cwd D:/Webs/seo-booster --mcp-token <grc_pat_...>
116
177
  sp-rag skill install
117
178
  sp-rag skill install --skill-client cursor --scope project --cwd D:/Webs/seo-booster
118
179
  sp-rag skill install --skill-client vscode --scope project --cwd D:/Webs/seo-booster
@@ -122,8 +183,9 @@ sp-rag eval run --file ./examples/eval-suite.sample.json
122
183
  ## Lệnh chính
123
184
 
124
185
  ```bash
125
- sp-rag install --client codex --mcp-token <token truy cập MCP> --doctor
126
- sp-rag token add --token <token truy cập MCP> --client codex
186
+ sp-rag install --client codex --mcp-token <grc_pat_...> --doctor
187
+ sp-rag token add --token <grc_pat_...> --client codex
188
+ sp-rag token verify --token <grc_pat_...>
127
189
  sp-rag config show
128
190
  sp-rag doctor
129
191
  sp-rag codegraph status
@@ -133,10 +195,10 @@ sp-rag codegraph metrics
133
195
  sp-rag codegraph recover --reason "Ops dọn stale run sau crash"
134
196
  sp-rag codegraph sync --branch master --commit-sha <sha> --webhook-token <token webhook codegraph> --gitlab-job-token <ci-job-token>
135
197
  sp-rag docs get public --format md
136
- sp-rag mcp add codex --mcp-token <token truy cập MCP>
137
- sp-rag mcp add antigravity --mcp-token <token truy cập MCP>
138
- sp-rag mcp add vscode --scope project --cwd D:/Webs/seo-booster --mcp-token <token truy cập MCP>
139
- sp-rag mcp add opencode --scope project --cwd D:/Webs/seo-booster --mcp-token <token truy cập MCP>
198
+ sp-rag mcp add codex --mcp-token <grc_pat_...>
199
+ sp-rag mcp add antigravity --mcp-token <grc_pat_...>
200
+ sp-rag mcp add vscode --scope project --cwd D:/Webs/seo-booster --mcp-token <grc_pat_...>
201
+ sp-rag mcp add opencode --scope project --cwd D:/Webs/seo-booster --mcp-token <grc_pat_...>
140
202
  sp-rag skill install
141
203
  sp-rag skill install --skill-client cursor --scope project --cwd D:/Webs/seo-booster
142
204
  sp-rag skill install --skill-client vscode --scope project --cwd D:/Webs/seo-booster
package/dist/cli.js CHANGED
@@ -140,6 +140,7 @@ Lệnh chính:
140
140
  sp-rag install [--base-url URL] [--mcp-url URL] [--client codex|cursor|claude-code|antigravity|vscode|opencode] [--skill-client codex|cursor|claude-code|antigravity|vscode|opencode] [--scope global|project] [--mcp-token TOKEN] [--auth-env-var ENV_VAR] [--target-dir PATH]
141
141
  sp-rag init [--base-url URL] [--mcp-url URL] [--client codex|cursor|claude-code|antigravity|vscode|opencode] [--skill-client codex|cursor|claude-code|antigravity|vscode|opencode] [--scope global|project] [--auth-env-var ENV_VAR] [--target-dir PATH]
142
142
  sp-rag token add --token TOKEN [--client codex|cursor|claude-code|antigravity|vscode|opencode] [--scope global|project] [--cwd PATH]
143
+ sp-rag token verify [--token TOKEN] [--base-url URL]
143
144
  sp-rag config show
144
145
  sp-rag doctor [--base-url URL]
145
146
  sp-rag codegraph status [--base-url URL]
@@ -375,6 +376,21 @@ async function runTokenAdd(parsed) {
375
376
  },
376
377
  }, nextDefaults, client);
377
378
  }
379
+ async function runTokenVerify(parsed) {
380
+ const defaults = await loadRuntimeDefaults(parsed);
381
+ const token = optionString(parsed, 'token') ?? optionString(parsed, 'mcp-token') ?? defaults.mcpToken;
382
+ if (!token?.trim()) {
383
+ throw new Error('Thiếu token. Dùng --token <token>.');
384
+ }
385
+ const baseUrl = defaults.baseUrl.replace(/\/+$/, '');
386
+ const result = await fetchJson(`${baseUrl}/api/v1/ops/operator-auth`, {
387
+ method: 'GET',
388
+ headers: {
389
+ authorization: `Bearer ${token.trim()}`,
390
+ },
391
+ });
392
+ process.stdout.write(`${JSON.stringify(result, null, 2)}\n`);
393
+ }
378
394
  async function runConfigShow(parsed) {
379
395
  const config = await loadCliConfig(optionString(parsed, 'home-dir'));
380
396
  process.stdout.write(`${JSON.stringify(config ?? {}, null, 2)}\n`);
@@ -427,6 +443,10 @@ export async function runCli(argv) {
427
443
  await runTokenAdd(parsed);
428
444
  return 0;
429
445
  }
446
+ if (group === 'token' && action === 'verify') {
447
+ await runTokenVerify(parsed);
448
+ return 0;
449
+ }
430
450
  if (group === 'config' && action === 'show') {
431
451
  await runConfigShow(parsed);
432
452
  return 0;
@@ -491,7 +511,7 @@ export async function runCli(argv) {
491
511
  return 0;
492
512
  }
493
513
  if (group === 'version') {
494
- process.stdout.write('sp-rag 0.5.0\n');
514
+ process.stdout.write('sp-rag 0.6.0\n');
495
515
  return 0;
496
516
  }
497
517
  process.stdout.write(helpText());
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sp-rag",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "description": "CLI cho setup MCP, codegraph GitNexus và skill của SP-RAG",
5
5
  "type": "module",
6
6
  "files": [