@web-auto/webauto 0.1.1 → 0.1.3

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 (354) hide show
  1. package/apps/desktop-console/default-settings.json +1 -0
  2. package/apps/desktop-console/dist/main/index.mjs +1618 -0
  3. package/apps/desktop-console/{src → dist}/main/preload.mjs +10 -0
  4. package/apps/desktop-console/dist/renderer/index.js +3063 -0
  5. package/apps/desktop-console/entry/ui-console.mjs +299 -0
  6. package/apps/webauto/entry/account.mjs +356 -0
  7. package/apps/webauto/entry/lib/account-detect.mjs +160 -0
  8. package/apps/webauto/entry/lib/account-store.mjs +587 -0
  9. package/apps/webauto/entry/lib/profilepool.mjs +1 -1
  10. package/apps/webauto/entry/xhs-install.mjs +27 -3
  11. package/apps/webauto/entry/xhs-status.mjs +152 -0
  12. package/apps/webauto/entry/xhs-unified.mjs +595 -17
  13. package/bin/webauto.mjs +263 -15
  14. package/dist/apps/webauto/server.js +66 -0
  15. package/dist/modules/camo-backend/src/index.js +575 -0
  16. package/dist/modules/camo-backend/src/internal/BrowserSession.js +817 -0
  17. package/dist/modules/camo-backend/src/internal/ElementRegistry.js +61 -0
  18. package/dist/modules/camo-backend/src/internal/ProfileLock.js +85 -0
  19. package/dist/modules/camo-backend/src/internal/SessionManager.js +172 -0
  20. package/dist/modules/camo-backend/src/internal/container-matcher.js +852 -0
  21. package/dist/modules/camo-backend/src/internal/engine-manager.js +258 -0
  22. package/dist/modules/camo-backend/src/internal/fingerprint.js +203 -0
  23. package/dist/modules/camo-backend/src/internal/pageRuntime.js +29 -0
  24. package/dist/modules/camo-backend/src/internal/runtimeInjector.js +30 -0
  25. package/dist/modules/camo-backend/src/internal/state-bus.js +46 -0
  26. package/dist/modules/camo-backend/src/internal/storage-paths.js +36 -0
  27. package/dist/modules/camo-backend/src/internal/ws-server.js +1202 -0
  28. package/dist/modules/camo-runtime/src/utils/browser-service.mjs +423 -0
  29. package/dist/modules/camo-runtime/src/utils/config.mjs +77 -0
  30. package/dist/modules/container-registry/src/index.js +184 -0
  31. package/dist/modules/logging/src/index.js +92 -0
  32. package/dist/modules/operations/src/builtin.js +27 -0
  33. package/dist/modules/operations/src/container-binding.js +75 -0
  34. package/dist/modules/operations/src/executor.js +146 -0
  35. package/dist/modules/operations/src/operations/click.js +167 -0
  36. package/dist/modules/operations/src/operations/extract.js +204 -0
  37. package/dist/modules/operations/src/operations/find-child.js +17 -0
  38. package/dist/modules/operations/src/operations/highlight.js +138 -0
  39. package/dist/modules/operations/src/operations/key.js +61 -0
  40. package/dist/modules/operations/src/operations/navigate.js +148 -0
  41. package/dist/modules/operations/src/operations/scroll.js +126 -0
  42. package/dist/modules/operations/src/operations/type.js +190 -0
  43. package/dist/modules/operations/src/queue.js +100 -0
  44. package/dist/modules/operations/src/registry.js +11 -0
  45. package/dist/modules/operations/src/system/mouse.js +33 -0
  46. package/dist/modules/state/src/atomic-json.js +33 -0
  47. package/dist/modules/workflow/blocks/AnchorVerificationBlock.js +71 -0
  48. package/dist/modules/workflow/blocks/BehaviorRandomizer.js +26 -0
  49. package/dist/modules/workflow/blocks/CallWorkflowBlock.js +38 -0
  50. package/dist/modules/workflow/blocks/CloseDetailBlock.js +209 -0
  51. package/dist/modules/workflow/blocks/CollectBatch.js +137 -0
  52. package/dist/modules/workflow/blocks/CollectCommentsBlock.js +415 -0
  53. package/dist/modules/workflow/blocks/CollectSearchListBlock.js +599 -0
  54. package/dist/modules/workflow/blocks/CollectWeiboPosts.js +229 -0
  55. package/dist/modules/workflow/blocks/DetectPageStateBlock.js +259 -0
  56. package/dist/modules/workflow/blocks/EnsureLoginBlock.js +162 -0
  57. package/dist/modules/workflow/blocks/EnsureSession.js +426 -0
  58. package/dist/modules/workflow/blocks/ErrorClassifier.js +164 -0
  59. package/dist/modules/workflow/blocks/ErrorRecoveryBlock.js +319 -0
  60. package/dist/modules/workflow/blocks/ExpandCommentsBlock.js +1032 -0
  61. package/dist/modules/workflow/blocks/ExtractDetailBlock.js +310 -0
  62. package/dist/modules/workflow/blocks/ExtractPostFields.js +88 -0
  63. package/dist/modules/workflow/blocks/GenerateSmartReplyBlock.js +68 -0
  64. package/dist/modules/workflow/blocks/GoToSearchBlock.js +497 -0
  65. package/dist/modules/workflow/blocks/GracefulFallbackBlock.js +104 -0
  66. package/dist/modules/workflow/blocks/HighlightBlock.js +66 -0
  67. package/dist/modules/workflow/blocks/InitAutoScroll.js +65 -0
  68. package/dist/modules/workflow/blocks/LoadContainerDefinition.js +50 -0
  69. package/dist/modules/workflow/blocks/LoadContainerIndex.js +43 -0
  70. package/dist/modules/workflow/blocks/LocateAndGuardBlock.js +176 -0
  71. package/dist/modules/workflow/blocks/LoginRecoveryBlock.js +242 -0
  72. package/dist/modules/workflow/blocks/MatchContainers.js +64 -0
  73. package/dist/modules/workflow/blocks/MonitoringBlock.js +190 -0
  74. package/dist/modules/workflow/blocks/OpenDetailBlock.js +1240 -0
  75. package/dist/modules/workflow/blocks/OrganizeXhsNotesBlock.js +117 -0
  76. package/dist/modules/workflow/blocks/PersistXhsNoteBlock.js +270 -0
  77. package/dist/modules/workflow/blocks/PickSinglePost.js +69 -0
  78. package/dist/modules/workflow/blocks/ProgressTracker.js +125 -0
  79. package/dist/modules/workflow/blocks/RecordFixtureBlock.js +44 -0
  80. package/dist/modules/workflow/blocks/RenderMarkdown.js +48 -0
  81. package/dist/modules/workflow/blocks/SaveFile.js +54 -0
  82. package/dist/modules/workflow/blocks/ScrollNextBatch.js +72 -0
  83. package/dist/modules/workflow/blocks/SessionHealthBlock.js +73 -0
  84. package/dist/modules/workflow/blocks/StartBrowserService.js +45 -0
  85. package/dist/modules/workflow/blocks/ValidateContainerDefinition.js +67 -0
  86. package/dist/modules/workflow/blocks/ValidateExtract.js +35 -0
  87. package/dist/modules/workflow/blocks/WaitSearchPermitBlock.js +162 -0
  88. package/dist/modules/workflow/blocks/WaitStable.js +74 -0
  89. package/dist/modules/workflow/blocks/WarmupCommentsBlock.js +120 -0
  90. package/dist/modules/workflow/blocks/WorkflowExecutor.js +156 -0
  91. package/dist/modules/workflow/blocks/XiaohongshuCollectFromLinksBlock.js +1004 -0
  92. package/dist/modules/workflow/blocks/XiaohongshuCollectLinksBlock.js +1049 -0
  93. package/dist/modules/workflow/blocks/XiaohongshuFullCollectBlock.js +782 -0
  94. package/dist/modules/workflow/blocks/helpers/anchorVerify.js +198 -0
  95. package/dist/modules/workflow/blocks/helpers/asyncWorkQueue.js +53 -0
  96. package/dist/modules/workflow/blocks/helpers/commentScroller.js +334 -0
  97. package/dist/modules/workflow/blocks/helpers/commentSectionLocator.js +126 -0
  98. package/dist/modules/workflow/blocks/helpers/containerAnchors.js +301 -0
  99. package/dist/modules/workflow/blocks/helpers/debugArtifacts.js +6 -0
  100. package/dist/modules/workflow/blocks/helpers/downloadPaths.js +29 -0
  101. package/dist/modules/workflow/blocks/helpers/expandCommentsController.js +53 -0
  102. package/dist/modules/workflow/blocks/helpers/expandCommentsExtractor.js +129 -0
  103. package/dist/modules/workflow/blocks/helpers/macosVisionOcrPlugin.js +116 -0
  104. package/dist/modules/workflow/blocks/helpers/mergeXhsMarkdown.js +109 -0
  105. package/dist/modules/workflow/blocks/helpers/openDetailController.js +56 -0
  106. package/dist/modules/workflow/blocks/helpers/openDetailTypes.js +7 -0
  107. package/dist/modules/workflow/blocks/helpers/openDetailViewport.js +474 -0
  108. package/dist/modules/workflow/blocks/helpers/openDetailWaiter.js +104 -0
  109. package/dist/modules/workflow/blocks/helpers/operationLogger.js +195 -0
  110. package/dist/modules/workflow/blocks/helpers/persistedNotes.js +107 -0
  111. package/dist/modules/workflow/blocks/helpers/replyExpander.js +260 -0
  112. package/dist/modules/workflow/blocks/helpers/scrollIntoView.js +138 -0
  113. package/dist/modules/workflow/blocks/helpers/searchExecutor.js +328 -0
  114. package/dist/modules/workflow/blocks/helpers/searchGate.js +46 -0
  115. package/dist/modules/workflow/blocks/helpers/searchPageState.js +164 -0
  116. package/dist/modules/workflow/blocks/helpers/searchResultWaiter.js +64 -0
  117. package/dist/modules/workflow/blocks/helpers/simpleAnchor.js +134 -0
  118. package/dist/modules/workflow/blocks/helpers/smartReply.js +40 -0
  119. package/dist/modules/workflow/blocks/helpers/systemInput.js +635 -0
  120. package/dist/modules/workflow/blocks/helpers/targetCountMode.js +9 -0
  121. package/dist/modules/workflow/blocks/helpers/xhsCliArgs.js +80 -0
  122. package/dist/modules/workflow/blocks/helpers/xhsCommentDom.js +805 -0
  123. package/dist/modules/workflow/blocks/helpers/xhsNoteOrganizer.js +140 -0
  124. package/dist/modules/workflow/blocks/restore/RestorePhaseBlock.js +204 -0
  125. package/dist/modules/workflow/config/workflowRegistry.js +32 -0
  126. package/dist/modules/workflow/definitions/batch-collect-workflow.js +63 -0
  127. package/dist/modules/workflow/definitions/scroll-extract-workflow.js +74 -0
  128. package/dist/modules/workflow/definitions/xiaohongshu-collect-workflow-v2.js +81 -0
  129. package/dist/modules/workflow/definitions/xiaohongshu-collect-workflow.js +57 -0
  130. package/dist/modules/workflow/definitions/xiaohongshu-full-collect-workflow-v3.js +68 -0
  131. package/dist/modules/workflow/definitions/xiaohongshu-note-collect.js +49 -0
  132. package/dist/modules/workflow/definitions/xiaohongshu-phase1-workflow-v3.js +30 -0
  133. package/dist/modules/workflow/definitions/xiaohongshu-phase2-links-workflow-v3.js +40 -0
  134. package/dist/modules/workflow/definitions/xiaohongshu-phase3-collect-workflow-v1.js +54 -0
  135. package/dist/modules/workflow/definitions/xiaohongshu-phase34-from-links-workflow-v3.js +25 -0
  136. package/dist/modules/workflow/src/WeiboEventDrivenWorkflowRunner.js +308 -0
  137. package/dist/modules/workflow/src/context.js +70 -0
  138. package/dist/modules/workflow/src/index.js +5 -0
  139. package/dist/modules/workflow/src/orchestrator.js +230 -0
  140. package/dist/modules/workflow/src/runner.js +55 -0
  141. package/dist/modules/workflow/src/runtime.js +70 -0
  142. package/dist/modules/workflow/workflows/WeiboFeedExtractionWorkflow.js +359 -0
  143. package/dist/modules/workflow/workflows/XiaohongshuLoginWorkflow.js +110 -0
  144. package/dist/modules/xiaohongshu/app/src/blocks/MatchCommentsBlock.js +139 -0
  145. package/dist/modules/xiaohongshu/app/src/blocks/Phase1EnsureServicesBlock.js +36 -0
  146. package/dist/modules/xiaohongshu/app/src/blocks/Phase1MonitorCookieBlock.js +213 -0
  147. package/dist/modules/xiaohongshu/app/src/blocks/Phase1StartProfileBlock.js +121 -0
  148. package/dist/modules/xiaohongshu/app/src/blocks/Phase2CollectLinksBlock.js +1249 -0
  149. package/dist/modules/xiaohongshu/app/src/blocks/Phase2SearchBlock.js +703 -0
  150. package/dist/modules/xiaohongshu/app/src/blocks/Phase34CloseDetailBlock.js +41 -0
  151. package/dist/modules/xiaohongshu/app/src/blocks/Phase34CloseTabsBlock.js +44 -0
  152. package/dist/modules/xiaohongshu/app/src/blocks/Phase34CollectCommentsBlock.js +150 -0
  153. package/dist/modules/xiaohongshu/app/src/blocks/Phase34ExtractDetailBlock.js +117 -0
  154. package/dist/modules/xiaohongshu/app/src/blocks/Phase34OpenDetailBlock.js +102 -0
  155. package/dist/modules/xiaohongshu/app/src/blocks/Phase34OpenTabsBlock.js +109 -0
  156. package/dist/modules/xiaohongshu/app/src/blocks/Phase34PersistDetailBlock.js +117 -0
  157. package/dist/modules/xiaohongshu/app/src/blocks/Phase34ProcessSingleNoteBlock.js +114 -0
  158. package/dist/modules/xiaohongshu/app/src/blocks/Phase34ValidateLinksBlock.js +90 -0
  159. package/dist/modules/xiaohongshu/app/src/blocks/Phase3InteractBlock.js +1009 -0
  160. package/dist/modules/xiaohongshu/app/src/blocks/Phase4MultiTabHarvestBlock.js +233 -0
  161. package/dist/modules/xiaohongshu/app/src/blocks/ReplyInteractBlock.js +291 -0
  162. package/dist/modules/xiaohongshu/app/src/blocks/XhsDiscoverFallbackBlock.js +240 -0
  163. package/dist/modules/xiaohongshu/app/src/blocks/helpers/commentMatchDsl.js +126 -0
  164. package/dist/modules/xiaohongshu/app/src/blocks/helpers/commentMatcher.js +99 -0
  165. package/dist/modules/xiaohongshu/app/src/blocks/helpers/evidence.js +27 -0
  166. package/dist/modules/xiaohongshu/app/src/blocks/helpers/sharding.js +42 -0
  167. package/dist/modules/xiaohongshu/app/src/blocks/helpers/xhsComments.js +270 -0
  168. package/dist/modules/xiaohongshu/app/src/index.js +9 -0
  169. package/dist/modules/xiaohongshu/app/src/utils/checkpoints.js +222 -0
  170. package/dist/modules/xiaohongshu/app/src/utils/controllerAction.js +43 -0
  171. package/dist/services/controller/src/controller.js +1476 -0
  172. package/dist/services/controller/src/index.js +2 -0
  173. package/dist/services/controller/src/payload-normalizer.js +129 -0
  174. package/dist/services/shared/heartbeat.js +120 -0
  175. package/dist/services/shared/lib/errorHandler.js +2 -0
  176. package/dist/services/shared/serviceProcessLogger.js +139 -0
  177. package/dist/services/unified-api/RemoteBrowserSession.js +176 -0
  178. package/dist/services/unified-api/RemoteSessionManager.js +148 -0
  179. package/dist/services/unified-api/container-operations-handler.js +115 -0
  180. package/dist/services/unified-api/server.js +652 -0
  181. package/dist/services/unified-api/state-registry.js +274 -0
  182. package/dist/services/unified-api/task-persistence.js +66 -0
  183. package/dist/services/unified-api/task-state.js +130 -0
  184. package/modules/camo-runtime/src/autoscript/action-providers/xhs/search.mjs +12 -5
  185. package/modules/xiaohongshu/app/pnpm-lock.yaml +24 -0
  186. package/package.json +38 -10
  187. package/.beads/README.md +0 -81
  188. package/.beads/config.yaml +0 -67
  189. package/.beads/interactions.jsonl +0 -0
  190. package/.beads/issues.jsonl +0 -180
  191. package/.beads/metadata.json +0 -4
  192. package/.claude/settings.local.json +0 -10
  193. package/.github/workflows/ci.yml +0 -55
  194. package/AGENTS.md +0 -253
  195. package/apps/desktop-console/README.md +0 -27
  196. package/apps/desktop-console/package-lock.json +0 -897
  197. package/apps/desktop-console/package.json +0 -20
  198. package/apps/desktop-console/scripts/build-and-install.mjs +0 -19
  199. package/apps/desktop-console/scripts/build.mjs +0 -45
  200. package/apps/desktop-console/scripts/test-preload.mjs +0 -13
  201. package/apps/desktop-console/src/main/config.mts +0 -26
  202. package/apps/desktop-console/src/main/core-daemon-manager.mts +0 -131
  203. package/apps/desktop-console/src/main/desktop-settings.mts +0 -267
  204. package/apps/desktop-console/src/main/heartbeat-watchdog.mts +0 -50
  205. package/apps/desktop-console/src/main/heartbeat-watchdog.test.mts +0 -68
  206. package/apps/desktop-console/src/main/index-streaming.test.mts +0 -20
  207. package/apps/desktop-console/src/main/index.mts +0 -980
  208. package/apps/desktop-console/src/main/profile-store.mts +0 -239
  209. package/apps/desktop-console/src/main/profile-store.test.mts +0 -54
  210. package/apps/desktop-console/src/main/state-bridge.mts +0 -114
  211. package/apps/desktop-console/src/main/task-state-types.ts +0 -32
  212. package/apps/desktop-console/src/renderer/hooks/use-task-state.mts +0 -120
  213. package/apps/desktop-console/src/renderer/index.mts +0 -133
  214. package/apps/desktop-console/src/renderer/index.test.mts +0 -34
  215. package/apps/desktop-console/src/renderer/path-helpers.mts +0 -46
  216. package/apps/desktop-console/src/renderer/path-helpers.test.mts +0 -14
  217. package/apps/desktop-console/src/renderer/tabs/debug.mts +0 -48
  218. package/apps/desktop-console/src/renderer/tabs/debug.test.mts +0 -22
  219. package/apps/desktop-console/src/renderer/tabs/logs.mts +0 -421
  220. package/apps/desktop-console/src/renderer/tabs/logs.test.mts +0 -27
  221. package/apps/desktop-console/src/renderer/tabs/preflight.mts +0 -486
  222. package/apps/desktop-console/src/renderer/tabs/preflight.test.mts +0 -33
  223. package/apps/desktop-console/src/renderer/tabs/profile-pool.mts +0 -213
  224. package/apps/desktop-console/src/renderer/tabs/results.mts +0 -171
  225. package/apps/desktop-console/src/renderer/tabs/run.test.mts +0 -63
  226. package/apps/desktop-console/src/renderer/tabs/runtime.mts +0 -151
  227. package/apps/desktop-console/src/renderer/tabs/settings.mts +0 -146
  228. package/apps/desktop-console/src/renderer/tabs/xiaohongshu/account-flow.mts +0 -486
  229. package/apps/desktop-console/src/renderer/tabs/xiaohongshu/guide-browser-check.mts +0 -56
  230. package/apps/desktop-console/src/renderer/tabs/xiaohongshu/helpers.mts +0 -262
  231. package/apps/desktop-console/src/renderer/tabs/xiaohongshu/layout-block.mts +0 -430
  232. package/apps/desktop-console/src/renderer/tabs/xiaohongshu/live-stats.mts +0 -847
  233. package/apps/desktop-console/src/renderer/tabs/xiaohongshu/run-flow.mts +0 -443
  234. package/apps/desktop-console/src/renderer/tabs/xiaohongshu-state.mts +0 -425
  235. package/apps/desktop-console/src/renderer/tabs/xiaohongshu.mts +0 -497
  236. package/apps/desktop-console/src/renderer/tabs/xiaohongshu.test.mts +0 -291
  237. package/apps/desktop-console/src/renderer/ui-components.mts +0 -31
  238. package/docs/README_camoufox_chinese.md +0 -141
  239. package/docs/USAGE_V3.md +0 -163
  240. package/docs/arch/OCR_MACOS_PLUGIN.md +0 -39
  241. package/docs/arch/PORTS.md +0 -40
  242. package/docs/arch/REGRESSION_CHECKLIST.md +0 -121
  243. package/docs/arch/SEARCH_GATE.md +0 -224
  244. package/docs/arch/VIEWPORT_SAFETY.md +0 -182
  245. package/docs/arch/XIAOHONGSHU_OFFLINE_MOCK_DESIGN.md +0 -267
  246. package/docs/xiaohongshu-container-driven-summary.md +0 -221
  247. package/docs/xiaohongshu-full-collect-runbook.md +0 -134
  248. package/docs/xiaohongshu-next-steps.md +0 -228
  249. package/docs/xiaohongshu-quickstart.md +0 -73
  250. package/docs/xiaohongshu-workflow-summary.md +0 -227
  251. package/modules/container-registry/tests/container-registry.test.ts +0 -16
  252. package/modules/logging/tests/logging.test.ts +0 -38
  253. package/modules/operations/tests/operations.test.ts +0 -22
  254. package/modules/operations/tests/viewport-filter.test.ts +0 -161
  255. package/modules/operations/tests/visible-only.test.ts +0 -250
  256. package/modules/session-manager/tests/session-manager.test.ts +0 -23
  257. package/modules/state/src/atomic-json.test.ts +0 -30
  258. package/modules/state/src/paths.test.ts +0 -59
  259. package/modules/state/src/xiaohongshu-collect-state.test.ts +0 -259
  260. package/modules/workflow/blocks/AnchorVerificationBlock.d.ts.map +0 -1
  261. package/modules/workflow/blocks/AnchorVerificationBlock.js.map +0 -1
  262. package/modules/workflow/blocks/DetectPageStateBlock.d.ts.map +0 -1
  263. package/modules/workflow/blocks/DetectPageStateBlock.js.map +0 -1
  264. package/modules/workflow/blocks/ErrorRecoveryBlock.d.ts.map +0 -1
  265. package/modules/workflow/blocks/ErrorRecoveryBlock.js.map +0 -1
  266. package/modules/workflow/blocks/WaitSearchPermitBlock.d.ts.map +0 -1
  267. package/modules/workflow/blocks/WaitSearchPermitBlock.js.map +0 -1
  268. package/modules/workflow/blocks/helpers/containerAnchors.d.ts.map +0 -1
  269. package/modules/workflow/blocks/helpers/containerAnchors.js.map +0 -1
  270. package/modules/workflow/blocks/helpers/downloadPaths.test.ts +0 -62
  271. package/modules/workflow/blocks/helpers/mergeXhsMarkdown.test.ts +0 -121
  272. package/modules/workflow/blocks/helpers/operationLogger.d.ts.map +0 -1
  273. package/modules/workflow/blocks/helpers/operationLogger.js.map +0 -1
  274. package/modules/workflow/blocks/helpers/persistedNotes.test.ts +0 -268
  275. package/modules/workflow/blocks/helpers/searchPageState.d.ts.map +0 -1
  276. package/modules/workflow/blocks/helpers/searchPageState.js.map +0 -1
  277. package/modules/workflow/blocks/helpers/targetCountMode.test.ts +0 -29
  278. package/modules/workflow/blocks/helpers/xhsCliArgs.test.ts +0 -75
  279. package/modules/workflow/tests/smartReply.test.ts +0 -32
  280. package/modules/xiaohongshu/app/src/blocks/Phase3Interact.matcher.test.ts +0 -33
  281. package/modules/xiaohongshu/app/src/utils/__tests__/checkpoints.test.ts +0 -141
  282. package/modules/xiaohongshu/app/tests/commentMatchDsl.test.ts +0 -50
  283. package/modules/xiaohongshu/app/tests/commentMatcher.test.ts +0 -46
  284. package/modules/xiaohongshu/app/tests/sharding.test.ts +0 -31
  285. package/package-scripts.json +0 -8
  286. package/runtime/infra/utils/README.md +0 -13
  287. package/runtime/infra/utils/scripts/README.md +0 -0
  288. package/runtime/infra/utils/scripts/development/eval-in-session.mjs +0 -40
  289. package/runtime/infra/utils/scripts/development/highlight-search-containers.mjs +0 -35
  290. package/runtime/infra/utils/scripts/service/kill-port.mjs +0 -24
  291. package/runtime/infra/utils/scripts/service/start-api.mjs +0 -39
  292. package/runtime/infra/utils/scripts/service/start-browser-service.mjs +0 -106
  293. package/runtime/infra/utils/scripts/service/stop-api.mjs +0 -18
  294. package/runtime/infra/utils/scripts/service/stop-browser-service.mjs +0 -104
  295. package/runtime/infra/utils/scripts/test-services.mjs +0 -94
  296. package/services/shared/heartbeat.test.ts +0 -102
  297. package/services/unified-api/__tests__/task-state.test.ts +0 -95
  298. package/sitecustomize.py +0 -19
  299. package/tests/README.md +0 -194
  300. package/tests/e2e/workflows/weibo-feed-extraction.test.ts +0 -171
  301. package/tests/fixtures/data/container-definitions.json +0 -67
  302. package/tests/fixtures/pages/simple-page.html +0 -69
  303. package/tests/integration/01-test-container-match.mjs +0 -188
  304. package/tests/integration/02-test-dom-branch.mjs +0 -161
  305. package/tests/integration/03-test-container-operation-system.mjs +0 -91
  306. package/tests/integration/05-test-container-lifecycle-events.mjs +0 -224
  307. package/tests/integration/05-test-container-lifecycle-with-events.mjs +0 -250
  308. package/tests/integration/06-test-container-dom-tree-drawing.mjs +0 -256
  309. package/tests/integration/07-test-weibo-container-lifecycle.mjs +0 -355
  310. package/tests/integration/08-test-weibo-feed-workflow.test.mjs +0 -164
  311. package/tests/integration/10-test-visual-analyzer.mjs +0 -312
  312. package/tests/integration/11-test-visual-loop.mjs +0 -284
  313. package/tests/integration/12-test-simple-visual-loop.mjs +0 -242
  314. package/tests/integration/13-test-visual-robust.mjs +0 -185
  315. package/tests/integration/14-test-visual-highlight-loop.mjs +0 -271
  316. package/tests/integration/inspect-page.mjs +0 -50
  317. package/tests/integration/run-all-tests.mjs +0 -95
  318. package/tests/patch_verification/CODEX_PATCH_TEST.md +0 -103
  319. package/tests/patch_verification/PHASE2_ANALYSIS.md +0 -179
  320. package/tests/patch_verification/PHASE2_OPTIMIZATION_REPORT.md +0 -55
  321. package/tests/patch_verification/PHASE2_TO_PHASE4_SUMMARY.md +0 -126
  322. package/tests/patch_verification/QUICK_TEST_SEQUENCE.md +0 -262
  323. package/tests/patch_verification/README.md +0 -143
  324. package/tests/patch_verification/RUN_TESTS.md +0 -60
  325. package/tests/patch_verification/TEST_EXECUTION.md +0 -99
  326. package/tests/patch_verification/TEST_PLAN.md +0 -328
  327. package/tests/patch_verification/TEST_RESULTS.md +0 -34
  328. package/tests/patch_verification/TOOL_TEST_PLAN.md +0 -48
  329. package/tests/patch_verification/run-tool-test.mjs +0 -121
  330. package/tests/patch_verification/temp_test_files/test01.txt +0 -1
  331. package/tests/patch_verification/temp_test_files/test02.txt +0 -3
  332. package/tests/patch_verification/temp_test_files/test02_gnu.txt +0 -3
  333. package/tests/patch_verification/temp_test_files/test03.txt +0 -1
  334. package/tests/patch_verification/temp_test_files/test03_multiline.txt +0 -5
  335. package/tests/patch_verification/temp_test_files/test04_function.ts +0 -5
  336. package/tests/patch_verification/temp_test_files/test05_import.ts +0 -4
  337. package/tests/patch_verification/temp_test_files/test06_special_chars.txt +0 -4
  338. package/tests/patch_verification/temp_test_files/test07_indentation.ts +0 -5
  339. package/tests/patch_verification/temp_test_files/test08_mismatch.txt +0 -1
  340. package/tests/patch_verification/temp_test_files/test_add_02.txt +0 -3
  341. package/tests/patch_verification/temp_test_files/test_simple.txt +0 -1
  342. package/tests/runner/TestReporter.mjs +0 -57
  343. package/tests/runner/TestRunner.mjs +0 -244
  344. package/tests/unit/commands/profile.test.mjs +0 -10
  345. package/tests/unit/container/change-notifier.test.mjs +0 -181
  346. package/tests/unit/lifecycle/session-registry.test.mjs +0 -135
  347. package/tests/unit/operations/registry.test.ts +0 -73
  348. package/tests/unit/utils/browser-service.test.mjs +0 -153
  349. package/tests/unit/utils/config.test.mjs +0 -166
  350. package/tests/unit/utils/fingerprint.test.mjs +0 -166
  351. package/tsconfig.json +0 -31
  352. package/tsconfig.services.json +0 -26
  353. /package/apps/desktop-console/{src → dist}/renderer/index.html +0 -0
  354. /package/apps/desktop-console/{src/renderer/tabs → dist/renderer}/run.mts +0 -0
