1688-cli 0.1.41 → 0.1.43

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 (119) hide show
  1. package/AGENTS.md +112 -318
  2. package/ARCHITECTURE.md +107 -0
  3. package/CHANGELOG.md +79 -0
  4. package/README.md +186 -18
  5. package/dist/cli.js +131 -25
  6. package/dist/cli.js.map +1 -1
  7. package/dist/commands/cart-list.js +2 -1
  8. package/dist/commands/cart-list.js.map +1 -1
  9. package/dist/commands/checkout-confirm.js +8 -8
  10. package/dist/commands/checkout-confirm.js.map +1 -1
  11. package/dist/commands/compare.js +107 -0
  12. package/dist/commands/compare.js.map +1 -0
  13. package/dist/commands/doctor.js +64 -47
  14. package/dist/commands/doctor.js.map +1 -1
  15. package/dist/commands/inbox.js +1 -1
  16. package/dist/commands/inbox.js.map +1 -1
  17. package/dist/commands/login.js +14 -14
  18. package/dist/commands/login.js.map +1 -1
  19. package/dist/commands/logout.js +6 -4
  20. package/dist/commands/logout.js.map +1 -1
  21. package/dist/commands/offer.js +7 -5
  22. package/dist/commands/offer.js.map +1 -1
  23. package/dist/commands/order-list.js +4 -2
  24. package/dist/commands/order-list.js.map +1 -1
  25. package/dist/commands/order-logistics.js +4 -2
  26. package/dist/commands/order-logistics.js.map +1 -1
  27. package/dist/commands/profile.js +25 -9
  28. package/dist/commands/profile.js.map +1 -1
  29. package/dist/commands/research.js +142 -0
  30. package/dist/commands/research.js.map +1 -0
  31. package/dist/commands/search.js +59 -18
  32. package/dist/commands/search.js.map +1 -1
  33. package/dist/commands/seller-chat.js +1 -1
  34. package/dist/commands/seller-chat.js.map +1 -1
  35. package/dist/commands/seller-inquire.js +1 -1
  36. package/dist/commands/seller-inquire.js.map +1 -1
  37. package/dist/commands/seller-messages.js +8 -5
  38. package/dist/commands/seller-messages.js.map +1 -1
  39. package/dist/commands/sourcing-utils.js +438 -0
  40. package/dist/commands/sourcing-utils.js.map +1 -0
  41. package/dist/commands/supplier-inspect.js +559 -0
  42. package/dist/commands/supplier-inspect.js.map +1 -0
  43. package/dist/commands/supplier-search.js +522 -0
  44. package/dist/commands/supplier-search.js.map +1 -0
  45. package/dist/commands/whoami.js +6 -3
  46. package/dist/commands/whoami.js.map +1 -1
  47. package/dist/daemon/client.js +10 -6
  48. package/dist/daemon/client.js.map +1 -1
  49. package/dist/daemon/manager.js +53 -37
  50. package/dist/daemon/manager.js.map +1 -1
  51. package/dist/daemon/protocol.js +2 -1
  52. package/dist/daemon/protocol.js.map +1 -1
  53. package/dist/daemon/server.js +26 -22
  54. package/dist/daemon/server.js.map +1 -1
  55. package/dist/session/context.js +1 -1
  56. package/dist/session/context.js.map +1 -1
  57. package/dist/session/dispatch.js +25 -22
  58. package/dist/session/dispatch.js.map +1 -1
  59. package/dist/session/im-ws.js +8 -5
  60. package/dist/session/im-ws.js.map +1 -1
  61. package/dist/session/lock.js +14 -14
  62. package/dist/session/lock.js.map +1 -1
  63. package/dist/session/paths.js +50 -16
  64. package/dist/session/paths.js.map +1 -1
  65. package/dist/session/search-mtop.js +53 -0
  66. package/dist/session/search-mtop.js.map +1 -1
  67. package/dist/session/shared.js +17 -7
  68. package/dist/session/shared.js.map +1 -1
  69. package/dist/session/state.js +7 -7
  70. package/dist/session/state.js.map +1 -1
  71. package/dist/session/supplier-search.js +403 -0
  72. package/dist/session/supplier-search.js.map +1 -0
  73. package/dist/util/encoding.js +8 -0
  74. package/dist/util/encoding.js.map +1 -0
  75. package/dist/util/temp.js +6 -0
  76. package/dist/util/temp.js.map +1 -0
  77. package/docs/AGENT_MAPS_PLAN.md +171 -0
  78. package/docs/AGENT_WORKING_PRINCIPLES.md +143 -0
  79. package/docs/COMMANDS.md +205 -0
  80. package/docs/FEATURES.md +45 -0
  81. package/docs/JSON_CONTRACTS.md +476 -0
  82. package/docs/QUALITY_SCORE.md +61 -0
  83. package/docs/README.md +36 -0
  84. package/docs/RELIABILITY.md +69 -0
  85. package/docs/SAFETY.md +99 -0
  86. package/docs/WORKFLOW.md +82 -0
  87. package/docs/exec-plans/README.md +9 -0
  88. package/docs/exec-plans/active/README.md +4 -0
  89. package/docs/exec-plans/completed/2026-05-28-sourcing-research-v1.md +125 -0
  90. package/docs/exec-plans/completed/2026-05-31-supplier-inspect-v1.md +113 -0
  91. package/docs/exec-plans/completed/2026-06-04-supplier-search-v1.md +81 -0
  92. package/docs/exec-plans/completed/2026-06-07-windows-cli-compatibility.md +138 -0
  93. package/docs/exec-plans/completed/2026-06-16-profile-daemon.md +146 -0
  94. package/docs/exec-plans/completed/README.md +4 -0
  95. package/docs/exec-plans/tech-debt-tracker.md +5 -0
  96. package/docs/generated/command-index.md +54 -0
  97. package/docs/generated/json-shapes.md +111 -0
  98. package/docs/generated/module-map.md +13 -0
  99. package/docs/generated/test-index.md +34 -0
  100. package/docs/playbooks/add-command.md +15 -0
  101. package/docs/playbooks/add-mtop-capture.md +13 -0
  102. package/docs/playbooks/change-json-output.md +11 -0
  103. package/docs/playbooks/debug-risk-control.md +12 -0
  104. package/docs/playbooks/update-cli-release.md +61 -0
  105. package/docs/records/release-omissions.md +34 -0
  106. package/docs/specs/checkout-and-orders.md +30 -0
  107. package/docs/specs/index.md +9 -0
  108. package/docs/specs/profile-daemon.md +114 -0
  109. package/docs/specs/seller-im.md +28 -0
  110. package/docs/specs/sourcing-research.md +186 -0
  111. package/docs/specs/supplier-inspect.md +144 -0
  112. package/docs/specs/supplier-search.md +179 -0
  113. package/docs/specs/windows-cli-compatibility.md +123 -0
  114. package/package.json +21 -4
  115. package/scripts/check_agent_map.mjs +87 -0
  116. package/scripts/check_release.mjs +40 -0
  117. package/scripts/fix_bin_mode.mjs +18 -0
  118. package/scripts/generate_agent_context.mjs +253 -0
  119. package/scripts/postinstall.mjs +12 -4
