Browser4 icon indicating copy to clipboard operation
Browser4 copied to clipboard

IllegalWebDriverStateException: Unknown chrome IO error | Browser unavailable: enableAPIAgents (3/5) | Failed to enable CDT agents

Open platonai opened this issue 6 months ago • 0 comments

2025-06-24 22:32:24.530 INFO [main] a.p.p.q.c.AbstractSQLContext - SQLContext is created | 1/0 | H2SQLContext 2025-06-24 22:32:24.611 INFO [main] a.p.p.s.c.PulsarContexts - Total 1 active contexts: ai.platon.pulsar.ql.context.H2SQLContext #1 2025-06-24 22:32:24.616 INFO [main] a.p.p.a.PulsarApplicationKt - Starting PulsarApplicationKt v3.0.10-SNAPSHOT using Java 21.0.6 with PID 1 (/app/app.jar started by appuser in /app) 2025-06-24 22:32:24.617 INFO [main] a.p.p.a.PulsarApplicationKt - The following 2 profiles are active: "master", "private" 2025-06-24 22:32:28.204 INFO [main] o.a.c.h.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8182"] 2025-06-24 22:32:28.206 INFO [main] o.a.c.c.StandardService - Starting service [Tomcat] 2025-06-24 22:32:28.206 INFO [main] o.a.c.c.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.34] 2025-06-24 22:32:28.249 INFO [main] o.a.c.c.C.[.[.[/] - Initializing Spring embedded WebApplicationContext 2025-06-24 22:32:28.810 INFO [main] a.p.p.s.c.i.StreamingCrawlLoop - Crawl loop is started with 15 link collectors | #1 | ai.platon.pulsar.skeleton.crawl.impl.StreamingCrawlLoop@7b29cdea 2025-06-24 22:32:28.814 INFO [r-worker-1] a.p.p.s.c.i.StreamingCrawler - Starting crawler | StreamingCrawler | #1 | class ai.platon.pulsar.skeleton.session.BasicPulsarSession ... 2025-06-24 22:32:28.847 INFO [main] a.p.p.a.PulsarApplication - Welcome to PulsarRPA!

LLM is configured, you can use LLM commands.

Example 1: Using the WebUI to run a command: http://localhost:8182/command.html

Example 2: For Beginners – Just Text, No Code:

curl -X POST "http://localhost:8182/api/commands/plain" -H "Content-Type: text/plain" -d "
    Go to https://www.amazon.com/dp/B0C1H26C46

    After browser launch: clear browser cookies.
    After page load: scroll to the middle.

    Summarize the product.
    Extract: product name, price, ratings.
    Find all links containing /dp/.
"

Example 3: For Advanced Users — LLM + X-SQL: Precise, Flexible, Powerful:

curl -X POST "http://localhost:8182/api/x/e" -H "Content-Type: text/plain" -d "
select
  llm_extract(dom, 'product name, price, ratings') as llm_extracted_data,
  dom_base_uri(dom) as url,
  dom_first_text(dom, '#productTitle') as title,
  dom_first_slim_html(dom, 'img:expr(width > 400)') as img
from load_and_select('https://www.amazon.com/dp/B0C1H26C46', 'body');
"