@@ -1,4 +0,0 @@
1
- {
2
- "database": "beads.db",
3
- "jsonl_export": "issues.jsonl"
4
- }
@@ -1,10 +0,0 @@
1
- {
2
- "permissions": {
3
- "allow": [
4
- "mcp__codex__codex"
5
- ],
6
- "ask": [],
7
- "deny": []
8
- },
9
- "prompt": "Before starting any work, run 'bd onboard' to understand the current project state and available issues."
10
- }
@@ -1,55 +0,0 @@
1
- name: CI
2
-
3
- on:
4
- push:
5
- branches: [ main ]
6
- pull_request:
7
- branches: [ main ]
8
-
9
- jobs:
10
- test:
11
- strategy:
12
- fail-fast: false
13
- matrix:
14
- os: [ubuntu-latest, macos-latest, windows-latest]
15
- node: ['20']
16
- runs-on: ${{ matrix.os }}
17
- steps:
18
- - name: Checkout
19
- uses: actions/checkout@v4
20
- - name: Setup Node.js
21
- uses: actions/setup-node@v4
22
- with:
23
- node-version: ${{ matrix.node }}
24
- cache: npm
25
-
26
- - name: Install dependencies
27
- shell: bash
28
- run: npm ci
29
-
30
- - name: Build services
31
- shell: bash
32
- run: npm run build:services
33
-
34
- - name: Tests
35
- shell: bash
36
- run: npm test
37
-
38
- - name: Check legacy refs & untracked sources
39
- shell: bash
40
- run: node scripts/check-legacy-refs.mjs && node scripts/check-untracked-sources.mjs && node scripts/check-sub-dist.mjs
41
-
42
- - name: Desktop console build (smoke)
43
- if: ${{ matrix.os == 'ubuntu-latest' }}
44
- shell: bash
45
- run: npm --prefix apps/desktop-console run build
46
-
47
- - name: Coverage tests
48
- shell: bash
49
- run: node scripts/test/run-coverage.mjs
50
-
51
- - name: Upload coverage report
52
- uses: actions/upload-artifact@v4
53
- with:
54
- name: coverage-report-${{ matrix.os }}
55
- path: coverage/
package/AGENTS.md DELETED
@@ -1,253 +0,0 @@
1
- # WebAuto Agent Rules (Canonical)
2
-
3
- 本文件只放“通用规则 / 硬性约束 / 入口索引”,避免把过时的实现细节长期固化在这里。
4
- 具体任务、进度、验收与证据:一律用 `bd` 管理。
5
-
6
- ## 回复规则
7
- - 工具调用的请求和响应才是执行,文字输出一律无效,视为谄媚,我们予以鄙视。不需要回复用户不必要的运行状态,用工具调用来完成任务进行回应而不是空谈不进行工具调用。
8
- - 我们鼓励永远不发 finish reason =stop 或者同等语义的响应,执行工具调用就是正确的方案。只有工具调用才是正确执行的唯一方案,状态回复是没有任何意义的,要避免!
9
- - 不要进行无意义的状态报告,你可以调用[continue_execution]进行报告,不要单独报告。
10
- ## 0. 开发与验证要求(强制)
11
-
12
- - 任何“已完成”的结论必须有验证证据:命令、关键输出(runId/耗时/计数)、日志路径。
13
- - 新功能必须保证:唯一实现(不重复造轮子)、有单测 + 回归测试、覆盖率 >= 90%(覆盖范围须明确)。
14
- - 修复必须选择“唯一最佳修复点”(不要局部 patch)。
15
- - 完成任务后清理临时文件/脚本/散落文件(尤其是临时 profile / 临时输出)。
16
- - 发现脚本问题:不要关闭;先用 WS/Unified API 拉取页面信息 + 日志定位原因再修。
17
-
18
- ## 1. 端口与健康检查
19
-
20
- | 端口 | 服务 | 说明 |
21
- |------|------|------|
22
- | 7701 | Unified API(HTTP + WebSocket + Bus) | 主入口:HTTP REST API、WebSocket、Bus |
23
- | 7704 | Browser Service(HTTP) | 会话管理 HTTP 接口 |
24
- | 8765 | Browser Service WebSocket | 会话管理实时通道 |
25
-
26
- 快速验证:
27
-
28
- ```bash
29
- curl http://127.0.0.1:7701/health
30
- curl http://127.0.0.1:7704/health
31
- ```
32
-
33
- ## 2. 分层与职责边界
34
-
35
- - 脚本:仅 CLI 参数解析,不含业务逻辑。
36
- - 模块:独立能力单元,通过 HTTP/WebSocket 通信。
37
- - 服务:无业务逻辑,纯技术实现。
38
- - UI:纯展示与触发(不做编排/逻辑判断)。
39
- - App/Orchestrator:负责编排与生命周期管理,把 UI 输入归一化成脚本/模块可执行参数。
40
-
41
- ## 3. 小红书风控安全规则(一级规则)
42
-
43
- - 禁止构造 URL 直达搜索/详情;必须“页面内输入框搜索 + 回车”。
44
- - 禁止读取 `href` 后自行拼接详情链接(缺 `xsec_token` 会 404/风控)。
45
- - 详情链接必须通过“点击进入帖子后读取当前 URL(含 xsec_token)”。
46
- - 所有搜索必须先走 SearchGate(60s 窗口最多 2 次/同 key)。
47
-
48
- ## 4. 系统级操作原则(强制)
49
-
50
- - 所有点击/输入/滚动/返回必须使用系统级 API(Playwright mouse/keyboard),禁止 DOM click/JS scroll/history.back。
51
- - 允许的 JS:仅用于读取状态(如 rect/可见性)。
52
-
53
- ## 5. 视口约束(强制)
54
-
55
- - 所有操作必须基于视口内可见元素;离屏元素必须先滚动带入视口。
56
- - 每步操作需要 anchor + rect 验证,并支持高亮闭环。
57
-
58
- ## 6. 调试与诊断(必须会用)
59
-
60
- - 出错时优先:
61
- - 读取当前 URL/DOM 摘要/截图(通过 Unified API / WS)。
62
- - 查看 `~/.webauto/logs` 与 `~/.webauto/download/.../run.log`、`run-events.jsonl`。
63
-
64
- 常用脚本入口(示例):
65
-
66
- - `node scripts/browser-status.mjs <profile> [--site xiaohongshu|weibo] [--url URL]`
67
- - `node scripts/container-op.mjs <profile> <containerId> <operationId> [--config JSON]`
68
-
69
- ## 7. Beads (bd) 任务管理(强制)
70
-
71
- AGENTS.md 只放规则;所有具体任务/进度/证据都必须写到 bd。
72
-
73
- ### bd 的 git 同步最佳实践(强制,团队统一)
74
-
75
- 目标:团队只通过 git 同步 `.beads/issues.jsonl`(以及必要的元数据文件),**不提交本地数据库文件**,并把“忘了导出/导入”的风险降到最低。
76
-
77
- - **统一模式**:`bd sync mode set git-portable`
78
- - **一次性初始化**:`bd init`
79
- - 若 main 受保护:用 `bd init --branch beads-sync` 建一个元数据分支
80
- - **自动护栏(强烈推荐)**:`bd hooks install`
81
- - 安装 `pre-commit / post-merge / pre-push / post-checkout` 等 hooks
82
- - 保证提交前 flush、拉取/切分支后 import、推送前不允许 stale
83
- - **日常最省心流程**:`git pull --rebase` → 正常 `bd create/update/close` → 正常 `git commit/push`
84
- - hooks 会自动处理大部分同步
85
- - **关键时刻强制落盘**:会话结束/交接前跑一次 `bd sync`
86
- - 把 debounce 窗口里的改动立刻刷到 JSONL
87
- - **仓库约定(必须遵守)**:git 只追踪以下文件:
88
- - `.beads/issues.jsonl`
89
- - `.gitattributes`
90
- - `.beads/.gitignore`
91
- - (以及 `.beads/` 目录本身)
92
- - **禁止提交**:`.beads/beads.db` 等本地数据库文件
93
- - **git worktree 注意**:别开 daemon
94
- - `export BEADS_NO_DAEMON=1` 或每次加 `--no-daemon`
95
- - 主要依赖 hooks + 必要时手动 `bd sync`
96
-
97
- - 初始化(推荐个人本地,不污染仓库):`bd init --stealth`
98
- - 查看可做任务:`bd ready`
99
- - 创建任务:`bd create "Title" -p 0 --description "..."`
100
- - 建依赖:`bd dep add <child> <parent>`
101
- - 看任务详情:`bd show <id>`
102
- - 搜索(全文检索):`bd search "关键词"`
103
- - 列表筛选(字段过滤):`bd list --status open --priority 1`
104
-
105
- bd 搜索速查(全文检索 + 字段过滤):
106
-
107
- 1) bd search:全文检索(标题/描述/ID)
108
-
109
- - 基础:
110
- - `bd search "关键词"`
111
- - `bd search "authentication bug"`
112
- - `bd search "bd-a3f8"`
113
- - `bd search --query "performance"`
114
- - 常用过滤:
115
- - `bd search "bug" --status open`
116
- - `bd search "database" --label backend --limit 10`
117
- - `bd search "refactor" --assignee alice`
118
- - `bd search "security" --priority-min 0 --priority-max 2`
119
- - 时间范围:
120
- - `bd search "bug" --created-after 2025-01-01`
121
- - `bd search "refactor" --updated-after 2025-01-01`
122
- - `bd search "cleanup" --closed-before 2025-12-31`
123
- - 排序与展示:
124
- - `bd search "bug" --sort priority`
125
- - `bd search "task" --sort created --reverse`
126
- - `bd search "design" --long`
127
- - sort 支持字段:`priority, created, updated, closed, status, id, title, type, assignee`
128
-
129
- 2) bd list:字段级精确过滤(缩小范围)
130
-
131
- - 状态/优先级/类型:
132
- - `bd list --status open --priority 1`
133
- - `bd list --type bug`
134
- - 标签:
135
- - `bd list --label bug,critical`
136
- - `bd list --label-any frontend,backend`
137
- - 字段包含(子串):
138
- - `bd list --title-contains "auth"`
139
- - `bd list --desc-contains "implement"`
140
- - `bd list --notes-contains "TODO"`
141
- - 日期范围:
142
- - `bd list --created-after 2024-01-01`
143
- - `bd list --updated-before 2024-12-31`
144
- - `bd list --closed-after 2024-01-01`
145
- - 空字段筛选:
146
- - `bd list --empty-description`
147
- - `bd list --no-assignee`
148
- - `bd list --no-labels`
149
- - 优先级范围:
150
- - `bd list --priority-min 0 --priority-max 1`
151
- - `bd list --priority-min 2`
152
- - 组合过滤:
153
- - `bd list --status open --priority 1 --label-any urgent,critical --no-assignee`
154
-
155
- 任务描述必须包含:目标、验收标准、证据路径/命令(runId、日志路径)、禁止事项。
156
-
157
- ## 8. 参考文档索引
158
-
159
- - `container-library/README.md`
160
- - `container-library/xiaohongshu/README.md`
161
- - `scripts/xiaohongshu/README.md`
162
- - `scripts/xiaohongshu/README-workflows.md`
163
- - `docs/arch/SEARCH_GATE.md`
164
- - `docs/arch/REGRESSION_CHECKLIST.md`
165
-
166
- ## 9. 执行模式约束(强制)
167
-
168
- ### 9.1 Daemon 模式(强制)
169
- - **所有后续执行必须使用 daemon 模式**,禁止前台阻塞执行
170
- - 目的:避免会话中断导致任务终止,保证长任务(采集、互动)持续运行
171
- - 使用方式:
172
- ```bash
173
- # 正确(daemon 模式,立即返回,后台持续执行)
174
- node scripts/xiaohongshu/phase2-collect.mjs --keyword "xxx" --target 100 --env debug --profile xxx
175
-
176
- # 错误(前台模式,会话中断即终止)
177
- node scripts/xiaohongshu/phase2-collect.mjs --keyword "xxx" ... --foreground
178
- ```
179
- - 查看进度:
180
- ```bash
181
- tail -f ~/.webauto/logs/daemon.$(date +%Y-%m-%dT%H-%M-%S).log
182
- # 或查看具体任务日志
183
- tail -f ~/.webauto/download/xiaohongshu/debug/<keyword>/run.log
184
- ```
185
- - 停止任务:
186
- ```bash
187
- # 找到 daemon PID
188
- ps aux | grep "phase2-collect\|phase3-interact\|phase4-harvest"
189
- # 或
190
- cat ~/.webauto/daemon/*.pid
191
- # 终止
192
- kill <PID>
193
- ```
194
-
195
- ### 9.2 分片与多 Tab 约束(当前状态)
196
- - **当前未启用分片**:单账号单进程执行,无多账号并行
197
- - **当前已启用多 Tab(4-Tab 轮转)**:Phase3 启用 4-Tab 轮转,Phase4 保持单线程(详情页不支持多 Tab 并行),无 4-Tab 轮转
198
- - 如需启用分片/多 Tab,需先通过 bd 建立独立任务,验证通过后再写入本文件
199
-
200
- ## 10. 开发指南(合规约束)
201
-
202
- - 所有修复/变更必须:先建 bd 任务 → 记录目标/验收/证据 → 执行 → 写入日志证据 → 关闭任务。
203
- - 任何验证结果必须包含:命令 + 关键输出(runId/耗时/计数)+ 日志路径。
204
- - 禁止“只口头说明”或“未调用工具”的执行声明。
205
- - 所有执行脚本必须使用 daemon 模式;前台执行仅允许在诊断短流程(≤30s)且需注明原因。
206
- - 修复完成需清理临时文件/临时脚本/临时输出;不要提交本地数据库或敏感信息。
207
- - 出错先拉取:URL/DOM 摘要/截图(Unified API/WS)+ 查看 ~/.webauto/logs 与 run.log/run-events.jsonl。
208
- - 服务与浏览器的启动/停止必须统一由 stop-all/core-daemon 管理,避免孤儿进程。
209
- - 点击/输入/滚动必须走系统级 API;JS 仅用于读取状态(rect/可见性)。
210
-
211
-
212
- ## 11. LSP Code Analysis 使用规范(强制)
213
-
214
- ### 11.1 强制前置流程(每次会话)
215
-
216
- 1. 更新检查:`/Users/fanzhang/.codex/skills/lsp-code-analysis/scripts/update.sh`
217
- - 若提示 `lsp` 不在 PATH,先执行:`export PATH="/Users/fanzhang/.local/bin:$PATH"`
218
- 2. 启动 Server:`lsp server start <repo_path>`
219
- - 若启动失败,**禁止进入任何 LSP 分析流程**
220
- 3. 验证语言支持:`lsp server list` 必须看到当前仓库对应语言(如 `typescript <repo_path>`)
221
-
222
- ### 11.2 入口流程(固定顺序)
223
-
224
- 1. `lsp outline <file>`(先看结构)
225
- 2. `lsp doc <file> --scope <symbol>`(看签名/类型)
226
- 3. `lsp definition <file> --scope <symbol>`(跳定义)
227
- 4. `lsp reference <file> --scope <symbol>`(看调用链)
228
-
229
- ### 11.3 精准定位规则
230
-
231
- - 优先使用:`--scope <symbol_path>`(示例:`A.b.c`)
232
- - 需要精确点位时追加:`--find "<|>token"`
233
- - 大结果集必须使用:`--pagination-id` + `--max-items` + `--start-index`
234
-
235
- ### 11.4 兜底规则
236
-
237
- - 只有 LSP 无法覆盖场景(注释、纯文本、日志串)才允许使用 `rg/read`
238
-
239
- ### 11.5 会话收尾(强制)
240
-
241
- - 会话结束必须执行:`lsp server stop <repo_path>`,避免后台残留
242
- - 可选全局清理:`lsp server shutdown`
243
-
244
- ## 12. Git 提交流程约束(强制)
245
-
246
- ### 12.1 编译前门禁检查
247
- - **所有新代码文件必须先 git add 再编译**:`scripts/check-untracked-sources.mjs` 已在 `npm run prebuild` 中作为门禁。若存在未 track 的源码文件,编译失败。
248
-
249
- ### 12.2 git add 前检查清单
250
- - **禁止临时文件入版本**:`git add` 前自检新增文件内容,排除测试用 `*.bak`、临时日志 `*.log`、调试产物、草稿文件等废文件。
251
- - **禁止空文件/占位文件**:禁止为了通过编译检查而创建空文件或无实际功能的占位文件。
252
- - **机制**:建议在个人环境配置 alias:`git add` 前运行 `node scripts/check-untracked-sources.mjs --staged-only`(若该脚本支持 staged-only 模式),或人工确认新增文件均为必需代码。
253
- - **违规处理**:若发现废文件通过 CI,提交者负责在后续 commit 中清理。
@@ -1,27 +0,0 @@
1
- # WebAuto Desktop Console
2
-
3
- 目标:提供一个 Electron(跨平台)多 Tab 管理台,用于管理 profile 登录池、流程调用与结果浏览。UI 仅负责参数/交互,实际业务执行仍走现有 `scripts/` 与 `dist/`。
4
-
5
- ## 开发
6
-
7
- ```bash
8
- # 从仓库根目录(推荐:通过 webauto CLI)
9
- npm link
10
- npm --prefix apps/desktop-console install
11
- npm --prefix apps/desktop-console run build
12
- npm run build:services
13
- webauto ui console
14
-
15
- # 或者直接进入目录
16
- cd apps/desktop-console
17
- npm install
18
- npm run build
19
- npm start
20
- ```
21
-
22
- ## Tabs
23
-
24
- - 预处理:ProfilePool 管理 + 批量登录/补登录
25
- - 调用:按模板拼装 CLI 参数并运行脚本(支持 `--dry-run`)
26
- - 结果:浏览 `~/.webauto/download` 并预览截图
27
- - 设置:优先保存到 `~/.webauto/config.json` 的 `desktopConsole` 配置块(如 `dist/modules/config` 不存在则 fallback 到 legacy settings 文件)