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.
- package/README.md +82 -20
- package/dist/cli.js +21 -1
- 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.
|
|
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 <
|
|
37
|
-
npx sp-rag@latest install --client cursor --scope project --cwd D:/Webs/seo-booster --mcp-token <
|
|
38
|
-
npx sp-rag@latest install --client vscode --scope project --cwd D:/Webs/seo-booster --mcp-token <
|
|
39
|
-
npx sp-rag@latest token add --token <
|
|
40
|
-
npx sp-rag@latest
|
|
41
|
-
npx sp-rag@latest mcp add
|
|
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 <
|
|
50
|
-
npm exec --yes sp-rag@latest token add -- --token <
|
|
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 <
|
|
106
|
-
sp-rag token add --token <
|
|
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 <
|
|
114
|
-
sp-rag mcp add vscode --scope project --cwd D:/Webs/seo-booster --mcp-token <
|
|
115
|
-
sp-rag mcp add opencode --scope project --cwd D:/Webs/seo-booster --mcp-token <
|
|
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 <
|
|
126
|
-
sp-rag token add --token <
|
|
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 <
|
|
137
|
-
sp-rag mcp add antigravity --mcp-token <
|
|
138
|
-
sp-rag mcp add vscode --scope project --cwd D:/Webs/seo-booster --mcp-token <
|
|
139
|
-
sp-rag mcp add opencode --scope project --cwd D:/Webs/seo-booster --mcp-token <
|
|
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.
|
|
514
|
+
process.stdout.write('sp-rag 0.6.0\n');
|
|
495
515
|
return 0;
|
|
496
516
|
}
|
|
497
517
|
process.stdout.write(helpText());
|