2025-06-24 22:32:30.135 INFO [main] o.a.c.h.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8182"] 2025-06-24 22:32:30.194 INFO [main] a.p.p.a.PulsarApplicationKt - Started PulsarApplicationKt in 6.431 seconds (process running for 8.154) 2025-06-24 22:32:48.862 INFO [182-exec-1] o.a.c.c.C.[.[.[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' 2025-06-24 22:32:54.505 INFO [182-exec-3] a.p.p.e.ChatModelFactory - Creating LLM with provider and model name | deepseek deepseek-chat *******************************7e3b 2025-06-24 22:32:55.136 INFO [182-exec-3] o.e.c.EhcacheManager - Cache 'modelResponses' created in EhcacheManager. 2025-06-24 22:32:55.165 INFO [182-exec-3] a.p.p.e.i.ChatModelImpl - ▶ Chat - [len: 1837] You're given a user request that describes how to interact with and extract information from a we... 2025-06-24 22:33:06.827 INFO [182-exec-3] a.p.p.e.i.ChatModelImpl - ◀ Chat - token: 532 | [len: 419] ```json { "url": "{PLACEHOLDER_URL}", "pageSummaryPrompt": "Summarize the product description... 2025-06-24 22:33:07.377 INFO [r-worker-1] a.p.p.s.c.p.ProtocolFactory - Supported protocols: browser 2025-06-24 22:33:07.447 INFO [r-worker-1] a.p.p.s.c.p.h.PrimerHtmlParser - className: PrimerHtmlParser defaultCharEncoding: utf-8 parseFilters: ParseFilters 2025-06-24 22:33:07.492 INFO [r-worker-1] a.p.p.s.c.p.h.PrimerHtmlParser - className: PrimerHtmlParser defaultCharEncoding: utf-8 parseFilters: null 2025-06-24 22:33:07.494 INFO [r-worker-1] a.p.p.s.c.p.ParserFactory - Active parsers: ----------Params Table----------
Name Value
text/html: ai.platon.pulsar.skeleton.crawl.parse.html.PrimerHtmlParser text/xml: ai.platon.pulsar.parse.tika.TikaParser text/aspdotnet: ai.platon.pulsar.skeleton.crawl.parse.html.PrimerHtmlParser application/rss+xml: ai.platon.pulsar.parse.tika.TikaParser *: ai.platon.pulsar.parse.tika.TikaParser application/xhtml+xml: ai.platon.pulsar.skeleton.crawl.parse.html.PrimerHtmlParser