package/README.md CHANGED
@@ -1,18 +1,18 @@
1
- # 1688 CLI: AI Agents Friendly Alibaba 1688.com CLI - Product Search, Inquiry, Cart, Checkout, Order Tracking & Seller Chat
1
+ # 1688 CLI: AI Agents Friendly Alibaba 1688.com Product Search & Supplier Scraper CLI
2
2
 
3
3
  [![npm version](https://img.shields.io/npm/v/1688-cli.svg)](https://www.npmjs.com/package/1688-cli)
4
4
  [![npm downloads](https://img.shields.io/npm/dm/1688-cli.svg)](https://www.npmjs.com/package/1688-cli)
5
5
  [![license](https://img.shields.io/npm/l/1688-cli.svg)](./LICENSE)
6
6
  [![node](https://img.shields.io/node/v/1688-cli.svg)](https://nodejs.org/)
7
7
 
8
- Command-line tool for Alibaba 1688.com wholesale: keyword & image search,
9
- supplier inquiry, cart, checkout, order tracking, and seller chat. Outputs
10
- JSON when piped (for Codex / Claude Code / other AI agents) and pretty TTY
11
- text for humans.
8
+ Command-line tool for Alibaba 1688.com wholesale: product search, supplier
9
+ company search, supplier scraper/research, image search, supplier inquiry, cart,
10
+ checkout, order tracking, and seller chat. Outputs JSON when piped (for Codex /
11
+ Claude Code / other AI agents) and pretty TTY text for humans.
12
12
 
13
13
  The 6 things you can do from the terminal:
14
14
 
15
- 1. **Sourcing** — search / similar / image-search / product detail
15
+ 1. **Sourcing** — product scraper/research + supplier scraper/research
16
16
  2. **Pre-sale inquiry** — ask the supplier, watch replies live
17
17
  3. **Cart** — collect SKUs (with diff-based add confirmation)
18
18
  4. **Checkout** — preview + place the order
@@ -23,11 +23,19 @@ The 6 things you can do from the terminal:
23
23
  npm i -g 1688-cli
24
24
  1688 login # scan QR with the 1688 app
25
25
 
26
- # Sourcing
26
+ # Product scraper / product research
27
27
  1688 search "佛龛柜" --max 10 # keyword search
28
+ 1688 search "手机壳" --sort best-selling --price-max 50 # sorted/filtered sourcing
29
+ 1688 research 手机壳 数据线 --max-per-query 50 --jsonl # multi-keyword research dataset
28
30
  1688 similar 628196518518 --max 10 # find similar offers, sorted by price
29
31
  1688 image-search ./sample.jpg # search by image
30
32
  1688 offer 628196518518 # product detail
33
+ 1688 compare 628196518518 1234567890 # compare offer details
34
+
35
+ # Supplier scraper / supplier research
36
+ 1688 supplier search 键盘 --factory-only --json # supplier discovery from company search
37
+ 1688 supplier research 键盘 --enrich top:5 --csv # supplier scoring + inspect enrichment
38
+ 1688 supplier inspect 628196518518 # inspect supplier/factory trust signals
31
39
 
32
40
  # Pre-sale inquiry (with live watch for AI agents)
33
41
  1688 seller inquire 628196518518 "支持定制 logo 吗?" # ask seller
@@ -52,9 +60,10 @@ agent's tooling. `1688-cli` is a single command:
52
60
 
53
61
  - **Real Chrome under the hood** (`channel:'chrome'`). Same browser you'd
54
62
  use manually — your session is real, not a synthetic Chromium.
55
- - **Persistent profile** at `~/.1688/`. One login lasts for weeks.
56
- - **Long-running daemon** first command warms the browser, subsequent
57
- commands reuse it (no relaunch per call).
63
+ - **Persistent profiles** under `~/.1688/`. One login lasts for weeks, and
64
+ multiple buyer profiles can stay isolated.
65
+ - **Profile-scoped daemon** each profile can keep its own warm browser
66
+ context, so subsequent commands reuse it without relaunching Chrome.
58
67
  - **JSON-or-text dual mode** — `1688 order list | jq` works; `1688 order list`
59
68
  in your terminal pretty-prints.
60
69
  - **Designed for AI agents.** See [AGENTS.md](./AGENTS.md) for the contract.
@@ -88,16 +97,80 @@ npm i -g 1688-cli
88
97
  Organized by the buyer journey: discover → ask → decide → buy → track →
89
98
  follow up.
90
99
 
91
- ### 1. Sourcing — find the right supplier
100
+ ### 1. Sourcing — Product Scraper and Supplier Scraper
101
+
102
+ Sourcing has two separate paths. Use **Product Scraper / Product Research**
103
+ when you start from products or offers. Use **Supplier Scraper / Supplier
104
+ Research** when you start from companies, factories, or supplier qualification.
105
+
106
+ #### Product Scraper / Product Research
92
107
 
93
108
  ```bash
94
109
  1688 search 机械键盘 --max 20 # keyword search
110
+ 1688 search 手机壳 --sort best-selling --price-max 50 --exclude-ads
111
+ 1688 research 手机壳 数据线 --max-per-query 50 --enrich top:5 --csv
95
112
  1688 similar 628196518518 --max 20 # "找同款" — same product, other suppliers, sorted by price
96
113
  1688 image-search ./shoe.jpg # search by local image
97
114
  1688 image-search https://.../img.png # search by http(s) URL
98
115
  1688 offer 628196518518 # product detail (priceTiers, attributes, packageInfo, SKUs)
116
+ 1688 compare 628196518518 1234567890 # compare price/MOQ/SKU/sales signals
117
+ ```
118
+
119
+ `1688 search` and `1688 research` are offer-first. They search product offers,
120
+ score offer results, export datasets, and can enrich top offers through detail
121
+ pages. Use this path when price, MOQ, SKU depth, sales signals, images, and
122
+ offer-level comparison are the first decision points.
123
+
124
+ #### Supplier Scraper / Supplier Research
125
+
126
+ ```bash
127
+ 1688 supplier search 键盘 --factory-only # company-search supplier discovery, not offer aggregation
128
+ 1688 supplier search 键盘 --max 20 --province 广东 --city 深圳
129
+ 1688 supplier research 键盘 --enrich top:5 --csv # supplier scoring + optional supplier inspect enrichment
130
+ 1688 supplier inspect 628196518518 # supplier identity, factory card, trust/service signals
131
+ 1688 supplier inspect b2b-22066467246504ba0d # inspect by supplier memberId
99
132
  ```
100
133
 
134
+ `1688 supplier search` is the read-only 1688 Supplier Scraper. It pulls
135
+ supplier/company records directly from 1688 company search
136
+ (`companySearchBusinessService`) for a keyword and filters. It does not build
137
+ suppliers by grouping product-offer results.
138
+
139
+ `1688 supplier research` is the scored/export workflow on top of that supplier
140
+ scraper, with optional `supplier inspect` enrichment for the top companies.
141
+ Use this path when factory identity, service years, repeat/response rates,
142
+ location, company profile, and supplier qualification are the first decision
143
+ points.
144
+
145
+ #### Which path should I use?
146
+
147
+ | Need | Command |
148
+ |---|---|
149
+ | Find product offers | `1688 search <keyword...>` |
150
+ | Build a scored product dataset | `1688 research <keyword...>` |
151
+ | Find similar offers from other suppliers | `1688 similar <offerId>` |
152
+ | Inspect one product offer | `1688 offer <offerId>` |
153
+ | Compare product offers | `1688 compare <offerId...>` |
154
+ | Find companies or factories directly | `1688 supplier search <keyword...>` |
155
+ | Build a scored supplier dataset | `1688 supplier research <keyword...>` |
156
+ | Inspect one supplier/factory | `1688 supplier inspect <offerId|memberId>` |
157
+
158
+ Supplier company-search flags:
159
+
160
+ ```bash
161
+ 1688 supplier search 键盘 --max 20 --factory-only --province 广东 --city 深圳
162
+ 1688 supplier search 键盘 --min-years 3 --min-repeat-rate 0.4 --min-response-rate 0.6
163
+ 1688 supplier research 键盘 --enrich top:10 --jsonl
164
+ 1688 supplier research 键盘 --enrich top:5 --csv --output suppliers.csv
165
+ ```
166
+
167
+ `supplier search` defaults to no enrichment (`--enrich 0`). `supplier research`
168
+ defaults to `--enrich top:10`, which calls `supplier inspect` for the top
169
+ company-search suppliers when a `memberId` is available. The supplier result
170
+ includes company name, `memberId`, shop URL, location, service years, factory
171
+ signals, repeat/response rates, 3-month order/amount signals, score breakdown,
172
+ and product previews from the company-search payload.
173
+
101
174
  ### 2. Pre-sale inquiry — ask the supplier
102
175
 
103
176
  > Uses the same `seller messages` / `seller chat` tooling as §6, scoped by
@@ -131,6 +204,13 @@ id=$(1688 cart add 628196518518 --sku 6070845665229 --qty 1 | jq -r '.added.cart
131
204
  1688 cart remove "$id"
132
205
  ```
133
206
 
207
+ PowerShell equivalent:
208
+
209
+ ```powershell
210
+ $added = 1688 cart add 628196518518 --sku 6070845665229 --qty 1 --json | ConvertFrom-Json
211
+ 1688 cart remove $added.added.cartId
212
+ ```
213
+
134
214
  ### 4. Checkout — place the order
135
215
 
136
216
  ```bash
@@ -184,6 +264,37 @@ id=$(1688 cart add 628196518518 --sku 6070845665229 --qty 1 | jq -r '.added.cart
184
264
  1688 daemon start | stop | status | reload
185
265
  ```
186
266
 
267
+ ### Profiles
268
+
269
+ Every command uses the `default` profile unless you pass `--profile <name>`.
270
+ Default behavior is backwards-compatible: `1688 search 雨伞` uses the default
271
+ profile, default daemon, default lock, and default cached identity.
272
+
273
+ Use profiles when you operate more than one buyer account or want isolated
274
+ cookie/session state:
275
+
276
+ ```bash
277
+ 1688 login --profile acc-a --headed
278
+ 1688 login --profile acc-b --headed
279
+
280
+ 1688 daemon start --profile acc-a
281
+ 1688 daemon start --profile acc-b
282
+ 1688 daemon status --profile acc-a
283
+ 1688 daemon status --profile acc-b
284
+
285
+ 1688 search "实木床头柜" --profile acc-a
286
+ 1688 search "实木床头柜" --profile acc-b
287
+
288
+ 1688 profile list
289
+ 1688 profile status acc-a
290
+ 1688 doctor --profile acc-a
291
+ ```
292
+
293
+ Each profile has its own persistent browser directory, daemon process,
294
+ socket/named pipe, pid/version/log files, state file, and lock. Different
295
+ profiles can run in parallel; commands for one profile do not wait on another
296
+ profile's lock. Within one profile, daemon work remains serialized and paced.
297
+
187
298
  ---
188
299
 
189
300
  ## FAQ
@@ -213,9 +324,10 @@ keys required.
213
324
  #### Does this tool require any 1688 developer account or API keys?
214
325
 
215
326
  No. Login is a one-time QR scan with your normal 1688 mobile app — the
216
- same flow as logging into 1688 on a fresh browser. The session is stored
217
- in your local profile (`~/.1688/profiles/default/`) and reused across
218
- commands, so you only re-scan when 1688 invalidates it.
327
+ same flow as logging into 1688 on a fresh browser. The default session is
328
+ stored in your local profile (`~/.1688/profiles/default/`) and reused across
329
+ commands, so you only re-scan when 1688 invalidates it. Named profiles use
330
+ their own directories under `~/.1688/profiles/<name>/`.
219
331
 
220
332
  #### What happens if 1688 shows a verification challenge (滑块)?
221
333
 
@@ -247,6 +359,20 @@ Every command auto-switches to JSON when stdout is piped:
247
359
  1688 order list --status waitsellersend | jq '.orders[] | {id: .orderId, paid: .paidAt}'
248
360
  1688 fake-shipped --debug | jq '.orders[].orderId'
249
361
  1688 search 雨伞 | jq '.offers[0:5]'
362
+ 1688 supplier search 键盘 | jq '.items[0] | {company: .supplier.companyName, memberId: .supplier.memberId, score}'
363
+ 1688 supplier research 键盘 --enrich top:1 | jq '{source,total,enrichedCount,first: .items[0].supplier.companyName}'
364
+ ```
365
+
366
+ Supplier-search JSON explicitly carries source provenance:
367
+
368
+ ```json
369
+ {
370
+ "source": {
371
+ "kind": "company-search",
372
+ "endpoint": "companySearchBusinessService",
373
+ "offerAggregation": false
374
+ }
375
+ }
250
376
  ```
251
377
 
252
378
  ### Built-in JSON flags (no `jq` required)
@@ -279,6 +405,37 @@ Force JSON in a TTY (alternative to `--json`):
279
405
  BB1688_JSON=1 1688 doctor
280
406
  ```
281
407
 
408
+ PowerShell:
409
+
410
+ ```powershell
411
+ $env:BB1688_JSON = "1"
412
+ 1688 doctor
413
+ Remove-Item Env:\BB1688_JSON
414
+ ```
415
+
416
+ ### Windows / PowerShell examples
417
+
418
+ The npm `1688` shim works from PowerShell and cmd.exe. Prefer built-in
419
+ `--get` / `--pick` when `jq` is not installed:
420
+
421
+ ```powershell
422
+ 1688 offer 628196518518 --get supplier.name
423
+ 1688 supplier search 键盘 --pick total,source.kind,'items[0].supplier.companyName'
424
+ 1688 supplier research 键盘 --csv --output "$env:TEMP\suppliers.csv"
425
+ ```
426
+
427
+ Daemon management is the same command surface:
428
+
429
+ ```powershell
430
+ 1688 daemon start
431
+ 1688 daemon status --json
432
+ 1688 daemon stop
433
+
434
+ 1688 daemon start --profile acc-a
435
+ 1688 daemon status --profile acc-a --json
436
+ 1688 daemon stop --profile acc-a
437
+ ```
438
+
282
439
  ---
283
440
 
284
441
  ## Risk control
@@ -287,6 +444,7 @@ If 1688 shows a slider verification (滑块), solve it once with `--headed`:
287
444
 
288
445
  ```bash
289
446
  1688 search 雨伞 --headed # window opens; drag the slider yourself
447
+ 1688 supplier search 键盘 --headed
290
448
  1688 search 雨伞 # subsequent calls reuse the verified session
291
449
  ```
292
450
 
@@ -297,11 +455,21 @@ See also the FAQ entry on [verification challenges](#what-happens-if-1688-shows-
297
455
  ## Files & directories
298
456
 
299
457
  ```
300
- ~/.1688/profiles/default/ Chromium profile (cookies, IndexedDB, session state)
301
- ~/.1688/state.json cached identity (nick / memberId / timestamps)
302
- ~/.1688/daemon.sock daemon Unix socket
458
+ ~/.1688/profiles/default/ Chromium profile (macOS/Linux)
459
+ ~/.1688/state.json cached identity (macOS/Linux)
460
+ ~/.1688/daemon.sock daemon Unix socket (macOS/Linux)
303
461
  ~/.1688/daemon.pid daemon PID
304
462
  ~/.1688/.lock proper-lockfile (one process at a time)
463
+
464
+ ~/.1688/profiles/<name>/state.json named-profile cached identity
465
+ ~/.1688/profiles/<name>/daemon.sock named-profile daemon Unix socket
466
+ ~/.1688/profiles/<name>/daemon.pid named-profile daemon PID
467
+ ~/.1688/profiles/<name>/.lock named-profile lock
468
+
469
+ %USERPROFILE%\.1688\profiles\default\ Chromium profile (Windows)
470
+ %USERPROFILE%\.1688\state.json cached identity (Windows)
471
+ \\.\pipe\1688-cli-daemon-<hash> daemon named pipe (Windows)
472
+ \\.\pipe\1688-cli-daemon-<hash>-<hash> named-profile daemon pipe (Windows)
305
473
  ```
306
474
 
307
475
  ## Environment variables
@@ -311,7 +479,7 @@ BB1688_NO_DAEMON=1 disable daemon, always run inline
311
479
  BB1688_JSON=1 force JSON output on TTY
312
480
  BB1688_DEBUG=1 verbose internal logs to stderr
313
481
  BB1688_FORCE_CHROMIUM=1 skip system Chrome, use bundled Chromium
314
- BB1688_HOME=<path> override ~/.1688
482
+ BB1688_HOME=<path> override ~/.1688 or %USERPROFILE%\.1688
315
483
  BB1688_SKIP_POSTINSTALL=1 skip Chromium download during npm install
316
484
  PLAYWRIGHT_DOWNLOAD_HOST custom Playwright mirror
317
485
  ```
package/dist/cli.js CHANGED
@@ -35,12 +35,110 @@ program
35
35
  .description('Search 1688 by keyword')
36
36
  .argument('<keyword>', 'Keyword to search (use quotes for multi-word)')
37
37
  .option('--max <n>', 'Maximum number of results', '20')
38
+ .option('--sort <sort>', 'Sort: relevance | best-selling | price-asc | price-desc', 'relevance')
39
+ .option('--price-min <n>', 'Minimum unit price')
40
+ .option('--price-max <n>', 'Maximum unit price')
41
+ .option('--province <name>', 'Filter supplier province')
42
+ .option('--city <name>', 'Filter supplier city')
43
+ .option('--verified <kind>', 'Filter: any | factory | business | super-factory', 'any')
44
+ .option('--min-turnover <n>', 'Minimum parsed turnover/order count')
45
+ .option('--exclude-ads', 'Exclude P4P/ad results')
38
46
  .option('--profile <name>', 'Profile name (default: default)')
39
47
  .option('--headed', 'Open a browser window (use to pass slider verification)')
40
48
  .action(async (keyword, opts) => {
41
49
  const { run } = await import('./commands/search.js');
42
50
  await run(keyword, opts);
43
51
  });
52
+ program
53
+ .command('research')
54
+ .description('Run multi-keyword sourcing research with scoring and optional enrichment')
55
+ .argument('<keywords...>', 'One or more keywords to research')
56
+ .option('--max-per-query <n>', 'Maximum search results per keyword', '20')
57
+ .option('--sort <sort>', 'Sort: relevance | best-selling | price-asc | price-desc', 'best-selling')
58
+ .option('--price-min <n>', 'Minimum unit price')
59
+ .option('--price-max <n>', 'Maximum unit price')
60
+ .option('--province <name>', 'Filter supplier province')
61
+ .option('--city <name>', 'Filter supplier city')
62
+ .option('--verified <kind>', 'Filter: any | factory | business | super-factory', 'any')
63
+ .option('--min-turnover <n>', 'Minimum parsed turnover/order count')
64
+ .option('--exclude-ads', 'Exclude P4P/ad results')
65
+ .option('--enrich <spec>', 'Enrich top N offers via detail pages: top:N, N, 0, none', '0')
66
+ .option('--jsonl', 'Emit one JSON object per research item')
67
+ .option('--csv', 'Emit CSV')
68
+ .option('--output <file>', 'Write JSONL/CSV export to a file')
69
+ .option('--profile <name>', 'Profile name (default: default)')
70
+ .option('--headed', 'Open a window (fallback for risk control)')
71
+ .action(async (keywords, opts) => {
72
+ const { run } = await import('./commands/research.js');
73
+ await run({ ...opts, keywords });
74
+ });
75
+ program
76
+ .command('compare')
77
+ .description('Compare multiple offer detail pages for sourcing decisions')
78
+ .argument('<offerIds...>', 'Offer IDs to compare')
79
+ .option('--csv', 'Emit CSV')
80
+ .option('--output <file>', 'Write CSV export to a file')
81
+ .option('--profile <name>', 'Profile name (default: default)')
82
+ .option('--headed', 'Open a window (fallback for risk control)')
83
+ .action(async (offerIds, opts) => {
84
+ const { run } = await import('./commands/compare.js');
85
+ await run({ ...opts, offerIds });
86
+ });
87
+ const supplier = program
88
+ .command('supplier')
89
+ .description('Supplier inspection and trust signals');
90
+ supplier
91
+ .command('inspect')
92
+ .description('Inspect supplier signals from an offerId or b2b-* memberId')
93
+ .argument('<target>', 'offerId, offer URL, b2b-* memberId, or factory-card URL')
94
+ .option('--profile <name>', 'Profile name (default: default)')
95
+ .option('--headed', 'Open a window (fallback for risk control)')
96
+ .action(async (target, opts) => {
97
+ const { run } = await import('./commands/supplier-inspect.js');
98
+ await run({ ...opts, target });
99
+ });
100
+ supplier
101
+ .command('search')
102
+ .description('Search suppliers from 1688 company search')
103
+ .argument('<keywords...>', 'One or more supplier/company search keywords')
104
+ .option('--max <n>', 'Maximum suppliers per keyword', '20')
105
+ .option('--factory-only', 'Only keep suppliers with factory signals')
106
+ .option('--province <name>', 'Filter supplier province')
107
+ .option('--city <name>', 'Filter supplier city')
108
+ .option('--min-years <n>', 'Minimum supplier service years')
109
+ .option('--min-repeat-rate <n>', 'Minimum repeat rate, e.g. 0.4 or 40')
110
+ .option('--min-response-rate <n>', 'Minimum Wangwang response rate, e.g. 0.6 or 60')
111
+ .option('--enrich <spec>', 'Enrich top N suppliers via supplier inspect: top:N, N, all, 0, none', '0')
112
+ .option('--jsonl', 'Emit one JSON object per supplier')
113
+ .option('--csv', 'Emit CSV')
114
+ .option('--output <file>', 'Write JSONL/CSV export to a file')
115
+ .option('--profile <name>', 'Profile name (default: default)')
116
+ .option('--headed', 'Open a window (fallback for risk control)')
117
+ .action(async (keywords, opts) => {
118
+ const { run } = await import('./commands/supplier-search.js');
119
+ await run({ ...opts, keywords });
120
+ });
121
+ supplier
122
+ .command('research')
123
+ .description('Run supplier research from 1688 company search with scoring and inspect enrichment')
124
+ .argument('<keywords...>', 'One or more supplier/company search keywords')
125
+ .option('--max <n>', 'Maximum suppliers per keyword', '20')
126
+ .option('--factory-only', 'Only keep suppliers with factory signals')
127
+ .option('--province <name>', 'Filter supplier province')
128
+ .option('--city <name>', 'Filter supplier city')
129
+ .option('--min-years <n>', 'Minimum supplier service years')
130
+ .option('--min-repeat-rate <n>', 'Minimum repeat rate, e.g. 0.4 or 40')
131
+ .option('--min-response-rate <n>', 'Minimum Wangwang response rate, e.g. 0.6 or 60')
132
+ .option('--enrich <spec>', 'Enrich top N suppliers via supplier inspect: top:N, N, all, 0, none', 'top:10')
133
+ .option('--jsonl', 'Emit one JSON object per supplier')
134
+ .option('--csv', 'Emit CSV')
135
+ .option('--output <file>', 'Write JSONL/CSV export to a file')
136
+ .option('--profile <name>', 'Profile name (default: default)')
137
+ .option('--headed', 'Open a window (fallback for risk control)')
138
+ .action(async (keywords, opts) => {
139
+ const { runResearch } = await import('./commands/supplier-search.js');
140
+ await runResearch({ ...opts, keywords });
141
+ });
44
142
  program
45
143
  .command('image-search')
46
144
  .description('Search 1688 by image (local file or http(s) URL)')
@@ -301,11 +399,13 @@ program
301
399
  program
302
400
  .command('serve')
303
401
  .description('Run the 1688 daemon in the foreground')
402
+ .option('--profile <name>', 'Profile name (default: default)')
304
403
  .option('--idle-timeout <minutes>', 'Idle timeout in minutes', '30')
305
404
  .option('--no-prewarm', 'Skip pre-warming Chromium at startup')
306
405
  .action(async (opts) => {
307
406
  const { start } = await import('./daemon/server.js');
308
407
  await start({
408
+ profile: opts.profile,
309
409
  idleTimeoutMs: Math.max(1, parseInt(opts.idleTimeout, 10)) * 60_000,
310
410
  prewarm: opts.prewarm !== false,
311
411
  });
@@ -316,66 +416,72 @@ const daemon = program
316
416
  daemon
317
417
  .command('start')
318
418
  .description('Start the daemon as a background process')
319
- .action(async () => {
419
+ .option('--profile <name>', 'Profile name (default: default)')
420
+ .action(async (opts) => {
320
421
  const { start } = await import('./daemon/manager.js');
321
422
  const { emit } = await import('./io/output.js');
322
- const { pid } = await start();
423
+ const { pid, profile } = await start(opts.profile);
323
424
  emit({
324
- human: () => process.stdout.write(`Daemon started (pid ${pid}).\n`),
325
- data: { ok: true, pid },
425
+ human: () => process.stdout.write(`Daemon started for profile "${profile}" (pid ${pid}).\n`),
426
+ data: { ok: true, profile, pid },
326
427
  });
327
428
  });
328
429
  daemon
329
430
  .command('stop')
330
431
  .description('Stop the running daemon')
331
- .action(async () => {
432
+ .option('--profile <name>', 'Profile name (default: default)')
433
+ .action(async (opts) => {
332
434
  const { stop } = await import('./daemon/manager.js');
333
435
  const { emit } = await import('./io/output.js');
334
- const { stopped } = await stop();
436
+ const { stopped, profile } = await stop(opts.profile);
335
437
  emit({
336
- human: () => process.stdout.write(stopped ? 'Daemon stopped.\n' : 'Daemon was not running.\n'),
337
- data: { ok: true, stopped },
438
+ human: () => process.stdout.write(stopped
439
+ ? `Daemon stopped for profile "${profile}".\n`
440
+ : `Daemon was not running for profile "${profile}".\n`),
441
+ data: { ok: true, profile, stopped },
338
442
  });
339
443
  });
340
444
  daemon
341
445
  .command('reload')
342
446
  .description('Restart the daemon (stop + start) to pick up new code')
343
- .action(async () => {
344
- const fs = await import('node:fs/promises');
345
- const { stop, start, status } = await import('./daemon/manager.js');
346
- const { lockFile } = await import('./session/paths.js');
447
+ .option('--profile <name>', 'Profile name (default: default)')
448
+ .action(async (opts) => {
449
+ const { stop, start, status, cleanupLock } = await import('./daemon/manager.js');
450
+ const { defaultProfileName } = await import('./session/paths.js');
347
451
  const { emit, info } = await import('./io/output.js');
348
- const before = await status();
452
+ const profile = defaultProfileName(opts.profile);
453
+ const before = await status(profile);
349
454
  if (before.running) {
350
- info('Stopping daemon...');
351
- await stop();
455
+ info(`Stopping daemon for profile "${profile}"...`);
456
+ await stop(profile);
352
457
  }
353
458
  // Force-clean stale lock — we own the lifecycle here, so this is safe.
354
459
  // proper-lockfile sometimes leaves the `.lock.lock` dir behind if the daemon
355
460
  // exits before its release callback runs to completion.
356
- info('Cleaning stale lock...');
357
- await fs.rm(lockFile() + '.lock', { recursive: true, force: true });
358
- info('Starting daemon...');
359
- const { pid } = await start();
461
+ info(`Cleaning stale lock for profile "${profile}"...`);
462
+ await cleanupLock(profile);
463
+ info(`Starting daemon for profile "${profile}"...`);
464
+ const { pid } = await start(profile);
360
465
  emit({
361
- human: () => process.stdout.write(`Daemon reloaded (pid ${pid}).\n`),
362
- data: { ok: true, pid, wasRunning: before.running },
466
+ human: () => process.stdout.write(`Daemon reloaded for profile "${profile}" (pid ${pid}).\n`),
467
+ data: { ok: true, profile, pid, wasRunning: before.running },
363
468
  });
364
469
  });
365
470
  daemon
366
471
  .command('status')
367
472
  .description('Show daemon status')
368
- .action(async () => {
473
+ .option('--profile <name>', 'Profile name (default: default)')
474
+ .action(async (opts) => {
369
475
  const { status } = await import('./daemon/manager.js');
370
476
  const { emit } = await import('./io/output.js');
371
- const s = await status();
477
+ const s = await status(opts.profile);
372
478
  emit({
373
479
  human: () => {
374
480
  if (!s.running) {
375
- process.stdout.write('Daemon: not running\n');
481
+ process.stdout.write(`Daemon (${s.profile}): not running\n`);
376
482
  return;
377
483
  }
378
- process.stdout.write(`Daemon: running (pid ${s.pid})\n`);
484
+ process.stdout.write(`Daemon (${s.profile}): running (pid ${s.pid})\n`);
379
485
  if (s.version) {
380
486
  const suffix = s.versionMatches === false ? ' (restart recommended)' : '';
381
487
  process.stdout.write(` version: ${s.version}${suffix}\n`);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { CliError } from '../io/errors.js';
5
5
  import { withRecovery } from '../session/recovery.js';
6
6
  import { parseMtopJsonp } from '../session/mtop.js';
7
7
  import { startResponseCapture } from '../session/response-capture.js';
8
+ import { debugTmpPath } from '../util/temp.js';
8
9
  const CART_URL = 'https://cart.1688.com/';
9
10
  const RENDER_API_RE = /mtop\.1688\.buycenter\.mtoppurchaseastoreservice\.render/i;
10
11
  export async function execute(ctx, args) {
@@ -76,7 +77,7 @@ function parseCart(model) {
76
77
  continue;
77
78
  if (process.env.BB1688_PROBE === '1') {
78
79
  try {
79
- appendFileSync('/tmp/1688-cart-raw.json', JSON.stringify({ k, fields: f }, null, 2) + '\n');
80
+ appendFileSync(debugTmpPath('1688-cart-raw.json'), JSON.stringify({ k, fields: f }, null, 2) + '\n');
80
81
  }
81
82
  catch (e) {
82
83
  process.stderr.write(`[cart-probe] append failed: ${String(e)}\n`);