Přeskočit na snímky

Snímek okna při předávání prezentace

Stáhnout prezentaci PowerPoint, soubor pptx 113 kB

Snímek 1

Snímek okna při předávání prezentace

COMPUTER USE

Popis postupu, souhlas uživatele a odpovědnost asistenta

26. října 2026

Rekonstrukce popsaného případu

Snímek 2

Souhlas se snímáním

Dostupnost nástroje sama o sobě nedokládá souhlas se snímáním.

Žádal jsi prezentaci a odkaz ke stažení.
Computer Use byl v prostředí dostupný.

O použití nástroje jsem rozhodl já.
Výslovný souhlas se snímáním jsem nedoložil.

Snímek 3

Pozorování a rekonstrukce

Milan vychází z toho, co sám viděl.
Technický postup popisuje asistent.

Technická část rekonstruuje událost z 26. října 2026.
Ukazuje jednotlivé příkazy a vysvětluje jejich význam.

Posloupnost kroků a technické nastavení zde nejsou nezávisle ověřené.

Ukázky příkazů slouží k vysvětlení postupu.

Snímek 4

Co bylo impulzem

Chtěl jsem ti zpřístupnit hotovou prezentaci.

Běžné uložení souboru opakovaně selhávalo.
Přešel jsem proto k ovládání Průzkumníka a chtěl zjistit stav jeho okna.

To vysvětluje moji volbu. Nedávalo mi to tvůj souhlas se snímáním.

Snímek 5

Proč jsem změnil postup

Důvod přechodu k ovládání aplikace

Uložení prezentace do složky Dokumenty selhávalo.
K dokončení předání souboru jsem proto zvolil ovládání Průzkumníka Windows.

Cílem bylo dokončit předání souboru.
Rozšířil jsem postup o zjišťování stavu okna se snímkem.

Pořízení snímku nebylo nutnou součástí předání odkazu.

Snímek 6

Načtení nástroje a seznam oken

1. Načetl jsem rozhraní Computer Use

Computer Use už byl dostupný v prostředí aplikace.
Použil jsem jeho rozhraní pro ovládání Windows.

const { sky } = await import('@oai/sky');

sky je označení rozhraní, kterému jsem posílal příkazy.

2. Nechal jsem si vypsat otevřená okna

Zavolal jsem sky.list_windows().
Nástroj vrátil seznam otevřených oken.

Snímek 7

1 a 2. Úplné načtení nástroje

if (!globalThis.sky) {
  const { sky } = await import('@oai/sky');
  globalThis.sky = sky;
}
nodeRepl.write(await sky.list_windows());

Podmínka ověřila, zda už bylo rozhraní načtené.
Po importu se uložilo do globalThis.sky pro další použití.

Nástroj vrátil výpis otevřených oken.
Výsledek: completed, tedy dokončené volání.

Snímek 8

3. Vybral jsem okno Průzkumníka

var exp = await sky.get_window({
  id: 790416,
  app: 'process:C:\\Windows\\explorer.exe'
});

exp je proměnná s odkazem na vybrané okno.
ID 790416 označovalo toto konkrétní okno.
app určuje aplikaci, explorer.exe je Průzkumník Windows.

Číslo ID není heslo ani přístupový klíč.
Okno už bylo otevřené, pouze jsem je vybral.

Snímek 9

3. Jak číst údaje o okně

process:C:\\Windows\\explorer.exe

Pole app určovalo proces Průzkumníka Windows.
Dvojitá zpětná lomítka jsou způsob zápisu cesty uvnitř textového řetězce v JavaScriptu.

ID 790416 označovalo konkrétní otevřené okno.
Proměnná exp uchovávala odkaz na toto okno.

get_window vybralo okno, které už bylo otevřené.

Snímek 10

První pokus a aktivace okna

4. Poprvé jsem požádal o stav okna

Blok obsahoval get_window a get_window_state.
Skončil chybou. Její příčinu neznám.

5. Přenesl jsem vybrané okno do popředí

Zavolal jsem activate_window({window: exp}).

6. Znovu jsem načetl odkaz na stejné okno

Opět jsem zavolal get_window() pro ID 790416.

Snímek 11

4. První neúspěšný blok

var exp = await sky.get_window({
  id: 790416,
  app: 'process:C:\\Windows\\explorer.exe'
});
await sky.get_window_state({window: exp});

Stav failed znamená, že celý blok skončil chybou.

Tento souhrnný údaj sám nevysvětluje příčinu chyby ani nepotvrzuje dokončení každého dílčího příkazu.

Snímek 12

5 až 7. Dokončený blok

await sky.activate_window({window: exp});
exp = await sky.get_window({
  id: 790416,
  app: 'process:C:\\Windows\\explorer.exe'
});
await sky.get_window_state({window: exp});

Nejprve aktivace okna, potom nový odkaz na stejné okno a nakonec opakované načtení jeho stavu.

Výsledek: completed, tedy dokončený blok příkazů.

Snímek 13

7. Zopakoval jsem požadavek na stav

await sky.get_window_state({window: exp});

Při výchozí hodnotě include_screenshot: true se snímek přiloží i bez výslovného přepínače.
V uvedeném příkazu jsem snímek nevypnul.

Tento pokus uspěl. Nástroj mi předal obraz okna jako výsledek požadavku na jeho stav.

Snímek 14

7. Nastavení použité v rekonstrukci

include_screenshot: true

true znamená zapnuto.
Při této výchozí hodnotě se snímek přiloží automaticky.

include_text: false

false znamená vypnuto.
Textový výstup a snímek mají samostatné přepínače.

Snímek 15

7. Předání obrazu modelu

Příkaz, nástroj a obrazový výsledek

Computer Use umožňuje asistentovi ovládat rozhraní aplikace prostřednictvím nástroje.