2025-06-24 22:33:12.136 INFO [r-worker-1] a.p.p.p.g.GoraStorage - Using MongoDB servers: 127.0.0.1:27017 2025-06-24 22:33:12.137 INFO [r-worker-1] a.p.p.p.g.GoraStorage - Backend data store: ai.platon.pulsar.persist.gora.FileBackendPageStore, real schema: FileBackendPageStore 2025-06-24 22:33:12.137 INFO [r-worker-1] a.p.p.p.g.GoraStorage - FileBackendPageStore is only for development and testing, it is not suitable for production environment 2025-06-24 22:33:12.141 INFO [r-worker-1] a.p.p.p.DataStorageFactory - Backend data store is created: org.apache.gora.mongodb.store.MongoStore, realSchema: FileBackendPageStore 2025-06-24 22:33:12.368 INFO [r-worker-1] a.p.p.p.b.e.c.MultiPrivacyContextManager - Maintaining service is started, minimal maintain interval: PT15S 2025-06-24 22:33:12.372 INFO [r-worker-1] a.p.p.s.c.f.p.PrivacyAgentGeneratorFactory - Created privacy agent generator DefaultPrivacyAgentGenerator | ai.platon.pulsar.skeleton.crawl.fetch.privacy.DefaultPrivacyAgentGenerator 2025-06-24 22:33:12.374 INFO [r-worker-1] a.p.p.s.c.f.p.PrivacyAgent$Companion - You are creating a DEFAULT browser context, force set max browser number to be 1 2025-06-24 22:33:12.461 INFO [r-worker-1] a.p.p.s.c.AppSystemInfo - Operation system: 3.21.3 (unknown) build 6.6.87.2-microsoft-standard-WSL2 2025-06-24 22:33:12.513 INFO [r-worker-1] a.p.p.s.c.AppSystemInfo - Processor: 13th Gen Intel(R) Core(TM) i9-13900H 1 physical CPU package(s) 10 physical CPU core(s) 20 logical CPU(s) Identifier: Intel64 Family 6 Model 186 Stepping 2 ProcessorID: 1F8BFBFF000B06A2 Microarchitecture: Raptor Lake 2025-06-24 22:33:12.525 INFO [r-worker-1] a.p.p.s.c.AppSystemInfo - Memory: Available: 13.7 GiB/15.6 GiB 2025-06-24 22:33:12.569 INFO [r-worker-1] a.p.p.p.b.e.c.MultiPrivacyContextManager - Permanent privacy context is created | #default | /home/appuser/.pulsar/browser/chrome/default 2025-06-24 22:33:22.598 WARN [r-worker-1] a.p.p.p.b.e.c.BrowserPrivacyContext - Can not create proxy context - No proxy found in pool LoadingProxyPool | total 0, free: 0 2025-06-24 22:33:22.607 INFO [r-worker-1] a.p.p.p.b.d.WebDriverPoolManager - Maintaining service is started, minimal maintain interval: PT15S 2025-06-24 22:33:22.661 INFO [r-worker-1] a.p.p.c.ProcessLauncher - Launching process: /usr/bin/chromium --headless --disable-gpu --hide-scrollbars --remote-debugging-port=0 --no-default-browser-check --no-first-run --no-startup-window --mute-audio --disable-background-networking --disable-background-timer-throttling --disable-client-side-phishing-detection --disable-hang-monitor --disable-popup-blocking --disable-prompt-on-repost --disable-sync --disable-translate --disable-geolocation --disable-blink-features=AutomationControlled --metrics-recording-only --safebrowsing-disable-auto-update --no-sandbox --ignore-certificate-errors --remote-allow-origins=* --window-position=0,0 --window-size=1920,1080 --pageLoadStrategy=none --throwExceptionOnScriptError=true --user-data-dir=/home/appuser/.pulsar/browser/chrome/default/PULSAR_CHROME 2025-06-24 22:33:39.314 INFO [r-worker-1] a.p.p.e.i.ChatModelImpl - ▶ Chat - [len: 3862] 以下是操作网页的 API 接口及其注释,你可以使用这些接口来操作网页,比如打开网页、点击按钮、输入文本等等。 suspend fun navigateTo(url: String) ... 2025-06-24 22:33:44.468 INFO [r-worker-1] a.p.p.e.i.ChatModelImpl - ◀ Chat - token: 1051 | [len: 102] kotlin suspend fun llmGeneratedFunction(driver: WebDriver) { driver.clearBrowserCookies() ... 2025-06-24 22:33:44.512 INFO [r-worker-1] a.p.p.e.i.ChatModelImpl - ▶ Chat - [len: 3861] 以下是操作网页的 API 接口及其注释,你可以使用这些接口来操作网页,比如打开网页、点击按钮、输入文本等等。 suspend fun navigateTo(url: String) ... 2025-06-24 22:33:50.340 INFO [r-worker-1] a.p.p.e.i.ChatModelImpl - ◀ Chat - token: 1056 | [len: 100] kotlin suspend fun llmGeneratedFunction(driver: WebDriver) { driver.scrollToMiddle(0.5) } ``` 2025-06-24 22:34:54.131 INFO [r-worker-1] a.p.p.p.b.e.i.InteractiveBrowserEmulator - Dismiss illegal driver #1: WORKING | browser #1:Active,Permanent,Connected | Unknown chrome IO error | Browser unavailable: enableAPIAgents (0/5) | Failed to enable CDT agents 2025-06-24 22:34:54.141 WARN [r-worker-1] a.p.p.p.b.d.LoadingWebDriverPool - Closing driver that doesn't work unexpectedly #1: RETIRED | browser #1:Active,Permanent,Connected 2025-06-24 22:35:53.217 INFO [r-worker-1] a.p.p.p.b.d.c.d.RobustRPC - 0. [currentUrl] (3/5) | code: -1, Response timeout Page.getFrameTree | #40, (PT20S) 2025-06-24 22:36:52.287 WARN [r-worker-1] a.p.p.p.b.d.c.PulsarWebDriver - ai.platon.pulsar.skeleton.crawl.fetch.driver.IllegalWebDriverStateException: Unknown chrome IO error | Browser unavailable: enableAPIAgents (3/5) | Failed to enable CDT agents at ai.platon.pulsar.protocol.browser.driver.cdt.detail.RobustRPC.handleChromeIOException(RobustRPC.kt:121) at ai.platon.pulsar.protocol.browser.driver.cdt.detail.RobustRPC.handleChromeException(RobustRPC.kt:97) at ai.platon.pulsar.protocol.browser.driver.cdt.PulsarWebDriver.invokeOnPage(PulsarWebDriver.kt:896) at ai.platon.pulsar.protocol.browser.driver.cdt.PulsarWebDriver.access$invokeOnPage(PulsarWebDriver.kt:43) at ai.platon.pulsar.protocol.browser.driver.cdt.PulsarWebDriver$invokeOnPage$1.invokeSuspend(PulsarWebDriver.kt) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:102) at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:277) at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:95) at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:69) at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source) at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:48) at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source) at ai.platon.pulsar.skeleton.crawl.fetch.driver.AbstractWebDriver.close(AbstractWebDriver.kt:696) at ai.platon.pulsar.protocol.browser.driver.cdt.PulsarWebDriver.doClose(PulsarWebDriver.kt:562) at ai.platon.pulsar.protocol.browser.driver.cdt.PulsarBrowser.destroyDriver(PulsarBrowser.kt:134) at ai.platon.pulsar.protocol.browser.driver.cdt.PulsarWebDriver.close(PulsarWebDriver.kt:557) at ai.platon.pulsar.protocol.browser.impl.BrowserManager.closeDriver(BrowserManager.kt:93) at ai.platon.pulsar.protocol.browser.driver.ConcurrentStatefulDriverPool.close(ConcurrentStatefulDriverPool.kt:97) at ai.platon.pulsar.protocol.browser.driver.LoadingWebDriverPool.offerOrDismiss(LoadingWebDriverPool.kt:278) at ai.platon.pulsar.protocol.browser.driver.LoadingWebDriverPool.put(LoadingWebDriverPool.kt:260) at ai.platon.pulsar.protocol.browser.driver.WebDriverPoolManager.runWithDriverPool(WebDriverPoolManager.kt:524) at ai.platon.pulsar.protocol.browser.driver.WebDriverPoolManager.access$runWithDriverPool(WebDriverPoolManager.kt:34) at ai.platon.pulsar.protocol.browser.driver.WebDriverPoolManager$runWithDriverPool$3.invokeSuspend(WebDriverPoolManager.kt) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.internal.ScopeCoroutine.afterResume(Scopes.kt:28) at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:99) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104) at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:277) at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:95) at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:69) at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source) at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:48) at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source) at ai.platon.pulsar.protocol.browser.emulator.AbstractBrowserFetcher.fetchContent(AbstractBrowserFetcher.kt:46) at ai.platon.pulsar.protocol.browser.BrowserEmulatorProtocol.getResponse(BrowserEmulatorProtocol.kt:40) at ai.platon.pulsar.skeleton.crawl.protocol.http.AbstractHttpProtocol.getProtocolOutputWithRetry(AbstractHttpProtocol.kt:114) at ai.platon.pulsar.skeleton.crawl.protocol.http.AbstractHttpProtocol.getProtocolOutput(AbstractHttpProtocol.kt:74) at ai.platon.pulsar.skeleton.crawl.component.FetchComponent.fetchContent0(FetchComponent.kt:97) at ai.platon.pulsar.skeleton.crawl.component.FetchComponent.fetchContent(FetchComponent.kt:61) at ai.platon.pulsar.skeleton.crawl.component.LoadComponent.fetchContent(LoadComponent.kt:686) at ai.platon.pulsar.skeleton.crawl.component.LoadComponent.fetchContentIfNecessary(LoadComponent.kt:371) at ai.platon.pulsar.skeleton.crawl.component.LoadComponent.loadNormalURLWithEventHandlers(LoadComponent.kt:317) at ai.platon.pulsar.skeleton.crawl.component.LoadComponent.loadWithEventHandlers(LoadComponent.kt:297) at ai.platon.pulsar.skeleton.crawl.component.LoadComponent.loadWithRetry(LoadComponent.kt:208) at ai.platon.pulsar.skeleton.crawl.component.LoadComponent.load(LoadComponent.kt:180) at ai.platon.pulsar.skeleton.context.support.AbstractPulsarContext.load(AbstractPulsarContext.kt:379) at ai.platon.pulsar.skeleton.session.AbstractPulsarSession.loadAndCache(AbstractPulsarSession.kt:603) at ai.platon.pulsar.skeleton.session.AbstractPulsarSession.load(AbstractPulsarSession.kt:223) at ai.platon.pulsar.skeleton.session.AbstractPulsarSession.load(AbstractPulsarSession.kt:210) at ai.platon.pulsar.rest.api.service.LoadService.loadDocument(LoadService.kt:73) at ai.platon.pulsar.rest.api.service.CommandService.executeCommandStepByStep(CommandService.kt:177) at ai.platon.pulsar.rest.api.service.CommandService.executeCommand(CommandService.kt:157) at ai.platon.pulsar.rest.api.service.CommandService$submitAsync$1.invokeSuspend(CommandService.kt:56) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104) at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:111) at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:99) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:811) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:715) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:702) Caused by: ai.platon.pulsar.browser.driver.chrome.util.ChromeIOException: Failed to enable CDT agents at ai.platon.pulsar.protocol.browser.driver.cdt.PulsarWebDriver.enableAPIAgents(PulsarWebDriver.kt:631) at ai.platon.pulsar.protocol.browser.driver.cdt.PulsarWebDriver$navigateTo$2.invokeSuspend(PulsarWebDriver.kt:117) at ai.platon.pulsar.protocol.browser.driver.cdt.PulsarWebDriver$navigateTo$2.invoke(PulsarWebDriver.kt) at ai.platon.pulsar.protocol.browser.driver.cdt.PulsarWebDriver$navigateTo$2.invoke(PulsarWebDriver.kt) at ai.platon.pulsar.protocol.browser.driver.cdt.PulsarWebDriver$invokeOnPage$2.invokeSuspend(PulsarWebDriver.kt:893) at ai.platon.pulsar.protocol.browser.driver.cdt.PulsarWebDriver$invokeOnPage$2.invoke(PulsarWebDriver.kt) at ai.platon.pulsar.protocol.browser.driver.cdt.PulsarWebDriver$invokeOnPage$2.invoke(PulsarWebDriver.kt) at ai.platon.pulsar.protocol.browser.driver.cdt.detail.RobustRPC$invokeDeferred0$2.invokeSuspend(RobustRPC.kt:156) ... 8 more Caused by: ai.platon.pulsar.browser.driver.chrome.util.ChromeRPCTimeoutException: Response timeout Page.enable | #43, (PT20S) at ai.platon.pulsar.browser.driver.chrome.impl.ChromeDevToolsImpl.invoke0(ChromeDevToolsImpl.kt:139) at ai.platon.pulsar.browser.driver.chrome.impl.ChromeDevToolsImpl.invoke(ChromeDevToolsImpl.kt:114) at ai.platon.pulsar.browser.driver.chrome.impl.DevToolsInvocationHandler.invoke(DevToolsInvocationHandler.kt:44) at jdk.proxy2/jdk.proxy2.$Proxy136.enable(Unknown Source) at ai.platon.pulsar.protocol.browser.driver.cdt.PulsarWebDriver.enableAPIAgents(PulsarWebDriver.kt:614) ... 15 more

