Use the standalone camofox-browser server directly over HTTP.
Default assumptions for this workspace:
http://127.0.0.1:9377userId is mandatory on nearly every useful request.sessionKey (or legacy listItemId) groups tabs; default to default./health./tabs./tabs/:tabId/wait./tabs/:tabId/snapshot and read refs./click, /type, /press, /scroll, or /navigate.Prefer this loop over HTML scraping.
userId.POST /tabs with sessionKey for raw server use.fill, retry with type using mode: "keyboard"./tabs returns an empty list, check whether userId was omitted.Read references/api-cheatsheet.md when you need request/response shapes.
Most-used endpoints:
GET /healthPOST /tabsGET /tabs?userId=...POST /tabs/:tabId/waitGET /tabs/:tabId/snapshot?userId=...POST /tabs/:tabId/clickPOST /tabs/:tabId/typePOST /tabs/:tabId/pressPOST /tabs/:tabId/scrollPOST /tabs/:tabId/navigatePOST /tabs/:tabId/evaluatePOST /sessions/:userId/cookiesGET /sessions/:userId/storage_stateUse scripts/camofox.py instead of rewriting raw HTTP every time.
Examples:
python3 skills/camofox-browser-control/scripts/camofox.py health
python3 skills/camofox-browser-control/scripts/camofox.py open --user lotfi --session default --url https://github.com
python3 skills/camofox-browser-control/scripts/camofox.py snapshot --user lotfi --tab <tabId>
python3 skills/camofox-browser-control/scripts/camofox.py click --user lotfi --tab <tabId> --ref e17
python3 skills/camofox-browser-control/scripts/camofox.py type --user lotfi --tab <tabId> --ref e2 --text 'hello' --mode fill
python3 skills/camofox-browser-control/scripts/camofox.py type --user lotfi --tab <tabId> --text '97304' --mode keyboard --submit
python3 skills/camofox-browser-control/scripts/camofox.py navigate --user lotfi --tab <tabId> --url https://example.com
GET /tabs without userId can misleadingly show no tabs even when tabs exist.click already retries normal click, force click, and mouse sequence; success does not guarantee the frontend changed the state you expect, so verify with a fresh snapshot.mode: "keyboard" plus --submit when fill does not trigger app logic.For normal forms:
For stubborn auth:
storage_stateFor cookie bootstrap:
/sessions/:userId/cookiesCAMOFOX_API_KEYUse /tabs/:tabId/evaluate only when refs/typing/clicking are insufficient. Keep expressions small and targeted.
The current host already has a live server on 127.0.0.1:9377, with VNC/noVNC exposed by the container. Treat that as the default target unless the task says otherwise.
共 1 个版本