@singbox-iac/cli 0.1.16 → 0.1.17
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 +70 -24
- 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 +25 -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 +120 -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/restart.js +42 -2
- package/dist/cli/commands/restart.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 +38 -13
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/start.js +29 -1
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/commands/status.js +135 -28
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/stop.js +19 -1
- 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/index.js +12 -4
- package/dist/cli/index.js.map +1 -1
- package/dist/config/schema.d.ts +49 -6
- package/dist/config/schema.js +17 -0
- package/dist/config/schema.js.map +1 -1
- package/dist/modules/authoring/index.js +25 -8
- 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 +46 -0
- package/dist/modules/bundle-registry/index.js +650 -0
- package/dist/modules/bundle-registry/index.js.map +1 -0
- package/dist/modules/desktop-runtime/index.d.ts +11 -0
- package/dist/modules/desktop-runtime/index.js +41 -0
- 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 +288 -0
- package/dist/modules/diagnostics/index.js.map +1 -0
- 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/natural-language/index.d.ts +6 -3
- 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 +10 -139
- 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-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 +48 -0
- package/dist/modules/status/index.js +254 -23
- 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/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 +53 -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.md
CHANGED
|
@@ -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
|
|
194
215
|
```
|
|
195
216
|
|
|
196
|
-
|
|
217
|
+
`status` 适合看当前运行快照;`diagnose` 适合继续判断问题更像是运行时漂移、系统 DNS/默认路由异常,还是最近一次发布没有生效。
|
|
197
218
|
|
|
198
|
-
|
|
219
|
+
其余命令都属于 power-user / 工程命令,主要用于拆流程、排障或更细粒度控制。
|
|
220
|
+
|
|
221
|
+
例如:
|
|
222
|
+
|
|
223
|
+
```bash
|
|
224
|
+
singbox-iac rulesets list --filter openai
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
这个隐藏命令可以查看:
|
|
228
|
+
|
|
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,11 +262,6 @@ singbox-iac setup \
|
|
|
229
262
|
--ready
|
|
230
263
|
```
|
|
231
264
|
|
|
232
|
-
`setup --ready` 和 `quickstart` 的主要区别是:
|
|
233
|
-
|
|
234
|
-
- `quickstart` 更偏默认的一键上手
|
|
235
|
-
- `setup --ready` 更适合你还想自己决定是否运行、是否开浏览器、是否写 Proxifier 辅助目录
|
|
236
|
-
|
|
237
265
|
### 前台运行测试
|
|
238
266
|
|
|
239
267
|
```bash
|
|
@@ -293,17 +321,28 @@ singbox-iac use 'GitHub 这类开发类都走香港,Gemini 走新加坡'
|
|
|
293
321
|
|
|
294
322
|
对于大多数场景,不需要手写 `sing-box` JSON,也不需要理解 DSL。
|
|
295
323
|
|
|
324
|
+
`use` 的默认语义是 patch,而不是 replace:
|
|
325
|
+
|
|
326
|
+
- `singbox-iac use 'NotebookLM 走美国'`
|
|
327
|
+
- 在现有 authored intent 上追加或覆盖相关策略
|
|
328
|
+
- `singbox-iac use '所有开发类都走新加坡' --replace`
|
|
329
|
+
- 显式重建 authored policy set
|
|
330
|
+
|
|
331
|
+
内部会同时维护两类文件:
|
|
332
|
+
|
|
333
|
+
- `rules.userRulesFile`
|
|
334
|
+
- 当前 compiler 真正消费的 merged YAML DSL
|
|
335
|
+
- 同目录下的 `*.authoring.yaml`
|
|
336
|
+
- layered authored state,用来保留 base intent 和后续 patch
|
|
337
|
+
|
|
296
338
|
示例:
|
|
297
339
|
|
|
298
340
|
```bash
|
|
299
|
-
singbox-iac
|
|
300
|
-
--prompt 'GitHub 这类开发类都走香港出口,Antigravity 进程级都走独立入口并路由到美国节点,Gemini 都出口到新加坡'
|
|
341
|
+
singbox-iac use 'Google 服务和 GitHub 走香港,Amazon Prime 和 Apple TV 走新加坡,国内直连,每45分钟自动更新'
|
|
301
342
|
```
|
|
302
343
|
|
|
303
344
|
```bash
|
|
304
|
-
singbox-iac
|
|
305
|
-
--prompt 'Google 服务和 GitHub 走香港,Amazon Prime 和 Apple TV 走新加坡,国内直连,每45分钟自动更新' \
|
|
306
|
-
--update
|
|
345
|
+
singbox-iac use 'NotebookLM 走美国,Cursor 走独立入口并出口到美国'
|
|
307
346
|
```
|
|
308
347
|
|
|
309
348
|
作者层支持:
|
|
@@ -321,6 +360,14 @@ singbox-iac author \
|
|
|
321
360
|
singbox-iac use 'GitHub 这类开发类都走香港,Gemini 走新加坡' --strict --diff
|
|
322
361
|
```
|
|
323
362
|
|
|
363
|
+
如果你明确要放弃之前的一整套自然语言策略,再使用:
|
|
364
|
+
|
|
365
|
+
```bash
|
|
366
|
+
singbox-iac use 'Google 服务和 GitHub 都走新加坡' --replace
|
|
367
|
+
```
|
|
368
|
+
|
|
369
|
+
如果你需要 preview、Intent IR、或分阶段 author/build/update 控制,再使用 power-user 的 `author`。详见 [docs/natural-language-authoring.md](./docs/natural-language-authoring.md)。
|
|
370
|
+
|
|
324
371
|
## Proxifier 上手
|
|
325
372
|
|
|
326
373
|
如果你的 AI IDE、language server 或桌面应用不走系统代理,可以直接使用自动生成的 Proxifier 辅助目录:
|
|
@@ -387,20 +434,19 @@ singbox-iac proxifier bundles render antigravity
|
|
|
387
434
|
|
|
388
435
|
当前项目不会把订阅地址自动上传到任何远端服务。除非你主动配置外部 AI CLI 或外部命令,否则默认作者层不依赖外部 API。
|
|
389
436
|
|
|
390
|
-
##
|
|
437
|
+
## Power-user / 工程命令
|
|
438
|
+
|
|
439
|
+
除非你要拆开流水线、做深度排障或处理特殊集成,一般不需要直接用这些:
|
|
391
440
|
|
|
392
441
|
```bash
|
|
393
442
|
singbox-iac init
|
|
394
443
|
singbox-iac setup
|
|
395
|
-
singbox-iac quickstart
|
|
396
444
|
singbox-iac author
|
|
397
445
|
singbox-iac build
|
|
398
446
|
singbox-iac check
|
|
399
447
|
singbox-iac apply
|
|
400
448
|
singbox-iac run
|
|
401
449
|
singbox-iac verify
|
|
402
|
-
singbox-iac update
|
|
403
|
-
singbox-iac doctor
|
|
404
450
|
singbox-iac proxifier bundles
|
|
405
451
|
singbox-iac proxifier bundles show antigravity
|
|
406
452
|
singbox-iac proxifier bundles render antigravity
|
|
@@ -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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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { homedir } from "node:os";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { buildConfigArtifact } from "../../modules/build/index.js";
|
|
4
|
-
import {
|
|
4
|
+
import { listBuiltInPreferredSiteRuleSetTags } from "../../modules/bundle-registry/index.js";
|
|
5
|
+
import { defaultRuntimeLaunchAgentLabel, defaultRuntimeWatchdogLaunchAgentLabel, } from "../../modules/desktop-runtime/index.js";
|
|
5
6
|
import { resolveBuilderConfig } from "../command-helpers.js";
|
|
6
7
|
export function registerBuildCommand(program) {
|
|
7
8
|
program
|
|
@@ -63,6 +64,11 @@ async function resolveBuildConfig(options) {
|
|
|
63
64
|
strictRoute: false,
|
|
64
65
|
addresses: ["172.19.0.1/30", "fdfe:dcba:9876::1/126"],
|
|
65
66
|
},
|
|
67
|
+
watchdog: {
|
|
68
|
+
enabled: true,
|
|
69
|
+
intervalSeconds: 60,
|
|
70
|
+
launchAgentLabel: defaultRuntimeWatchdogLaunchAgentLabel,
|
|
71
|
+
},
|
|
66
72
|
},
|
|
67
73
|
},
|
|
68
74
|
listeners: {
|
|
@@ -77,18 +83,7 @@ async function resolveBuildConfig(options) {
|
|
|
77
83
|
port: 39091,
|
|
78
84
|
},
|
|
79
85
|
},
|
|
80
|
-
ruleSets:
|
|
81
|
-
localRuleSet("geosite-cn"),
|
|
82
|
-
localRuleSet("geoip-cn"),
|
|
83
|
-
localRuleSet("geosite-google"),
|
|
84
|
-
localRuleSet("geosite-google-gemini"),
|
|
85
|
-
localRuleSet("geosite-google-deepmind"),
|
|
86
|
-
localRuleSet("geosite-anthropic"),
|
|
87
|
-
localRuleSet("geosite-github"),
|
|
88
|
-
localRuleSet("geosite-github-copilot"),
|
|
89
|
-
localRuleSet("geosite-cursor"),
|
|
90
|
-
localRuleSet("geosite-figma"),
|
|
91
|
-
],
|
|
86
|
+
ruleSets: defaultManagedRuleSetTags().map(localRuleSet),
|
|
92
87
|
groups: {
|
|
93
88
|
processProxy: {
|
|
94
89
|
type: "selector",
|
|
@@ -171,6 +166,23 @@ async function resolveBuildConfig(options) {
|
|
|
171
166
|
},
|
|
172
167
|
};
|
|
173
168
|
}
|
|
169
|
+
function defaultManagedRuleSetTags() {
|
|
170
|
+
return [
|
|
171
|
+
...new Set([
|
|
172
|
+
"geosite-cn",
|
|
173
|
+
"geoip-cn",
|
|
174
|
+
"geosite-google",
|
|
175
|
+
"geosite-google-gemini",
|
|
176
|
+
"geosite-google-deepmind",
|
|
177
|
+
"geosite-anthropic",
|
|
178
|
+
"geosite-github",
|
|
179
|
+
"geosite-github-copilot",
|
|
180
|
+
"geosite-cursor",
|
|
181
|
+
"geosite-figma",
|
|
182
|
+
...listBuiltInPreferredSiteRuleSetTags(),
|
|
183
|
+
]),
|
|
184
|
+
];
|
|
185
|
+
}
|
|
174
186
|
function localRuleSet(tag) {
|
|
175
187
|
return {
|
|
176
188
|
tag,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAK7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { collectDiagnosticsReport, } from "../../modules/diagnostics/index.js";
|
|
3
|
+
import { findDefaultConfigPath, resolveBuilderConfig } from "../command-helpers.js";
|
|
4
|
+
export function registerDiagnoseCommand(program) {
|
|
5
|
+
program
|
|
6
|
+
.command("diagnose")
|
|
7
|
+
.description("Summarize runtime, proxy, DNS, and local-network evidence.")
|
|
8
|
+
.option("-c, --config <path>", "path to builder config YAML")
|
|
9
|
+
.option("--sing-box-bin <path>", "path to sing-box binary")
|
|
10
|
+
.option("--launch-agents-dir <path>", "override LaunchAgents directory")
|
|
11
|
+
.option("--json", "print machine-readable JSON")
|
|
12
|
+
.action(async (options) => {
|
|
13
|
+
const config = await resolveBuilderConfig(options);
|
|
14
|
+
const configPath = options.config
|
|
15
|
+
? resolvePath(options.config)
|
|
16
|
+
: await findDefaultConfigPath();
|
|
17
|
+
const report = await collectDiagnosticsReport({
|
|
18
|
+
...(config ? { config } : {}),
|
|
19
|
+
...(configPath ? { configPath } : {}),
|
|
20
|
+
...(options.singBoxBin ? { singBoxBinary: resolvePath(options.singBoxBin) } : {}),
|
|
21
|
+
...(options.launchAgentsDir
|
|
22
|
+
? { launchAgentsDir: resolvePath(options.launchAgentsDir) }
|
|
23
|
+
: {}),
|
|
24
|
+
});
|
|
25
|
+
if (options.json) {
|
|
26
|
+
process.stdout.write(`${JSON.stringify(report, null, 2)}\n`);
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
process.stdout.write(renderDiagnoseOutput(report));
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
function resolvePath(filePath) {
|
|
33
|
+
return filePath.startsWith("/") ? filePath : path.resolve(process.cwd(), filePath);
|
|
34
|
+
}
|
|
35
|
+
function renderDiagnoseOutput(report) {
|
|
36
|
+
const assessment = assessDiagnostics(report);
|
|
37
|
+
const lines = [
|
|
38
|
+
"Network triage: runtime summary plus local route, DNS, and domain-resolution evidence.",
|
|
39
|
+
"",
|
|
40
|
+
...renderSection("Context", [
|
|
41
|
+
`generated: ${report.generatedAt}`,
|
|
42
|
+
`config: ${report.builderConfigPath ?? "(missing)"}`,
|
|
43
|
+
]),
|
|
44
|
+
"",
|
|
45
|
+
...renderSection("Summary", [
|
|
46
|
+
`checks: PASS ${report.summary.pass} WARN ${report.summary.warn} FAIL ${report.summary.fail}`,
|
|
47
|
+
`assessment: ${assessment.label}`,
|
|
48
|
+
]),
|
|
49
|
+
"",
|
|
50
|
+
...renderSection("Runtime Summary", selectChecks(report.checks, "runtime").map(formatCheckLine)),
|
|
51
|
+
"",
|
|
52
|
+
...renderSection("Network Evidence", selectChecks(report.checks, "network").map(formatCheckLine)),
|
|
53
|
+
"",
|
|
54
|
+
...renderSection("Suggested Next Step", assessment.nextSteps),
|
|
55
|
+
"",
|
|
56
|
+
...renderSection("Status Diagnostics", report.status.diagnostics.length > 0
|
|
57
|
+
? report.status.diagnostics.map((diagnostic) => `[${diagnostic.level}] ${diagnostic.message}`)
|
|
58
|
+
: ["[info] No status diagnostics were recorded."]),
|
|
59
|
+
];
|
|
60
|
+
return `${lines.join("\n")}\n`;
|
|
61
|
+
}
|
|
62
|
+
function assessDiagnostics(report) {
|
|
63
|
+
const runtimeChecks = selectChecks(report.checks, "runtime");
|
|
64
|
+
const networkChecks = selectChecks(report.checks, "network");
|
|
65
|
+
const runtimeHasWarnings = runtimeChecks.some((check) => check.status !== "PASS") ||
|
|
66
|
+
report.status.diagnostics.some((diagnostic) => diagnostic.level !== "info");
|
|
67
|
+
const networkHasWarnings = networkChecks.some((check) => check.status !== "PASS");
|
|
68
|
+
if (report.summary.warn === 0 && report.summary.fail === 0) {
|
|
69
|
+
return {
|
|
70
|
+
label: "No immediate network issue detected.",
|
|
71
|
+
nextSteps: [
|
|
72
|
+
"No immediate action. If a specific app still fails, compare app-specific routing and re-run diagnose.",
|
|
73
|
+
],
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
if (runtimeHasWarnings && !networkHasWarnings) {
|
|
77
|
+
return {
|
|
78
|
+
label: "Likely runtime drift or publish issue.",
|
|
79
|
+
nextSteps: [
|
|
80
|
+
report.status.runtime.systemProxy?.nextAction ??
|
|
81
|
+
"Reconcile runtime state first: run `singbox-iac status` or `singbox-iac restart`, then re-run diagnose.",
|
|
82
|
+
],
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
if (!runtimeHasWarnings && networkHasWarnings) {
|
|
86
|
+
return {
|
|
87
|
+
label: "Likely local DNS / route issue.",
|
|
88
|
+
nextSteps: ["Inspect local DNS, router, VPN, or captive-portal state, then re-run diagnose."],
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
return {
|
|
92
|
+
label: "Mixed evidence across runtime and local network.",
|
|
93
|
+
nextSteps: [
|
|
94
|
+
report.status.runtime.systemProxy?.nextAction ??
|
|
95
|
+
"Fix runtime drift first, then re-run diagnose to see whether local DNS or route warnings remain.",
|
|
96
|
+
"If network warnings remain after the runtime is healthy, inspect local DNS, route, VPN, or captive-portal state.",
|
|
97
|
+
],
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
function selectChecks(checks, scope) {
|
|
101
|
+
return checks.filter((check) => scope === "runtime" ? isRuntimeCheck(check.name) : isNetworkCheck(check.name));
|
|
102
|
+
}
|
|
103
|
+
function isRuntimeCheck(name) {
|
|
104
|
+
return (name === "runtime-process" ||
|
|
105
|
+
name.startsWith("listener:") ||
|
|
106
|
+
name === "system-proxy" ||
|
|
107
|
+
name === "live-config" ||
|
|
108
|
+
name === "schedule" ||
|
|
109
|
+
name === "latest-transaction");
|
|
110
|
+
}
|
|
111
|
+
function isNetworkCheck(name) {
|
|
112
|
+
return name === "default-route" || name === "system-dns" || name.startsWith("dns-probe:");
|
|
113
|
+
}
|
|
114
|
+
function formatCheckLine(check) {
|
|
115
|
+
return `[${check.status}] ${check.name}: ${check.details}`;
|
|
116
|
+
}
|
|
117
|
+
function renderSection(title, items) {
|
|
118
|
+
return [`${title}:`, ...(items.length > 0 ? items.map((item) => `- ${item}`) : ["- (none)"])];
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=diagnose.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnose.js","sourceRoot":"","sources":["../../../src/cli/commands/diagnose.ts"],"names":[],"mappings":"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"}
|