2025-06-24 22:36:52.340 INFO [r-worker-1] a.p.p.p.b.e.c.MultiPrivacyContextManager - ⚠ Privacy leak warning 1/100000 | 1#default | 12. Retry(1601) rs: Illegal web driver, rsp: PRIVACY 2025-06-24 22:36:52.414 INFO [r-worker-1] a.p.p.s.c.c.L.Task - 12. 💔 ⚡ U for N got 1601 0 <- 0 in 0s, fc:1 Retry(1601) rs: Illegal web driver, rsp: CRAWL | default | https://www.amazon.com/dp/B0C1H26C46 -refresh 2025-06-24 22:36:52.414 INFO [r-worker-1] a.p.p.s.c.c.L.Task - Log explanation: https://github.com/platonai/PulsarRPA/blob/master/docs/log-format.md 2025-06-24 22:37:20.132 INFO [r-worker-1] a.p.p.s.c.c.L.Task - 15. 💯 🖴 U for RR got 200 1.79 MiB [💿1.79 MiB] in 7.175s, last fetched 27s ago, fc:2 | 25/390/127/397/9901 | default | https://www.amazon.com/dp/B0C1H26C46 -refresh 2025-06-24 22:37:20.310 INFO [r-worker-1] a.p.p.e.i.ChatModelImpl - ▶ Chat - [len: 1020] Summarize the product description, key features, and customer reviews. ### Page Content: Deliv... 2025-06-24 22:37:28.963 INFO [oreMetrics] a.p.p.s.c.CoreMetrics - 🚚 Fetched 1 pages in 5m(0.00 pages/s) successfully | content: 0, 1.79 MiB/s, 6.09 KiB/p 2025-06-24 22:37:39.288 INFO [r-worker-1] a.p.p.e.i.ChatModelImpl - ◀ Chat - token: 611 | [len: 1369] ### Summary of Product Description, Key Features, and Customer Reviews #### **Product Desc... 2025-06-24 22:37:39.290 INFO [r-worker-1] a.p.p.r.a.s.CommandService - pageSummary: ### Summary of Product Description, Key Features, and Customer Reviews

