foxygit / RPA-Remisser Log in
commits tags

/TODO.md · 3.54 KB

raw

Status

  • Fas 1 (AI-koppling) – klar. MCP-server (rpa/mcp_server.py),

    NL-till-flöde (rpa/assist.py + "AI-assistent"-panelen i webui:t), och gemensamt stegschema (rpa/schema.py – auktoritativ källa som webui, MCP och assist alla använder). Se README-avsnittet "AI".

  • Fas 2 (n8n-likt UI) – klar. webui/frontend/ (Vite + React +

    React Flow), byggd till webui/static/ (incheckad). Node-canvas, stegfält renderas från /api/step-schema. Hybrid: flödet lagras oförändrat som nästlad {steps}-lista; webui/frontend/src/lib/graph.ts är sömmen mot en framtida äkta-DAG (loop/if redigeras just nu inuti sin nod, inte som egna canvas-noder; fri kabeldragning saknas medvetet). layout-nyckeln i flödet = frivilliga nodpositioner.

  • Fas 3 (desktop-automation, Windows) – klar. rpa/desktop.py

    (pywinauto UIA + pyautogui bild/koordinat, lat import), 12 desktop_*-steg i rpa/schema.py + flow_engine._DESKTOP_STEPS/_execute_desktop_step. run_flow håller en lat DesktopSession vid sidan av page; startade appar städas enligt close-mode. rpa/desktop_inspect.py för att hitta selectors. Syns i MCP/assist/UI via schemat. Se README "Desktop-automation".


  • Kör-parametrar / indata-variabler + värde-set – klart. Flödet kan

    deklarera inputs (namn/etikett/default/options/beskrivning) och spara input_sets (presets). RunDialog/InputsEditor-komponenter; ⚙-menyn har "Kör-parametrar / indata"; "Kör flöde" öppnar dialogen automatiskt om flödet har inputs/set. flow_engine.run_flow(..., initial_vars=...) seedar variabellagret. Stöds av MCP (run_flow(input_set=...)) och exporterade script (--set/--var).

Möjliga uppföljningar

  • skip_browser – klar. Flöden utan webbläsarsteg startar ingen

    webbläsare (auto-detektering via flow_engine._flow_needs_browser, eller tvingat via inställningen skip_browser). wait använder nu time.sleep i stället för page.wait_for_timeout.

  • Bild-verktyg för desktop – klart. rpa/desktop_capture.py (tkinter-

    overlay + PIL ImageGrab) + 📷 Fånga-knapp i desktop_*_image-stegen (endpoints /api/desktop-images*, ImageField-komponenten).

  • **UI: ⚙-meny, fönster-inspektör, palett med drag-and-drop, block-bibliotek

    – klart.** Headern bantad; Menu/Palette/InspectDialog-komponenter; rpa/blocks.py (+ blocks/-exempel, /api/blocks*, MCP list_blocks/ get_block); rpa/desktop_inspect.py refaktorerad till list_windows()/ inspect_window() (+ /api/desktop/windows|inspect); dra steg till canvasen eller in i loop/if-kropp (stepops.appendToContainer).

  • Startkontroll i run_webui.py – klar. Vägrar starta om porten redan

    används (visar PID), --force dödar den gamla instansen och tar över, --port N.

  • Äkta grafmotor / fri kabeldragning i UI:t – sömmen finns i

    webui/frontend/src/lib/graph.ts (se kommentaren där).

  • Fler desktop-steg vid behov – t.ex. desktop_drag, desktop_menu_select,

    OCR-läsning. Lägg i rpa/schema.py + flow_engine._execute_desktop_step.

  • Ta AI-funktionerna i bruk – ANTHROPIC_API_KEY är inte satt; assist +

    MCP-servern är obeprövade mot en riktig modell.

  • CI – kör pytest + vitest + npm run build vid push.

Ursprungliga TODO-punkter 2 (kör custom python mellan steg) och 3 (headless) är redan lösta av run_script-steget respektive headless-inställningen.