一键导入
enedis-portal
Navigate the Enedis customer portal to retrieve solar photovoltaic production data, handling authentication, cookie consent, and data extraction
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Navigate the Enedis customer portal to retrieve solar photovoltaic production data, handling authentication, cookie consent, and data extraction
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Build or modify LangChain, DeepAgent, DeerFlow profiles, agent tools, middleware, checkpointing, skills wiring, and the shared harness layer in genai-tk.
Work on BAML structured extraction, BAML CLI commands, processors, utilities, and Prefect BAML workflow integration in genai-tk.
Work on browser automation, sandbox browser tools, direct Playwright tools, AioSandbox backend, and sandbox CLI support in genai-tk.
Add or modify genai-tk Typer CLI commands, dynamic command registration, project scaffolding, and generated Copilot/agent support files.
Work on genai-tk OmegaConf configuration, profiles, overrides, env substitution, and config discovery. Use when editing config/*.yaml or genai_tk.config_mgmt.config_mngr.
Work on core LLM, embeddings, vector store, provider, cache, prompt, and retriever factories in genai-tk. Use when editing genai_tk/core or provider configuration.
| name | enedis-portal |
| description | Navigate the Enedis customer portal to retrieve solar photovoltaic production data, handling authentication, cookie consent, and data extraction |
| browser_backend | direct |
Retrieve solar panel production data from the Enedis "Mon Compte Particulier" portal.
ENEDIS_USERNAME (email) and ENEDIS_PASSWORDlaunch_mode: fresh (avoids pre-launched CDP detection)browser_navigate, browser_read_page, browser_wait,
browser_load_cookies, browser_save_cookies, browser_screenshot,
browser_evaluate, browser_fill_credential, browser_get_logs,
browser_diagnose1. browser_load_cookies name="enedis"
2. If successful:
→ browser_navigate to https://mon-compte-particulier.enedis.fr/visualiser-vos-mesures-production wait_until="domcontentloaded"
→ browser_wait load_state="networkidle" timeout_ms=10000
→ browser_read_page — check if we're on the production page (not redirected to login or /indisponible)
→ If logged in, skip to Step 3
→ If redirected to login page, continue to Step 2
3. If no saved session, continue to Step 2
Navigate to the Enedis login page and perform Okta two-step login using
browser tools. The launch_mode: fresh configuration ensures the sandbox
browser is launched fresh with anti-detection flags, avoiding the
/indisponible redirect that occurs with the pre-launched browser.
1. browser_navigate to https://mon-compte-particulier.enedis.fr/auth/login wait_until="domcontentloaded"
2. Remove the cookie consent overlay (never click accept):
browser_evaluate code="document.querySelector('#popin_tc_privacy')?.remove(); document.querySelector('#popin_tc_privacy_container')?.remove(); document.querySelector('.tc-privacy-wrapper')?.remove(); document.body.style.overflow = 'auto';"
3. browser_wait load_state="networkidle" timeout_ms=15000
4. Check current URL:
→ If redirected to /indisponible: report "Site is blocking the sandbox browser" and stop
→ If on login page: continue
5. Fill username:
browser_fill_credential selector="input[type='email'], input[name='username'], #username" credential_env="ENEDIS_USERNAME"
6. Look for password field. If not visible, submit username first:
browser_evaluate code="document.querySelector('button[type=submit]')?.click()"
browser_wait selector="input[type='password']" timeout_ms=15000
7. Fill password:
browser_fill_credential selector="input[type='password']" credential_env="ENEDIS_PASSWORD"
8. Submit login:
browser_evaluate code="document.querySelector('button[type=submit]')?.click()"
9. browser_wait load_state="networkidle" timeout_ms=20000
10. Check result:
browser_read_page
→ If URL contains "captcha" or page shows FriendlyCaptcha:
browser_screenshot
Inform user: "A CAPTCHA is displayed. Please solve it via VNC, then tell me to continue."
→ If URL is on the Enedis dashboard or production page: success → Step 3
→ If URL is /indisponible or login page still: report failure with browser_get_logs last_n=80
11. browser_save_cookies name="enedis"
1. browser_navigate to https://mon-compte-particulier.enedis.fr/visualiser-vos-mesures-production wait_until="domcontentloaded"
2. browser_wait load_state="networkidle" timeout_ms=15000
3. browser_wait selector=".highcharts-root, .donnees-mensuelles, table, [class*='mesures'], [class*='production']" timeout_ms=20000
4. browser_read_page to extract the production data
For monthly data:
1. browser_navigate to https://mon-compte-particulier.enedis.fr/visualiser-vos-mesures-production?periode=mois wait_until="domcontentloaded"
2. browser_wait load_state="networkidle" timeout_ms=15000
3. browser_wait selector="table, [class*='mesures'], .highcharts-root" timeout_ms=20000
4. browser_read_page to extract monthly production figures
1. browser_read_page to get the production data text
2. If the data is in a chart/graph and text extraction is insufficient:
→ browser_screenshot to capture the visual chart
3. Parse the extracted text for production numbers (kWh)
4. Present the data to the user:
- Daily production (if available)
- Monthly totals
- Comparison with previous periods
5. browser_save_cookies name="enedis" (refresh the saved session)
| Issue | Solution |
|---|---|
Redirected to /indisponible | Verify launch_mode: fresh is set in sandbox config. If fresh mode still fails, deeper investigation needed. |
| CAPTCHA appears | Inform user to solve via VNC, then continue workflow |
| Session expired | Re-authenticate from Step 2 |
| Page loads but no data visible | Wait longer, scroll down, try browser_screenshot |
| Login form not found | Check if site is under maintenance; try browser_screenshot for diagnostics |
networkidle or the chart selectorlaunch_mode: fresh setting kills the sandbox's pre-launched Chromium and launches a fresh
instance with anti-detection flags — this is transparent and handled by the browser session layer