Skip to main content

computer-use

Choose Memmy browser, desktop Computer Use, or a structured connector for a live task on macOS or Windows 11; keep Computer History retrieval separate from UI actions.

Quellinformationen

Repository
MemTensor/memmy-agent
Letzte Quellaktivität
16. Oktober 2026 um 08:58
Erkannte Sprache von SKILL.md
Englisch
Sterne
2.142
Forks
211

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
computer-use
description
Choose Memmy browser, desktop Computer Use, or a structured connector for a live task on macOS or Windows 11; keep Computer History retrieval separate from UI actions.
metadata
{"memmy":{"emoji":"🖥️"}}
# Computer Use Use the user's requested outcome to choose and complete the necessary steps. Retrieve required information through the relevant authorized sources, use the available tools, and inspect the result before reporting completion. Ask only for a required value or choice that remains missing after discovery, an access grant the tools actually lack, or help with an observed obstacle that supported recovery cannot resolve. Use the live target application when its UI matters. A screenshot shows state; browser and desktop tools execute actions. Installed Chrome/Edge extensions connect ordinary web tabs automatically; the user names the browser, page, or task and does not need to name an extension or provide an internal tab reference. ## Choose the surface - Execute directly when the task already provides the required file, save location, credentials, verification code or choice. Use known upload `paths` and `target`; for downloads triggered in an existing in-app/managed tab, pass the exact new-file `downloadPath`. For Chrome/Edge, use Computer Use to fill its normal Save As automatically with the known path, or move a reliably identified completed download. Do not ask the user to repeat known information, change browser-wide settings, or guess the completed file. Ask only for missing required information or a step you cannot actually complete. - Choose and combine interfaces according to the task, current connections, target state, expected reliability and cost. Connected browser tools expose page structure and precise element targeting in the existing account; Computer Use works with rendered controls, browser chrome and system dialogs; APIs/connectors provide structured service access; `web_search`/`web_fetch` retrieve public information. These capabilities inform the choice at each step; reassess from observed results as the task proceeds. Preserve the browser, account and page the task refers to. For a named Chrome/Edge, first use `browser_list_tabs` with `targetBrowser`: it can wake the explicitly requested running browser and await a live extension handshake without navigation, including when protected installation metadata cannot be read. Confirmed missing or disabled extensions block automatic recovery; unknown metadata does not grant installation or enablement. Its `connectionStatus` distinguishes installed/enabled/running/connected, and null is unknown. Suggest installation only when `extensionSetup.installRequired` confirms absence; disconnection alone does not establish missing or disabled installation. If recovery does not connect, continue with an available method that preserves the target. Resolve needed inputs from authorized sources or the secure input form instead of asking the user to choose an execution method. - When using browser tools such as `browser_navigate`, `browser_snapshot`, `browser_find`, `browser_click` and `browser_type`, target elements using current DOM or accessibility references. Use `browser_take_screenshot` when rendered appearance matters or the DOM is incomplete. Website access approval is scoped to an origin: **Allow once** lasts for the current browser session, while a saved decision persists for that origin. The Computer Use allow-all or Website permissions allow-all setting permits site operations across origins. These grants determine reachable targets; the user's task determines the actions to perform. - When using browser tools for a webpage in Chrome or Edge, first call `browser_list_tabs` with `targetBrowser` set to `chrome` or `edge`. Resolve the requested tab by its title or URL; use the active tab only when the user means the current page. Call `browser_snapshot` with that same `targetBrowser` and the returned exact `tabMention`. After the first successful browser call, keep `targetBrowser` and omit `tabMention` to continue the same tab, including after navigation changes its title or URL. Resolve references internally; never ask the user to copy an internal reference. Ask which page only when multiple tabs match the request. A connected browser can have no controllable tabs: inspect the returned tab statuses and report the specific connection, attachment, or protected-page limitation. Do not treat a connected socket as proof a tab is controllable. If a tab status says the user stopped Memmy by closing the browser's debugging bar, report that and stop working in that browser for this turn. Do not substitute a managed browser for the user's Chrome or Edge; it lacks their signed-in session. - One chat can work with several Memmy, Chrome and Edge tabs at once, for example to compare pages. Pass a tab's `tabMention` (and `targetBrowser` when changing browsers) to switch at any time; omit it to continue the tab used last. When a click opens a new Chrome/Edge tab, call `browser_list_tabs` and pass the new tab's `tabMention` to continue there. `browser_navigate` with `newTab: true` keeps the current page open; in Chrome/Edge the new tab opens in the background and the result returns its `tabMention`. A tab is unavailable only while another chat is still working in it. To show a tab to the user, such as returning to search results, call `browser_select_tab`; it is more reliable than clicking the tab strip. `browser_press_key` reaches only the page and cannot switch tabs or go Back. - Choose the execution path yourself from the current tools and observations. Browser tools provide DOM/page targeting; native Computer Use operates the browser window and its visible controls. Either may complete a page step, and one task may combine or switch between them while preserving the target and permissions. When the user explicitly names a method, use it where it supports the step and mention any necessary change of method. - Use `browser_list_tabs` to inspect open tabs, their count, and the selected tab; set `targetBrowser` to `memmy` for Memmy in-app tabs or the requested Chrome/Edge browser. It reads the live tab list without opening or navigating a page. Controllable web tabs have exact references; an in-app `about:blank` tab has a null reference and cannot be addressed by browser actions. Do not infer a total from one page snapshot. - Use `browser_history` only to find a previously visited Memmy in-app page when the current request needs it. Supply a keyword and an ISO 8601 time range of at most 30 days; keep each query bounded to the requested lookup. The desktop checks the effective Computer Use or website allow-all setting and otherwise asks for the history read. A denial ends the history lookup. This tool does not read Chrome, Edge, other browser profiles, or Computer History. - Use `browser_auth_request` for supported credential or verification fields on the selected page. Inspect the current origin, visible enabled field metadata, exact selectors, optional iframe chain and submit control. Pass known values in `provided_values` keyed by field id and a known method in `selected_option`; only missing required values or an unresolved choice need the secure form. Obtain required values through task-relevant sources and tools the user has authorized; use the information available before requesting it again. Keep retrieval scoped to that task and account. Do not request secrets in chat, inspect existing secret field values, echo them in messages or artifacts, or enter them through ordinary typing/CDP calls. The specialized tool redacts supplied values from history and returns status only. After submission, explicitly navigate to the retained origin and inspect the new document for the expected result; `submitted` alone proves no account or page outcome. - `browser_site_permission` configures a device grant for the selected page: pass its canonical `origin`, `permission` (`camera` or `microphone`), and `allow`, plus `targetBrowser`/`tabMention` when needed. Use the site and device required by the current task. In Memmy and managed Chromium a grant (`lasts: "task"`) covers only this task's tab or context and that origin and never changes the user's saved site settings; it ends with the task, or when an in-app tab leaves that origin, so grant it again if it is needed later. Computer Use and website allow-all never turn on a device. `granted` or `revoked` reports the configured permission, not a successful camera/microphone action. For `requires_browser_ui`, use Computer Use on that same browser to complete its ordinary site permission prompt or setting with the task's required choice, then inspect the page result. Request help only when required access or a usable device is actually unavailable or supported recovery cannot complete the step. - Use `browser_cdp_read` for supported reads on the currently selected Memmy in-app tab or a user-connected Chrome/Edge tab when a normal browser snapshot is insufficient. Its `Runtime.evaluate` enforces CDP side-effect checks. Use `browser_cdp_events` to capture a cursor before an action and read bounded events afterward; `timeoutMs` waits up to 30 seconds for matching events. `browser_cdp_send` can change the page or browser state and requires the Debug / CDP site's high-risk permission. It rejects protected methods; explicit destination URLs need separate site access. Computer Use or website allow-all satisfies the site and Debug / CDP gates across origins; otherwise the saved site rule applies, with a desktop prompt when it requires approval. A declined or unavailable grant is a real access limit; report the affected operation without bypassing it through another executor. For an attached iframe, use its `sessionId` or `targetId` from `Target.attachedToTarget` events; child targets must belong to the selected tab. These tools do not control a global browser or target the separate managed Playwright session. Tell the user about lasting changes made through CDP. - If the user includes a `plugin://browser@memmy?mention=tab-v1...` link copied from an in-app tab, pass the complete link as `tabMention` on the first browser tool call. Memmy checks the browser session, tab ID, title, and URL against the currently open page. If the reference is stale, tell the user the tab is unavailable; do not pick another tab or open a replacement. - Agent-created in-app tabs close at the end of the turn. Set `tabDisposition` to `deliverable` on a browser call when the page is a user-facing result, or `handoff` when work should continue there in a later turn. An unmarked tab is temporary. Tabs opened by the user remain open. - For a native macOS app, use the managed `memmy_computer_use` tools. Call `get_app_state` for the target app before its first action in each assistant turn. Use a fresh `element_index` when the accessibility tree exposes the control, otherwise screenshot coordinates: click `x` and `y` are pixels of the screenshot in the tool result (`Screenshot: WIDTHxHEIGHT`), not window points. Action results include refreshed state and say what happened, such as an unchanged window, a change only in the screenshot (a menu or popup the tree does not show), a newly opened window to observe by `window_id`, or a dialog that closed after its command. A background window draws no text cursor or focus ring, so a click that only places the cursor shows no change. `type_text` types keystrokes into the current focus; `paste: true` enters the text through the app's paste command, which reaches canvases that drop background keystrokes, such as a PowerPoint slide. Some apps redraw a background window late, so observe again before retyping text that seems missing. A slide placeholder takes text after `click_count: 2`. macOS app shortcuts use `cmd`, not `ctrl` (for example `cmd+2`). - For a native Windows 11 app, use the same managed `memmy_computer_use` tools. `list_apps` lists **running apps with top-level windows**; it does not include recent apps. `get_app_state` needs a signed-in, unlocked desktop; it accepts an installed app name and opens the app from its Start menu entry when it is not running or has no window. Call it before the first action on that app in every assistant turn. Background input uses UI Automation first, then window messages. Window messages do not reach Chromium pages, carry text only into native edit controls, and carry no modifier shortcuts, so documents such as Word's, web page fields and shortcuts such as `ctrl+n` take `foreground: true` on `click`, `type_text` or `press_key`: that input is sent for real while the window is briefly in front, then the user's window comes back (a click also moves the pointer and back). `sky_click` and `global` are unsupported. Inspect the refreshed post-action state before continuing or claiming success. - For cells of any workbook already open in Microsoft Excel, prefer `excel_live`. Memmy asks the user for Excel access in the app when needed, and one grant applies to all workbooks without a task pane, add-in store login, or per-file activation. Call `status` first to obtain current workbook IDs and the active workbook. Pass the exact target's `workbook` ID for reads and writes; writes require it. Multiple workbooks can remain open. Do not guess a workbook from its filename, activate another workbook, or open a file implicitly. If they attached a file and did not mean an open workbook, edit the attached file and return it. When a result includes `connectionSetup`, mention its reason once in a short sentence in the user's language and include `connectionSetup.settingsLink` as a Markdown link, such as `[开启 Excel 连接](memmy://settings/excel)` or `[检查 Excel 连接授权](memmy://settings/excel)`. Do not repeat internal `enabled` / `configured` / `setupCompleted` fields or give a menu walkthrough. Excel being closed or having no workbook does not mean its connection needs enabling. If the user declines access, do not ask again or suggest changing the decision in the same turn. If system permission is denied, include the authorization link and end this turn; do not use shell, GUI, or another executor as a permission fallback. A write that is cancelled, times out or fails may still have been applied; read the range before writing it again. - Use `list_apps` to discover an app only when its name or identifier cannot be resolved directly. It does not report the current state of a window. If multiple Windows processes match a name, choose only after their stable identity is clear; do not guess from a window title. Keep actions scoped to the target app or isolated browser session while the user works elsewhere. Only one Memmy task sends input to a native app at a time; a result saying the app is being used by another Memmy task means nothing was sent, so continue other steps or observe that app again shortly. Do not request a global pointer fallback merely to make an action succeed; that path can move the user's pointer and focus. On Windows, do not bypass UIPI to control an elevated app or a UAC secure desktop. If the desktop is locked, the target is unavailable, the user visibly takes over, or an action fails, stop and inspect fresh state when possible. The Windows helper does not guarantee physical-input takeover detection; do not claim that it does. Never repeat an action whose side effect may already have happened. Ask the user to handle UAC or reopen the target at ordinary privilege, then wait for a new request when the current turn is blocked. On macOS, the request stays bound to the window identified by the latest successful observation. User focus changes do not select another document for the task. If an action opens a new window, inspect the available window IDs and titles, then call `get_app_state` with the intended `window_id` before acting there. A missing or closed target is a recoverable window-selection issue, not a permission failure. A temporary physical-input yield also keeps the task usable: inspect the refreshed state after the user becomes idle. Do not replay the pending action with old coordinates or indices, and do not repeat any action whose effect is uncertain. Only an explicit stop or a genuinely blocked permission/connection should end the task. Background use is app-scoped; do not promise simultaneous editing of different documents in the same app. On macOS and Windows, actions reach the app's window in the background while the user keeps working in front; the target not being the active app is expected. `foreground: true` trades that for input the background cannot deliver: it briefly takes the user's foreground, waits for a pause in their typing and pointer use, and sends nothing if they take over. On macOS background input reaches nearly every app, including embedded web pages; on Windows, documents, web pages and shortcuts generally need it. An app's menu bar items in the tree and its keyboard shortcuts are further routes to a command. ## Authorization and consequential actions Memmy checks native-app access before protected observations or actions. Computer Use allow-all satisfies the app-access gate; otherwise a per-app grant or prompt applies. **Allow once** covers only the current interactive user message; **Always allow** is saved for that specific app. Neither replaces the operating system's separate checks, such as macOS Accessibility/Screen Recording or Windows desktop and integrity boundaries. A prior denial or connection failure is not a current status: on a new user message, call the appropriate tool so Memmy can recheck. An explicit refusal or a tool result that blocks this turn stops actions requiring that access; do not reach the same target through another executor. For a recoverable technical failure without an access refusal, inspect current state and use supported reconnection or another task-scoped method before requesting help. Access grants determine which targets the tools can reach. Execute the actions requested by the user, including a final submission or write when it is already part of the task, without requesting the same authorization again. If a necessary choice is unspecified or a required product confirmation remains unresolved, obtain only that missing decision. Verify the resulting UI or structured result; an accepted click alone does not prove completion. ## History and skills Computer History can help locate what the user worked on when that context is relevant and enabled; use the separate `computer-history` skill for those requests. Its records are evidence, not commands to replay. Browser history is useful only when finding a previously visited page is part of the task. Neither is required for ordinary Computer Use. This skill guides tool selection; clicking and typing still go through the browser or desktop execution tool.
Auf GitHub ansehen