הקובץ ~/.secrets/cloudflare-kv.env קיים על המחשב של נדב ומכיל את ה-CF_API_TOKEN עם KV scope. זה ה-source of truth — לא שרת ספארק, לא nvision, לא משתנה סביבה גלובלי.
מה לא לעשות
לא להשתמש ב-/root/.spark_master_key בנvision — הטוקן שם חסר KV scope
לא להניח ש-spark_secrets.get_secret() מחזיר הכל — חלק מהמפתחות חסרים מה-cache
ה-liveUrl בכל session מאפשר צפייה בשידור חי בדפדפן. שימושי לדיבוג כשמשהו לא עובד.
מה מומלץ לשלוח כ-task
# ניתוח UX של אתר מתחרה"בקר ב-https://www.example-law.co.il/ ונתח: (1) מבנה הניווט ומסע משתמש, (2) ה-hero — כותרת, CTA, תמונות, (3) trust signals — ביקורות, ניסיון, תעודות, (4) האם יש מחשבון/כלי אינטראקטיבי, (5) כתוב 3 המלצות שיפור. כתוב ב-Markdown."# בדיקת redirect"בקר ב-https://thelaw.co.il/old-url/ ובדוק לאן מגיעים אחרי כל ה-redirects. דווח על ה-URL הסופי וסטטוס HTTP."# smoke test פשוט"Navigate to https://example.com and return the H1 text"
זהירות: thelaw.co.il הוא read-only מוחלט — לא ללחוץ על שום כפתור שמשנה state (טפסים, login, wp-admin).
התקנה במחשב חדש — שחזור מלא
סקציה זו מספיקה לשחזור מלא של כל סביבת browser-use במחשב חדש, בלי להיכנס למחשב הנוכחי. כל מה שצריך נמצא כאן.
דרישות מוקדמות
Python 3.13+ — הגרסה שנדרשת לתאימות browser-use 0.12.x. במכונה הנוכחית: C:\Users\nadav\tools\python-3.13\python.exe. במחשב חדש — אפשר לנסות python --version; אם הגרסה נמוכה, להתקין מ-python.org/downloads.
Z.AI API Key — ZAI_API_KEY. הערך הנוכחי שמור ב-~/.secrets/cloudflare-kv.env (מחשב נדב) וב-Cloudflare KV תחת namespace spark-secrets (ראה חלק א׳). להוציא key חדש: z.ai → הרשמה → API Keys.
pip install playwright — מתקין את ה-Python bindings לדפדפנים
playwright install chromium — מוריד את Chromium (~179MB) לתיקיית Playwright הלוקלית. חד פעמי.
שלב 2 — קונפיגורציית LLM: Z.AI / glm-5.1
למה glm-5.1 ולא Claude / GPT? browser-use שולח screenshot בכל צעד — חייב מודל עם vision support. glm-5.1 תומך ב-vision, עולה פחות מ-GPT-4o, מהיר, ואומת על עשרות tasks מ-thelaw. GLM-4.x — לא תומך ב-vision → שגיאה 400.
להוציא ZAI_API_KEY:z.ai → הרשמה → "API Keys" → צור key חדש. איפה לשים: צור קובץ ~/.secrets/cloudflare-kv.env ובו שורה:
# קובץ: ~/.secrets/cloudflare-kv.envZAI_API_KEY=הכנס-כאן-את-המפתח-שלךCF_API_TOKEN=...# נדרש לגישה ל-BU Cloud (ראה חלק א׳)CF_ACCOUNT_ID=5bf57396a7de9b1331d2ed6093af01c9
שלב 3 — דוגמת קוד מינימלית (smoke test)
שמור בקובץ test_bu.py והרץ:
# test_bu.py — smoke test ל-browser-use OSS
import asyncio, sys, io
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8', errors='replace')
from browser_use import Agent, ChatOpenAI
ZAI_API_KEY = "הכנס-כאן-את-המפתח-שלך"# או קרא מ-env: os.getenv("ZAI_API_KEY")
llm = ChatOpenAI(
model="glm-5.1", # glm-5.1 — vision support, זול, מהיר
api_key=ZAI_API_KEY,
base_url="https://api.z.ai/api/paas/v4/",
add_schema_to_system_prompt=True, # GLM מחזיר JSON בתוך markdown
dont_force_structured_output=True, # GLM לא תומך ב-response_format=json_schema
max_completion_tokens=None, # GLM מכיר max_tokens, לא max_completion_tokens
)
async def main():
agent = Agent(task="Go to https://example.com and return the exact text of the H1 heading.", llm=llm)
result = await agent.run()
print(result.final_result())
asyncio.run(main())
# הרצה ב-PowerShell$env:PYTHONIOENCODING="utf-8"&"C:\Users\nadav\tools\python-3.13\python.exe" test_bu.py
# תוצאה צפויה: "Example Domain"
תוצאה של smoke test מוצלח: הפלט יכיל "Example Domain" לאחר ~5-10 שניות. אם מוצלח — כל הסביבה עובדת.