@singbox-iac/cli 0.1.16 → 0.1.18
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-en.md +70 -19
- package/README.md +75 -23
- package/dist/cli/commands/apply.js +3 -0
- package/dist/cli/commands/apply.js.map +1 -1
- package/dist/cli/commands/author.d.ts +2 -0
- package/dist/cli/commands/author.js +49 -19
- package/dist/cli/commands/author.js.map +1 -1
- package/dist/cli/commands/build.js +39 -13
- package/dist/cli/commands/build.js.map +1 -1
- package/dist/cli/commands/diagnose.d.ts +2 -0
- package/dist/cli/commands/diagnose.js +122 -0
- package/dist/cli/commands/diagnose.js.map +1 -0
- package/dist/cli/commands/doctor.js +21 -1
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/proxifier.js +13 -4
- package/dist/cli/commands/proxifier.js.map +1 -1
- package/dist/cli/commands/reload.js +1 -0
- package/dist/cli/commands/reload.js.map +1 -1
- package/dist/cli/commands/restart.js +71 -7
- package/dist/cli/commands/restart.js.map +1 -1
- package/dist/cli/commands/rollback.js +1 -0
- package/dist/cli/commands/rollback.js.map +1 -1
- package/dist/cli/commands/rulesets.d.ts +2 -0
- package/dist/cli/commands/rulesets.js +125 -0
- package/dist/cli/commands/rulesets.js.map +1 -0
- package/dist/cli/commands/runtime-watchdog.d.ts +2 -0
- package/dist/cli/commands/runtime-watchdog.js +45 -0
- package/dist/cli/commands/runtime-watchdog.js.map +1 -0
- package/dist/cli/commands/setup.js +40 -14
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/start.js +56 -5
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/commands/status.js +140 -28
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/stop.js +28 -5
- package/dist/cli/commands/stop.js.map +1 -1
- package/dist/cli/commands/use.js +3 -1
- package/dist/cli/commands/use.js.map +1 -1
- package/dist/cli/commands/verify.js +1 -1
- package/dist/cli/commands/verify.js.map +1 -1
- package/dist/cli/index.js +12 -4
- package/dist/cli/index.js.map +1 -1
- package/dist/config/schema.d.ts +222 -35
- package/dist/config/schema.js +80 -1
- package/dist/config/schema.js.map +1 -1
- package/dist/domain/dns-plan.d.ts +11 -1
- package/dist/domain/intent.d.ts +2 -2
- package/dist/domain/verification-plan.d.ts +3 -3
- package/dist/modules/authoring/index.js +26 -9
- package/dist/modules/authoring/index.js.map +1 -1
- package/dist/modules/build/index.d.ts +4 -1
- package/dist/modules/build/index.js +17 -4
- package/dist/modules/build/index.js.map +1 -1
- package/dist/modules/bundle-registry/index.d.ts +52 -0
- package/dist/modules/bundle-registry/index.js +691 -0
- package/dist/modules/bundle-registry/index.js.map +1 -0
- package/dist/modules/compiler/index.js +79 -12
- package/dist/modules/compiler/index.js.map +1 -1
- package/dist/modules/desktop-runtime/index.d.ts +36 -0
- package/dist/modules/desktop-runtime/index.js +154 -12
- package/dist/modules/desktop-runtime/index.js.map +1 -1
- package/dist/modules/diagnostics/index.d.ts +28 -0
- package/dist/modules/diagnostics/index.js +306 -0
- package/dist/modules/diagnostics/index.js.map +1 -0
- package/dist/modules/dns-plan/index.js +73 -12
- package/dist/modules/dns-plan/index.js.map +1 -1
- package/dist/modules/intent/index.js +2 -2
- package/dist/modules/intent/index.js.map +1 -1
- package/dist/modules/layered-authoring/index.d.ts +45 -0
- package/dist/modules/layered-authoring/index.js +549 -0
- package/dist/modules/layered-authoring/index.js.map +1 -0
- package/dist/modules/manager/index.d.ts +3 -1
- package/dist/modules/manager/index.js +26 -1
- package/dist/modules/manager/index.js.map +1 -1
- package/dist/modules/natural-language/index.d.ts +8 -5
- package/dist/modules/natural-language/index.js +74 -69
- package/dist/modules/natural-language/index.js.map +1 -1
- package/dist/modules/proxifier/index.d.ts +1 -14
- package/dist/modules/proxifier/index.js +13 -143
- package/dist/modules/proxifier/index.js.map +1 -1
- package/dist/modules/rule-set-catalog/index.d.ts +25 -0
- package/dist/modules/rule-set-catalog/index.js +135 -0
- package/dist/modules/rule-set-catalog/index.js.map +1 -0
- package/dist/modules/runtime-mode/index.d.ts +1 -1
- package/dist/modules/runtime-mode/index.js +0 -5
- package/dist/modules/runtime-mode/index.js.map +1 -1
- package/dist/modules/runtime-watchdog/index.d.ts +73 -0
- package/dist/modules/runtime-watchdog/index.js +532 -0
- package/dist/modules/runtime-watchdog/index.js.map +1 -0
- package/dist/modules/status/index.d.ts +57 -0
- package/dist/modules/status/index.js +307 -31
- package/dist/modules/status/index.js.map +1 -1
- package/dist/modules/system-proxy/index.d.ts +31 -0
- package/dist/modules/system-proxy/index.js +164 -0
- package/dist/modules/system-proxy/index.js.map +1 -0
- package/dist/modules/update/index.js +3 -1
- package/dist/modules/update/index.js.map +1 -1
- package/dist/modules/verification/index.d.ts +5 -5
- package/dist/modules/verification/index.js +93 -12
- package/dist/modules/verification/index.js.map +1 -1
- package/dist/modules/verification-plan/index.js +13 -4
- package/dist/modules/verification-plan/index.js.map +1 -1
- package/docs/agent-context.md +131 -0
- package/docs/natural-language-authoring.md +106 -1
- package/docs/proxifier-onboarding.md +15 -4
- package/docs/rule-templates.md +2 -0
- package/docs/runtime-modes.md +84 -0
- package/docs/runtime-on-macos.md +59 -4
- package/examples/builder.config.yaml +60 -0
- package/package.json +3 -2
- package/dist/cli/commands/quickstart.d.ts +0 -2
- package/dist/cli/commands/quickstart.js +0 -54
- package/dist/cli/commands/quickstart.js.map +0 -1
package/README-en.md
CHANGED
|
@@ -34,7 +34,7 @@ Many macOS users rely on GUI clients like Clash Verge, upstream subscriptions, g
|
|
|
34
34
|
|
|
35
35
|
`Singbox IaC` compresses that problem into:
|
|
36
36
|
|
|
37
|
-
`subscription ->
|
|
37
|
+
`subscription -> intent -> DNS / verification planning -> compile -> verify -> apply -> runtime / schedule`
|
|
38
38
|
|
|
39
39
|
## Architecture
|
|
40
40
|
|
|
@@ -62,7 +62,7 @@ The system has three layers:
|
|
|
62
62
|
|
|
63
63
|
```mermaid
|
|
64
64
|
flowchart TD
|
|
65
|
-
A["User provides subscription URL + one sentence"] --> B["
|
|
65
|
+
A["User provides subscription URL + one sentence"] --> B["go"]
|
|
66
66
|
B --> C["Detect local environment<br/>macOS / sing-box / Chrome / AI CLI"]
|
|
67
67
|
C --> D["Generate rules from intent"]
|
|
68
68
|
D --> E["Sync local rule sets"]
|
|
@@ -94,6 +94,22 @@ You can describe routing goals in plain language instead of editing raw `sing-bo
|
|
|
94
94
|
|
|
95
95
|
The tool compiles those intents into internal rules and then into a `sing-box` config.
|
|
96
96
|
|
|
97
|
+
There is now a maintained bundle-discovery layer:
|
|
98
|
+
|
|
99
|
+
- site bundles
|
|
100
|
+
- for example `NotebookLM`, `Gemini`, `OpenRouter`, and `Google Stitch`
|
|
101
|
+
- process bundles
|
|
102
|
+
- for example `Antigravity`, `Cursor`, `VS Code`, and `Codex`
|
|
103
|
+
|
|
104
|
+
Site bundles use a dual-track model:
|
|
105
|
+
|
|
106
|
+
- prefer official `sing-geosite` rule-set tags that are already enabled in the current config
|
|
107
|
+
- fall back to curated domains when upstream has no suitable tag or the current config has not enabled it yet
|
|
108
|
+
|
|
109
|
+
Process bundles keep stable metadata for `Proxifier` and `in-proxifier` process matching.
|
|
110
|
+
|
|
111
|
+
In most cases that means you do not need to remember related domains, official geosite tags, or helper process names yourself.
|
|
112
|
+
|
|
97
113
|
### 2. Minimal DSL
|
|
98
114
|
|
|
99
115
|
For advanced users, a small YAML DSL still exists for fine-grained exceptions instead of forcing them to edit a full `sing-box` JSON file.
|
|
@@ -173,6 +189,8 @@ singbox-iac update
|
|
|
173
189
|
- `use`: change policy later with one sentence and re-apply it
|
|
174
190
|
- `update`: refresh the subscription and apply the latest config
|
|
175
191
|
|
|
192
|
+
`use` defaults to patch semantics. It preserves unrelated previously authored intent unless you explicitly pass `--replace`.
|
|
193
|
+
|
|
176
194
|
For desktop runtime and troubleshooting, the most useful commands are:
|
|
177
195
|
|
|
178
196
|
```bash
|
|
@@ -180,35 +198,49 @@ singbox-iac start
|
|
|
180
198
|
singbox-iac stop
|
|
181
199
|
singbox-iac restart
|
|
182
200
|
singbox-iac status
|
|
201
|
+
singbox-iac diagnose
|
|
183
202
|
```
|
|
184
203
|
|
|
185
204
|
- `start`: start the desktop runtime as a dedicated macOS LaunchAgent
|
|
186
205
|
- `stop`: stop the desktop runtime and let `sing-box` release system proxy or TUN resources
|
|
187
206
|
- `restart`: restart the desktop runtime
|
|
188
207
|
- `status`: summarize live config, desktop runtime, system proxy/TUN state, schedule, and the latest transaction
|
|
208
|
+
- `diagnose`: extend `status` with default route, system DNS, and representative DNS evidence when you need to understand why the network is still wrong
|
|
189
209
|
|
|
190
210
|
For troubleshooting, start with:
|
|
191
211
|
|
|
192
212
|
```bash
|
|
193
213
|
singbox-iac status
|
|
214
|
+
singbox-iac diagnose
|
|
194
215
|
```
|
|
195
216
|
|
|
196
|
-
|
|
197
|
-
schedule state, and the latest publish transaction.
|
|
217
|
+
`status` is the compact runtime snapshot. `diagnose` is the heavier triage command when you need to separate runtime drift from local DNS or default-route problems.
|
|
198
218
|
|
|
199
219
|
Everything else can be treated as advanced commands for debugging or fine-grained control.
|
|
200
220
|
|
|
221
|
+
For example:
|
|
222
|
+
|
|
223
|
+
```bash
|
|
224
|
+
singbox-iac rulesets list --filter openai
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
That hidden command shows:
|
|
228
|
+
|
|
229
|
+
- which `ruleSet` tags are enabled in the current builder config
|
|
230
|
+
- which upstream `sing-geosite` and `sing-geoip` tags are available
|
|
231
|
+
- which built-in site bundles prefer official tags and which still fall back to curated domains
|
|
232
|
+
|
|
201
233
|
`RuntimeMode` is an internal concept; users do not need to choose one manually. Onboarding and `update` infer `browser-proxy`, `process-proxy`, or `headless-daemon` and use that to guide visible verification and runtime defaults. See [docs/runtime-modes.md](./docs/runtime-modes.md).
|
|
202
234
|
|
|
203
|
-
###
|
|
235
|
+
### Default first-run path
|
|
204
236
|
|
|
205
237
|
```bash
|
|
206
|
-
singbox-iac
|
|
207
|
-
|
|
208
|
-
|
|
238
|
+
singbox-iac go \
|
|
239
|
+
'your subscription URL' \
|
|
240
|
+
'GitHub and developer sites go through Hong Kong, Antigravity process traffic goes through the US, Gemini goes through Singapore, update every 30 minutes'
|
|
209
241
|
```
|
|
210
242
|
|
|
211
|
-
`
|
|
243
|
+
`go` will:
|
|
212
244
|
|
|
213
245
|
- create `~/.config/singbox-iac/builder.config.yaml`
|
|
214
246
|
- create `~/.config/singbox-iac/rules/custom.rules.yaml`
|
|
@@ -232,7 +264,7 @@ singbox-iac setup \
|
|
|
232
264
|
|
|
233
265
|
The difference is simple:
|
|
234
266
|
|
|
235
|
-
- `
|
|
267
|
+
- `go` is the shortest recommended first-run path
|
|
236
268
|
- `setup --ready` is better if you still want to control run/browser/Proxifier flags yourself
|
|
237
269
|
|
|
238
270
|
### Manual foreground run
|
|
@@ -294,17 +326,28 @@ singbox-iac use 'GitHub and developer sites go through Hong Kong, Gemini goes th
|
|
|
294
326
|
|
|
295
327
|
For common cases, you do not need to learn raw `sing-box` JSON or even the DSL.
|
|
296
328
|
|
|
329
|
+
`use` defaults to patch instead of replace:
|
|
330
|
+
|
|
331
|
+
- `singbox-iac use 'NotebookLM goes through the US'`
|
|
332
|
+
- augments or overrides the relevant part of the current authored intent
|
|
333
|
+
- `singbox-iac use 'All developer traffic goes through Singapore' --replace`
|
|
334
|
+
- explicitly rebuilds the authored policy set from scratch
|
|
335
|
+
|
|
336
|
+
The tool keeps two related files:
|
|
337
|
+
|
|
338
|
+
- `rules.userRulesFile`
|
|
339
|
+
- the merged YAML DSL that the compiler actually consumes
|
|
340
|
+
- sibling `*.authoring.yaml`
|
|
341
|
+
- the layered authoring state used to preserve a base intent plus later patches
|
|
342
|
+
|
|
297
343
|
Examples:
|
|
298
344
|
|
|
299
345
|
```bash
|
|
300
|
-
singbox-iac
|
|
301
|
-
--prompt 'GitHub and dev sites should use Hong Kong, Antigravity process traffic should use a dedicated US path, Gemini should use Singapore'
|
|
346
|
+
singbox-iac use 'Google services and GitHub use Hong Kong, Amazon Prime and Apple TV use Singapore, China traffic stays direct, update every 45 minutes'
|
|
302
347
|
```
|
|
303
348
|
|
|
304
349
|
```bash
|
|
305
|
-
singbox-iac
|
|
306
|
-
--prompt 'Google services and GitHub use Hong Kong, Amazon Prime and Apple TV use Singapore, China traffic stays direct, update every 45 minutes' \
|
|
307
|
-
--update
|
|
350
|
+
singbox-iac use 'NotebookLM goes through the US, Cursor uses a dedicated ingress and exits through the US'
|
|
308
351
|
```
|
|
309
352
|
|
|
310
353
|
The authoring layer supports:
|
|
@@ -322,6 +365,14 @@ Recommended before applying a production routing change:
|
|
|
322
365
|
singbox-iac use 'GitHub and developer sites go through Hong Kong, Gemini goes through Singapore' --strict --diff
|
|
323
366
|
```
|
|
324
367
|
|
|
368
|
+
If you explicitly want to discard the earlier natural-language policy set, use:
|
|
369
|
+
|
|
370
|
+
```bash
|
|
371
|
+
singbox-iac use 'Google services and GitHub use Singapore' --replace
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
If you need preview-only operation, direct `Intent IR`, or staged author/build/update control, use the power-user `author` command. See [docs/natural-language-authoring.md](./docs/natural-language-authoring.md).
|
|
375
|
+
|
|
325
376
|
## Proxifier Onboarding
|
|
326
377
|
|
|
327
378
|
If your AI IDE, language server, or desktop app does not respect the normal system proxy path, use the generated Proxifier helper directory:
|
|
@@ -388,24 +439,24 @@ This project is designed to keep sensitive inputs local by default:
|
|
|
388
439
|
|
|
389
440
|
The project does not automatically upload subscription URLs to any remote service. Unless you explicitly configure an external AI CLI or external command, the default authoring path does not depend on an external API.
|
|
390
441
|
|
|
391
|
-
##
|
|
442
|
+
## Power-User / Engineering Commands
|
|
443
|
+
|
|
444
|
+
Unless you are splitting the pipeline, doing deeper diagnostics, or handling a special integration, you usually do not need these directly:
|
|
392
445
|
|
|
393
446
|
```bash
|
|
394
447
|
singbox-iac init
|
|
395
448
|
singbox-iac setup
|
|
396
|
-
singbox-iac quickstart
|
|
397
449
|
singbox-iac author
|
|
398
450
|
singbox-iac build
|
|
399
451
|
singbox-iac check
|
|
400
452
|
singbox-iac apply
|
|
401
453
|
singbox-iac run
|
|
402
454
|
singbox-iac verify
|
|
403
|
-
singbox-iac update
|
|
404
|
-
singbox-iac doctor
|
|
405
455
|
singbox-iac proxifier bundles
|
|
406
456
|
singbox-iac proxifier bundles show antigravity
|
|
407
457
|
singbox-iac proxifier bundles render antigravity
|
|
408
458
|
singbox-iac proxifier scaffold
|
|
459
|
+
singbox-iac rulesets list --filter openai
|
|
409
460
|
singbox-iac schedule install
|
|
410
461
|
singbox-iac schedule remove
|
|
411
462
|
singbox-iac templates list
|
package/README.md
CHANGED
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
|
|
35
35
|
`Singbox IaC` 的目标就是把这些需求收敛成:
|
|
36
36
|
|
|
37
|
-
`subscription ->
|
|
37
|
+
`subscription -> intent -> DNS / verification planning -> compile -> verify -> apply -> runtime / schedule`
|
|
38
38
|
|
|
39
39
|
## 架构图
|
|
40
40
|
|
|
@@ -62,7 +62,7 @@ flowchart LR
|
|
|
62
62
|
|
|
63
63
|
```mermaid
|
|
64
64
|
flowchart TD
|
|
65
|
-
A["用户提供订阅地址 + 一句话需求"] --> B["
|
|
65
|
+
A["用户提供订阅地址 + 一句话需求"] --> B["go"]
|
|
66
66
|
B --> C["检测本地环境<br/>macOS / sing-box / Chrome / AI CLI"]
|
|
67
67
|
C --> D["根据意图生成规则"]
|
|
68
68
|
D --> E["同步本地 rule set"]
|
|
@@ -94,6 +94,22 @@ flowchart TD
|
|
|
94
94
|
|
|
95
95
|
系统会把这些意图编译成内部规则,再进一步生成 `sing-box` 配置。
|
|
96
96
|
|
|
97
|
+
现在内置了一个可维护的 bundle discovery 层:
|
|
98
|
+
|
|
99
|
+
- 站点 bundle
|
|
100
|
+
- 例如 `NotebookLM`、`Gemini`、`OpenRouter`、`Google Stitch`
|
|
101
|
+
- 进程 bundle
|
|
102
|
+
- 例如 `Antigravity`、`Cursor`、`VS Code`、`Codex`
|
|
103
|
+
|
|
104
|
+
站点 bundle 现在走双轨:
|
|
105
|
+
|
|
106
|
+
- 优先使用当前 config 已启用的官方 `sing-geosite` rule-set tags
|
|
107
|
+
- 如果 upstream 没有对应 tag,或者当前 config 还没启用该 tag,就回退到内置维护的 fallback domains
|
|
108
|
+
|
|
109
|
+
进程 bundle 则继续提供稳定的 `Proxifier` / `in-proxifier` 进程匹配元数据。
|
|
110
|
+
|
|
111
|
+
这意味着多数情况下你不需要自己记住相关域名、官方 geosite tag,或辅助进程名。
|
|
112
|
+
|
|
97
113
|
### 2. 极简 DSL
|
|
98
114
|
|
|
99
115
|
对于高级用户,仍然保留了一个极简 YAML DSL,用于补充少量例外规则,而不是逼用户手写整份 `sing-box` JSON。
|
|
@@ -170,9 +186,11 @@ singbox-iac update
|
|
|
170
186
|
```
|
|
171
187
|
|
|
172
188
|
- `go`:第一次安装时使用,一条命令完成初始化、验证、发布和定时任务准备
|
|
173
|
-
- `use
|
|
189
|
+
- `use`:以后需求变化时使用,一句话 patch 现有策略并重新应用
|
|
174
190
|
- `update`:日常更新订阅并自动在运行中的 `sing-box` 上生效
|
|
175
191
|
|
|
192
|
+
`use` 默认不会清空你之前的自然语言策略。它会在现有 authored intent 之上做 patch;只有显式传 `--replace` 时,才会把 authored policy set 整体替换掉。
|
|
193
|
+
|
|
176
194
|
桌面运行和排障最常用的是:
|
|
177
195
|
|
|
178
196
|
```bash
|
|
@@ -180,34 +198,49 @@ singbox-iac start
|
|
|
180
198
|
singbox-iac stop
|
|
181
199
|
singbox-iac restart
|
|
182
200
|
singbox-iac status
|
|
201
|
+
singbox-iac diagnose
|
|
183
202
|
```
|
|
184
203
|
|
|
185
204
|
- `start`:以 macOS 专用 LaunchAgent 启动桌面运行时
|
|
186
205
|
- `stop`:停止桌面运行时,并让 `sing-box` 释放系统代理或 TUN 资源
|
|
187
206
|
- `restart`:重新拉起桌面运行时
|
|
188
207
|
- `status`:汇总 live config、桌面运行时、系统代理 / TUN 状态、schedule 和最近一次事务
|
|
208
|
+
- `diagnose`:在 `status` 之上追加默认路由、系统 DNS 和代表性域名解析证据,适合排查“为什么现在网络还是不对”
|
|
189
209
|
|
|
190
210
|
排障时优先用:
|
|
191
211
|
|
|
192
212
|
```bash
|
|
193
213
|
singbox-iac status
|
|
214
|
+
singbox-iac diagnose
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
`status` 适合看当前运行快照;`diagnose` 适合继续判断问题更像是运行时漂移、系统 DNS/默认路由异常,还是最近一次发布没有生效。
|
|
218
|
+
|
|
219
|
+
其余命令都属于 power-user / 工程命令,主要用于拆流程、排障或更细粒度控制。
|
|
220
|
+
|
|
221
|
+
例如:
|
|
222
|
+
|
|
223
|
+
```bash
|
|
224
|
+
singbox-iac rulesets list --filter openai
|
|
194
225
|
```
|
|
195
226
|
|
|
196
|
-
|
|
227
|
+
这个隐藏命令可以查看:
|
|
197
228
|
|
|
198
|
-
|
|
229
|
+
- 当前 builder config 已启用哪些 `ruleSet` tags
|
|
230
|
+
- upstream 官方 `sing-geosite` / `sing-geoip` 当前有哪些 tags
|
|
231
|
+
- 内置 site bundle 会优先命中哪些官方 tags,哪些还会走 fallback
|
|
199
232
|
|
|
200
233
|
`RuntimeMode` 是内部概念,不要求用户手动选择。当前 onboarding 和 `update` 会自动推断 `browser-proxy`、`process-proxy` 或 `headless-daemon`,并据此调整可见验证和运行时默认行为。详见 [docs/runtime-modes.md](./docs/runtime-modes.md)。
|
|
201
234
|
|
|
202
|
-
###
|
|
235
|
+
### 首次初始化的默认路径
|
|
203
236
|
|
|
204
237
|
```bash
|
|
205
|
-
singbox-iac
|
|
206
|
-
|
|
207
|
-
|
|
238
|
+
singbox-iac go \
|
|
239
|
+
'你的机场订阅地址' \
|
|
240
|
+
'GitHub 这类开发类走香港,Antigravity 进程级走美国,Gemini 走新加坡,每30分钟自动更新'
|
|
208
241
|
```
|
|
209
242
|
|
|
210
|
-
`
|
|
243
|
+
`go` 会自动:
|
|
211
244
|
|
|
212
245
|
- 生成 `~/.config/singbox-iac/builder.config.yaml`
|
|
213
246
|
- 生成 `~/.config/singbox-iac/rules/custom.rules.yaml`
|
|
@@ -220,7 +253,7 @@ singbox-iac quickstart \
|
|
|
220
253
|
- 发布 live config
|
|
221
254
|
- 安装定时更新
|
|
222
255
|
|
|
223
|
-
|
|
256
|
+
如果你希望保留更细的首启控制,再使用 power-user 的 `setup --ready`:
|
|
224
257
|
|
|
225
258
|
```bash
|
|
226
259
|
singbox-iac setup \
|
|
@@ -229,10 +262,10 @@ singbox-iac setup \
|
|
|
229
262
|
--ready
|
|
230
263
|
```
|
|
231
264
|
|
|
232
|
-
|
|
265
|
+
两者区别很简单:
|
|
233
266
|
|
|
234
|
-
- `
|
|
235
|
-
- `setup --ready
|
|
267
|
+
- `go`:最短、默认推荐的首次上手路径
|
|
268
|
+
- `setup --ready`:保留更多开关和显式阶段控制的 power-user 路径
|
|
236
269
|
|
|
237
270
|
### 前台运行测试
|
|
238
271
|
|
|
@@ -293,17 +326,28 @@ singbox-iac use 'GitHub 这类开发类都走香港,Gemini 走新加坡'
|
|
|
293
326
|
|
|
294
327
|
对于大多数场景,不需要手写 `sing-box` JSON,也不需要理解 DSL。
|
|
295
328
|
|
|
329
|
+
`use` 的默认语义是 patch,而不是 replace:
|
|
330
|
+
|
|
331
|
+
- `singbox-iac use 'NotebookLM 走美国'`
|
|
332
|
+
- 在现有 authored intent 上追加或覆盖相关策略
|
|
333
|
+
- `singbox-iac use '所有开发类都走新加坡' --replace`
|
|
334
|
+
- 显式重建 authored policy set
|
|
335
|
+
|
|
336
|
+
内部会同时维护两类文件:
|
|
337
|
+
|
|
338
|
+
- `rules.userRulesFile`
|
|
339
|
+
- 当前 compiler 真正消费的 merged YAML DSL
|
|
340
|
+
- 同目录下的 `*.authoring.yaml`
|
|
341
|
+
- layered authored state,用来保留 base intent 和后续 patch
|
|
342
|
+
|
|
296
343
|
示例:
|
|
297
344
|
|
|
298
345
|
```bash
|
|
299
|
-
singbox-iac
|
|
300
|
-
--prompt 'GitHub 这类开发类都走香港出口,Antigravity 进程级都走独立入口并路由到美国节点,Gemini 都出口到新加坡'
|
|
346
|
+
singbox-iac use 'Google 服务和 GitHub 走香港,Amazon Prime 和 Apple TV 走新加坡,国内直连,每45分钟自动更新'
|
|
301
347
|
```
|
|
302
348
|
|
|
303
349
|
```bash
|
|
304
|
-
singbox-iac
|
|
305
|
-
--prompt 'Google 服务和 GitHub 走香港,Amazon Prime 和 Apple TV 走新加坡,国内直连,每45分钟自动更新' \
|
|
306
|
-
--update
|
|
350
|
+
singbox-iac use 'NotebookLM 走美国,Cursor 走独立入口并出口到美国'
|
|
307
351
|
```
|
|
308
352
|
|
|
309
353
|
作者层支持:
|
|
@@ -321,6 +365,14 @@ singbox-iac author \
|
|
|
321
365
|
singbox-iac use 'GitHub 这类开发类都走香港,Gemini 走新加坡' --strict --diff
|
|
322
366
|
```
|
|
323
367
|
|
|
368
|
+
如果你明确要放弃之前的一整套自然语言策略,再使用:
|
|
369
|
+
|
|
370
|
+
```bash
|
|
371
|
+
singbox-iac use 'Google 服务和 GitHub 都走新加坡' --replace
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
如果你需要 preview、Intent IR、或分阶段 author/build/update 控制,再使用 power-user 的 `author`。详见 [docs/natural-language-authoring.md](./docs/natural-language-authoring.md)。
|
|
375
|
+
|
|
324
376
|
## Proxifier 上手
|
|
325
377
|
|
|
326
378
|
如果你的 AI IDE、language server 或桌面应用不走系统代理,可以直接使用自动生成的 Proxifier 辅助目录:
|
|
@@ -387,24 +439,24 @@ singbox-iac proxifier bundles render antigravity
|
|
|
387
439
|
|
|
388
440
|
当前项目不会把订阅地址自动上传到任何远端服务。除非你主动配置外部 AI CLI 或外部命令,否则默认作者层不依赖外部 API。
|
|
389
441
|
|
|
390
|
-
##
|
|
442
|
+
## Power-user / 工程命令
|
|
443
|
+
|
|
444
|
+
除非你要拆开流水线、做深度排障或处理特殊集成,一般不需要直接用这些:
|
|
391
445
|
|
|
392
446
|
```bash
|
|
393
447
|
singbox-iac init
|
|
394
448
|
singbox-iac setup
|
|
395
|
-
singbox-iac quickstart
|
|
396
449
|
singbox-iac author
|
|
397
450
|
singbox-iac build
|
|
398
451
|
singbox-iac check
|
|
399
452
|
singbox-iac apply
|
|
400
453
|
singbox-iac run
|
|
401
454
|
singbox-iac verify
|
|
402
|
-
singbox-iac update
|
|
403
|
-
singbox-iac doctor
|
|
404
455
|
singbox-iac proxifier bundles
|
|
405
456
|
singbox-iac proxifier bundles show antigravity
|
|
406
457
|
singbox-iac proxifier bundles render antigravity
|
|
407
458
|
singbox-iac proxifier scaffold
|
|
459
|
+
singbox-iac rulesets list --filter openai
|
|
408
460
|
singbox-iac schedule install
|
|
409
461
|
singbox-iac schedule remove
|
|
410
462
|
singbox-iac templates list
|
|
@@ -38,6 +38,9 @@ export function registerApplyCommand(program) {
|
|
|
38
38
|
: {}),
|
|
39
39
|
...(options.reload !== undefined ? { reload: options.reload } : {}),
|
|
40
40
|
...(builderConfig?.runtime.reload ? { runtime: builderConfig.runtime.reload } : {}),
|
|
41
|
+
...(builderConfig?.runtime.desktop
|
|
42
|
+
? { desktopRuntime: builderConfig.runtime.desktop }
|
|
43
|
+
: {}),
|
|
41
44
|
});
|
|
42
45
|
},
|
|
43
46
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../../../src/cli/commands/apply.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,mDAAmD,CAAC;SAChE,MAAM,CAAC,qBAAqB,EAAE,6BAA6B,CAAC;SAC5D,MAAM,CAAC,oBAAoB,EAAE,6BAA6B,CAAC;SAC3D,MAAM,CAAC,oBAAoB,EAAE,2BAA2B,CAAC;SACzD,MAAM,CAAC,sBAAsB,EAAE,6BAA6B,CAAC;SAC7D,MAAM,CAAC,uBAAuB,EAAE,yBAAyB,CAAC;SAC1D,MAAM,CAAC,UAAU,EAAE,+BAA+B,CAAC;SACnD,MAAM,CAAC,KAAK,EAAE,OAA4B,EAAE,EAAE;QAC7C,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,IAAI,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC;QACvE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC;QACpE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,aAAa,EAAE,MAAM,CAAC,UAAU,CAAC;QAE1E,IAAI,CAAC,WAAW,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACb,6FAA6F,CAC9F,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,aAAa;YAC/B,CAAC,CAAC,MAAM,oBAAoB,CAAC;gBACzB,MAAM,EAAE,aAAa;gBACrB,aAAa,EAAE,WAAW;gBAC1B,QAAQ;gBACR,UAAU,EAAE,UAAU,IAAI,aAAa,CAAC,MAAM,CAAC,UAAU;gBACzD,mBAAmB,EAAE,EAAE;gBACvB,KAAK,EAAE,KAAK,IAAI,EAAE;oBAChB,MAAM,WAAW,CAAC;wBAChB,WAAW;wBACX,QAAQ;wBACR,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACrC,GAAG,CAAC,OAAO,CAAC,UAAU;4BACpB,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,UAAU,EAAE;4BACvC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa;gCAChD,CAAC,CAAC,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,EAAE;gCACrE,CAAC,CAAC,EAAE,CAAC;wBACT,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACnE,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../../../src/cli/commands/apply.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Command } from "commander";
|
|
2
|
+
import { type AuthoringWriteMode } from "../../modules/layered-authoring/index.js";
|
|
2
3
|
export declare function registerAuthorCommand(program: Command): void;
|
|
3
4
|
export declare function runAuthorFlow(options: AuthorCommandOptions): Promise<void>;
|
|
4
5
|
interface AuthorCommandOptions {
|
|
@@ -29,5 +30,6 @@ interface AuthorCommandOptions {
|
|
|
29
30
|
readonly logsDir?: string;
|
|
30
31
|
readonly forceSchedule?: boolean;
|
|
31
32
|
readonly load?: boolean;
|
|
33
|
+
readonly authoringMode?: AuthoringWriteMode;
|
|
32
34
|
}
|
|
33
35
|
export {};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
2
|
import { generateAuthoringPlan } from "../../modules/authoring/index.js";
|
|
3
3
|
import { buildConfigArtifact, resolveEffectiveIntent } from "../../modules/build/index.js";
|
|
4
|
+
import { applyLayeredAuthoringUpdate, materializeLayeredAuthoringState, resolveLayeredAuthoringPath, resolveLayeredAuthoringState, writeLayeredAuthoringState, } from "../../modules/layered-authoring/index.js";
|
|
4
5
|
import { applyPlanToBuilderConfig, updateBuilderAuthoring, writeGeneratedRules, } from "../../modules/natural-language/index.js";
|
|
5
6
|
import { generateAuthoringPreview } from "../../modules/preview/index.js";
|
|
6
7
|
import { installLaunchdSchedule } from "../../modules/schedule/index.js";
|
|
@@ -62,15 +63,32 @@ export async function runAuthorFlow(options) {
|
|
|
62
63
|
...(options.strict ? { strict: true } : {}),
|
|
63
64
|
});
|
|
64
65
|
const plan = planResult.plan;
|
|
66
|
+
const authoringMode = options.authoringMode ?? "replace";
|
|
65
67
|
const rulesPath = options.rulesOut
|
|
66
68
|
? resolvePath(options.rulesOut)
|
|
67
69
|
: builderConfig.rules.userRulesFile;
|
|
70
|
+
const currentLayeredState = await resolveLayeredAuthoringState({
|
|
71
|
+
config: builderConfig,
|
|
72
|
+
});
|
|
73
|
+
const nextLayeredState = applyLayeredAuthoringUpdate({
|
|
74
|
+
current: currentLayeredState.state,
|
|
75
|
+
prompt: options.prompt,
|
|
76
|
+
plan,
|
|
77
|
+
mode: authoringMode,
|
|
78
|
+
appliedAt: new Date().toISOString(),
|
|
79
|
+
});
|
|
80
|
+
const nextResolvedLayeredState = materializeLayeredAuthoringState({
|
|
81
|
+
filePath: resolveLayeredAuthoringPath(rulesPath),
|
|
82
|
+
exists: true,
|
|
83
|
+
state: nextLayeredState,
|
|
84
|
+
});
|
|
85
|
+
const mergedPlan = nextResolvedLayeredState.mergedPlan;
|
|
68
86
|
const effectiveConfig = applyPlanToBuilderConfig(builderConfig, {
|
|
69
87
|
rulesPath,
|
|
70
|
-
plan,
|
|
88
|
+
plan: mergedPlan,
|
|
71
89
|
});
|
|
72
90
|
if (options.emitIntentIr) {
|
|
73
|
-
process.stdout.write(`${JSON.stringify(
|
|
91
|
+
process.stdout.write(`${JSON.stringify(nextResolvedLayeredState.mergedIntent, null, 2)}\n`);
|
|
74
92
|
return;
|
|
75
93
|
}
|
|
76
94
|
if (options.preview || options.diff) {
|
|
@@ -78,10 +96,10 @@ export async function runAuthorFlow(options) {
|
|
|
78
96
|
const preview = await generateAuthoringPreview({
|
|
79
97
|
configPath,
|
|
80
98
|
config: builderConfig,
|
|
81
|
-
plan,
|
|
99
|
+
plan: mergedPlan,
|
|
82
100
|
rulesPath,
|
|
83
101
|
currentIntent,
|
|
84
|
-
proposedIntent:
|
|
102
|
+
proposedIntent: nextResolvedLayeredState.mergedIntent,
|
|
85
103
|
...(options.subscriptionFile ? { subscriptionFile: options.subscriptionFile } : {}),
|
|
86
104
|
...(options.subscriptionUrl ? { subscriptionUrl: options.subscriptionUrl } : {}),
|
|
87
105
|
buildStaging: !options.skipBuild,
|
|
@@ -89,19 +107,21 @@ export async function runAuthorFlow(options) {
|
|
|
89
107
|
const lines = [
|
|
90
108
|
`Config: ${configPath}`,
|
|
91
109
|
`Rules: ${rulesPath}`,
|
|
110
|
+
`Authoring mode: ${authoringMode}`,
|
|
111
|
+
`Layered authoring: ${nextResolvedLayeredState.filePath}`,
|
|
92
112
|
`Provider requested: ${planResult.providerRequested}`,
|
|
93
113
|
`Provider used: ${planResult.providerUsed}`,
|
|
94
|
-
`Templates: ${
|
|
95
|
-
`Generated rules: ${
|
|
114
|
+
`Templates: ${mergedPlan.templateIds.length > 0 ? mergedPlan.templateIds.join(", ") : "(none)"}`,
|
|
115
|
+
`Generated rules: ${mergedPlan.beforeBuiltins.length + mergedPlan.afterBuiltins.length}`,
|
|
96
116
|
`${options.diff ? "Diff" : "Preview"} mode: no files were written.`,
|
|
97
117
|
];
|
|
98
118
|
if (planResult.ambiguities.length > 0) {
|
|
99
119
|
lines.push(`Ambiguities detected: ${planResult.ambiguities.length}`);
|
|
100
120
|
lines.push(...planResult.ambiguities.map((ambiguity) => `- ${ambiguity}`));
|
|
101
121
|
}
|
|
102
|
-
if (
|
|
103
|
-
lines.push(`Notes: ${
|
|
104
|
-
lines.push(...
|
|
122
|
+
if (mergedPlan.notes.length > 0) {
|
|
123
|
+
lines.push(`Notes: ${mergedPlan.notes.length}`);
|
|
124
|
+
lines.push(...mergedPlan.notes.map((note) => `- ${note}`));
|
|
105
125
|
}
|
|
106
126
|
if (options.installSchedule) {
|
|
107
127
|
lines.push("Schedule install: requested, but skipped in preview mode.");
|
|
@@ -128,33 +148,43 @@ export async function runAuthorFlow(options) {
|
|
|
128
148
|
}
|
|
129
149
|
await writeGeneratedRules({
|
|
130
150
|
filePath: rulesPath,
|
|
131
|
-
plan,
|
|
151
|
+
plan: mergedPlan,
|
|
152
|
+
});
|
|
153
|
+
await writeLayeredAuthoringState({
|
|
154
|
+
rulesPath,
|
|
155
|
+
state: nextLayeredState,
|
|
132
156
|
});
|
|
133
157
|
await updateBuilderAuthoring({
|
|
134
158
|
configPath,
|
|
135
159
|
rulesPath,
|
|
136
|
-
...(
|
|
137
|
-
|
|
138
|
-
|
|
160
|
+
...(mergedPlan.scheduleIntervalMinutes
|
|
161
|
+
? { intervalMinutes: mergedPlan.scheduleIntervalMinutes }
|
|
162
|
+
: {}),
|
|
163
|
+
...(mergedPlan.groupDefaults ? { groupDefaults: mergedPlan.groupDefaults } : {}),
|
|
164
|
+
...(mergedPlan.verificationOverrides
|
|
165
|
+
? { verificationOverrides: mergedPlan.verificationOverrides }
|
|
166
|
+
: {}),
|
|
139
167
|
});
|
|
140
168
|
const lines = [
|
|
141
169
|
`Config: ${configPath}`,
|
|
142
170
|
`Rules: ${rulesPath}`,
|
|
171
|
+
`Authoring mode: ${authoringMode}`,
|
|
172
|
+
`Layered authoring: ${nextResolvedLayeredState.filePath}`,
|
|
143
173
|
`Provider requested: ${planResult.providerRequested}`,
|
|
144
174
|
`Provider used: ${planResult.providerUsed}`,
|
|
145
|
-
`Templates: ${
|
|
146
|
-
`Generated rules: ${
|
|
175
|
+
`Templates: ${mergedPlan.templateIds.length > 0 ? mergedPlan.templateIds.join(", ") : "(none)"}`,
|
|
176
|
+
`Generated rules: ${mergedPlan.beforeBuiltins.length + mergedPlan.afterBuiltins.length}`,
|
|
147
177
|
];
|
|
148
178
|
if (planResult.ambiguities.length > 0) {
|
|
149
179
|
lines.push(`Ambiguities detected: ${planResult.ambiguities.length}`);
|
|
150
180
|
lines.push(...planResult.ambiguities.map((ambiguity) => `- ${ambiguity}`));
|
|
151
181
|
}
|
|
152
|
-
if (
|
|
153
|
-
lines.push(`Notes: ${
|
|
154
|
-
lines.push(...
|
|
182
|
+
if (mergedPlan.notes.length > 0) {
|
|
183
|
+
lines.push(`Notes: ${mergedPlan.notes.length}`);
|
|
184
|
+
lines.push(...mergedPlan.notes.map((note) => `- ${note}`));
|
|
155
185
|
}
|
|
156
186
|
if (options.installSchedule) {
|
|
157
|
-
const intervalMinutes =
|
|
187
|
+
const intervalMinutes = mergedPlan.scheduleIntervalMinutes ?? effectiveConfig.schedule.intervalMinutes;
|
|
158
188
|
const schedule = await installLaunchdSchedule({
|
|
159
189
|
configPath,
|
|
160
190
|
intervalMinutes,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"author.js","sourceRoot":"","sources":["../../../src/cli/commands/author.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"author.js","sourceRoot":"","sources":["../../../src/cli/commands/author.ts"],"names":[],"mappings":"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"}
|