Product Description:

The Huawei P60 Pro is a factory-unlocked, dual-SIM smartphone with 8GB RAM and 256GB storage (Global Model MNA-LX9). It comes in Black and is available for $575.00 with free delivery (estimated June 26–30) and free returns.

Key Features:

  • Global Model (MNA-LX9) – Works with multiple carriers.
  • Dual SIM – Supports two SIM cards.
  • 8GB RAM + 256GB Storage – Smooth performance and ample storage.
  • Factory Unlocked – No carrier restrictions.
  • Fast Delivery Options – Eligible for same-day or next-day delivery.

Customer Reviews:

  • Rating: 3.6/5 stars (based on 41 ratings).
  • Positive Feedback: Likely mentions good performance, display quality, or camera capabilities (though specifics aren't provided).
  • Negative Feedback: Some users may have concerns about software limitations (e.g., lack of Google services) or other issues affecting the rating.

Final Thoughts:

The Huawei P60 Pro offers strong hardware specs at a mid-range price, but its average rating suggests potential drawbacks (possibly software-related). Buyers should verify compatibility with their network and consider the absence of Google services before purchasing. 2025-06-24 22:37:39.292 INFO [r-worker-1] a.p.p.e.i.ChatModelImpl - ▶ Chat - [len: 1235] Extract the product name as text, price as a numeric value, and ratings as a numeric value or sta... 2025-06-24 22:37:46.083 INFO [r-worker-1] a.p.p.e.i.ChatModelImpl - ◀ Chat - token: 405 | [len: 171] json { "product_name": "Huawei P60 Pro Dual SIM 8GB + 256GB Global Model MNA-LX9 Factory Unl... 2025-06-24 22:37:46.084 INFO [r-worker-1] a.p.p.r.a.s.CommandService - fields: json { "product_name": "Huawei P60 Pro Dual SIM 8GB + 256GB Global Model MNA-LX9 Factory Unlocked Mobile Cellphone - Black", "price": 575.00, "ratings": 3.6 }

2025-06-24 22:37:46.174  INFO [r-worker-1] a.p.p.r.a.s.CommandService - Use regex to extract 32 links: https?://[^\s]+/dp/[^\s]+
2025-06-24 22:37:46.175  INFO [r-worker-1] a.p.p.r.a.s.CommandService - Finished executeCommandStepByStep | status: Processing | https://www.amazon.com/dp/B0C1H26C46
2025-06-24 22:39:28.961  INFO [oreMetrics] a.p.p.s.c.CoreMetrics - 🚚 Fetched 1 pages in 7m(0.00 pages/s) successfully | content: 0, 1.79 MiB/s, 4.35 KiB/p

platonai avatar Jun 24 '25 14:06 platonai