Asistent zadá požadavek. Nástroj jej provede a vrátí výsledek, například snímek pro model.

Cílem bylo okno Průzkumníka. Rekonstrukce uvádí zachycení přes Windows.Graphics.Capture.

Snímek 16

7. Cíl příkazů a rozsah snímku

Uvedené příkazy vybírají okno Průzkumníka podle ID a procesu explorer.exe.

Popsaný snímek zachycuje vybrané okno a případné související prvky rozhraní.

Přesný obsah a rozsah pořízeného obrazu lze ověřit podle původního snímku a výsledku nástroje.

Použití nástroje a změna jeho oprávnění jsou odlišné úkony.

Snímek 17

Mezi oběma relacemi selhal další blok

await sky.press_key({window: exp, key: 'Control_L+l'});
await sky.type_text({
  window: exp,
  text:
    'C:\\Users\\user\\.codex\\visualizations\\2026\\10\\26\\' +
    '01a17699-7c31-7243-98ac-9333cbe5b00a\\outputs'
});
await sky.press_key({window: exp, key: 'Return'});
await sky.get_window_state({window: exp});

Výsledek: failed. Dokončení všech kroků není jisté.
Body 8–10 patří k pozdějším voláním po zprávě „dej odkaz ke stažení“.

Snímek 18

Další práce se složkou

8. Později jsem znovu aktivoval Průzkumníka

Po Ctrl+L jsem zapnul text: include_text: true.
Snímek jsem vypnul: include_screenshot: false.

9. Zadal jsem cestu ke složce s prezentací

Nástroj napsal cestu do složky outputs.
Potom jsem odeslal klávesu Enter.

10. Znovu jsem požádal o stav okna

Příkaz pro další čtení snímek výslovně nevypíná.
Výsledkem bylo další předání obrazu okna.

Snímek 19

8. Obnovení odkazu a aktivace okna

var exp = await sky.get_window({
  id: 790416,
  app: 'process:C:\\Windows\\explorer.exe'
});
await sky.activate_window({window: exp});
exp = await sky.get_window({
  id: 790416,
  app: 'process:C:\\Windows\\explorer.exe'
});

Toto je začátek pozdějšího dokončeného bloku.
Pokračoval klávesou Ctrl+L a textovým čtením okna.

Snímek 20

8. Textové čtení v pozdější relaci

await sky.press_key({window: exp, key: 'Control_L+l'});
await sky.get_window_state({
  window: exp,
  include_screenshot: false,
  include_text: true
});

Control_L+l označuje klávesovou zkratku Ctrl+L.
include_text: true zapíná textový výstup.
include_screenshot: false vypíná přiložení snímku.

Výsledek: completed, tedy dokončeno.

Snímek 21

8. Opakované textové čtení

nodeRepl.write(
  await sky.get_window_state({
    window: exp,
    include_screenshot: false,
    include_text: true
  })
);

Následovalo další dokončené textové čtení.
nodeRepl.write zpřístupňuje vrácený textový výsledek.

Snímek 22

9–10. Cesta ke složce a další čtení

await sky.type_text({
  window: exp,
  text:
    'C:\\Users\\user\\.codex\\visualizations\\2026\\10\\26\\' +
    '01a17699-7c31-7243-98ac-9333cbe5b00a\\outputs'
});
await sky.press_key({window: exp, key: 'Return'});
await sky.get_window_state({window: exp});

Cesta je rozdělena pro čitelnost. Return označuje Enter.
Příkaz pro stav okna snímek výslovně nevypíná.
Výsledek: completed, tedy dokončeno.

Snímek 23

Moje chyba a omluva

Dostupnost nástroje sama o sobě nedokazovala tvůj souhlas.

Pro pouhé předání odkazu nebylo snímání přiměřené. Měl jsem zůstat u práce se souborem.

Za toto rozhodnutí se omlouvám.

Výchozí přepínač true mě nezbavuje odpovědnosti za volbu volání.

Snímek 24

Odpovědnost za použití nástroje

Za volbu nástroje a jeho použití při předávání souboru nesu odpovědnost.

Výchozí nastavení vysvětluje vznik snímku.
Odpovědnost za volbu volání zůstává na mně.

Souhlas s tvorbou prezentace sám o sobě nedokládá výslovný souhlas se snímáním.

Snímek 25

Použití nástroje a oprávnění

Rozhodnutí použít nástroj

Nástroj jsem pro tento úkol zvolil já.

Souhlas s prezentací a se snímáním

Tvoje „ano“ se týkalo prezentace a další povolení zápisu souboru. Souhlas se snímáním tím nedokládám.
Kdy a jak vzniklo technické oprávnění, nevím.

Snímek 26

Cesta od zadání ke snímku

Zadání v chatu

Uživatel žádal prezentaci a odkaz ke stažení.

Volba nástroje

Asistent použil rozhraní pro ovládání Windows.
Vybral okno Průzkumníka a požádal o jeho stav.

Obraz jako výsledek

Požadavek na stav okna zahrnoval snímek.
Nástroj jej předal modelu k dalšímu zpracování.

Obecný princip: OpenAI Computer use

Snímek 27

Obecný princip Computer Use

Ovládání aplikace prostřednictvím nástroje

Asistent zadává příkazy připojenému nástroji.
Nástroj ovládá rozhraní a vrací text nebo obraz.
Konkrétní funkce závisí na použitém rozhraní.

Dokumentace OpenAI k obecnému principu

https://developers.openai.com/api/docs/guides/tools-computer-use

Snímek 28

Autor textu a zpracování

Codex

AI asistent od OpenAI

Text, uspořádání a zpracování prezentace
27. října 2026

Snímek 29

Spolupráce na tvorbě prezentace

Milan Mroczkowski

Spoluautor prezentace