Loading...
Loading...
All 85 tools available to WindOp, organized by 18 categories. WindOp auto-selects the right tool based on your request — you never need to call these directly.
Execute commands across PowerShell, CMD, and WSL with auto-detection. Run foreground or background processes with full lifecycle management.
execRun shell commands with auto-detected shell. Shell detection: CMD syntax → CMD, PowerShell syntax → PS, neutral commands (npm/git/python) → PS, shell: "wsl" → Linux. Supports background mode for servers and long-running tasks.
command (string), background (bool), timeout (number), workdir (string), shell (string)
exec("Get-Process | Sort-Object CPU -Descending | Select-Object -First 10")processManage background processes started with exec. List running processes, poll for new output, wait for completion, kill, or write to stdin.
action (list|poll|wait|kill|log|write|submit|close), session_id (string), data (string), timeout (number)
process({ action: "poll", session_id: "bg_1" })write_wsl_fileWrite files directly into the WSL filesystem with proper Windows-to-Linux path translation. Avoids shell-escaping issues with heredocs and echo.
path (string), content (string), distro (string), executable (bool)
write_wsl_file("/home/user/script.sh", "#!/bin/bash\necho hello", executable: true)Full read/write/edit access to your Windows filesystem with smart fuzzy editing, ripgrep-grade search, checkpoints, and native file dialogs.
read_fileRead file contents with line numbers and pagination. Supports partial reads with offset/limit for large files.
path (string), offset (number, 1-indexed), limit (number, default 500)
read_file("C:/Users/me/project/src/main.ts", offset: 50, limit: 100)write_fileCreate or overwrite files with full content. Auto-creates parent directories. Auto-runs syntax checks on .py, .json, .yaml, .toml files.
path (string), content (string)
write_file("config.json", "{\n \"port\": 3000\n}")edit_fileTargeted edits using fuzzy matching (9 strategies). Supports find+replace, multi-edit batches, line-range mode, and replace-all. Auto-runs syntax checks after editing.
path (string), old_string (string), new_string (string), replace_all (bool)
edit_file("src/app.ts", old_string: "const x = 1", new_string: "const x = 2")search_in_fileSearch for text within a single file. Returns matching lines with surrounding context. Use before read_file on large files to find exact line numbers.
path (string), query (string), context (number)
search_in_file("src/main.ts", "handleClick")list_directoryList files and directories sorted by modification time. Supports recursive listing, glob filtering, and depth control.
path (string), recursive (bool), pattern (string), depth (number)
list_directory("C:/Users/me/project", recursive: true, pattern: "*.ts")search_filesRipgrep-grade search across files in a directory tree. Supports regex patterns, glob filtering, context lines, and multiple output modes.
pattern (regex string), path (string), file_glob (string), context (number), output_mode (content|files_only|count), max_results (number)
search_files("TODO|\bfix\b", path: "src/", file_glob: "*.ts", context: 2)create_directoryCreate an empty directory. Idempotent — does not error if the directory already exists.
path (string)
create_directory("C:/Users/me/project/src/components")create_fileCreate a new file with content. Fails if the file already exists — use write_file to overwrite.
path (string), content (string)
create_file("src/utils.ts", "export const greet = (name: string) => \`Hello, ${name}!`")append_fileAppend text to the end of an existing file. Creates the file if it does not exist.
path (string), content (string)
append_file("notes.md", "\n## New Section\nAdded content.")delete_fileDelete a file with automatic backup before removal. Accidental deletions can be recovered via restore_file.
path (string)
delete_file("C:/Users/me/project/old-config.json")move_fileMove or rename files and directories. Auto-creates destination directories.
source (string), destination (string)
move_file("src/old-name.ts", "src/new-name.ts")copy_fileCopy files to a new location. Auto-creates destination directories.
source (string), destination (string)
copy_file("config.json", "config.backup.json")restore_fileRestore a file from its most recent backup created by delete_file or edit_file.
path (string)
restore_file("src/old-config.json")list_file_backupsList available backups for a file. Shows timestamps and sizes of each backup.
path (string)
list_file_backups("src/main.ts")open_file_dialogOpen a native Windows file picker dialog for user file selection. Supports file type filters and multi-select.
filters (array of {name, extensions}), multiple (bool)
open_file_dialog(filters: [{ name: "Images", extensions: ["png", "jpg"] }])save_file_dialogOpen a native Windows save dialog for choosing save locations and file names.
default_name (string), filters (array, optional)
save_file_dialog(default_name: "report.pdf")
checkpoint_managerCreate, list, diff, or restore filesystem checkpoints for safe rollback. Snapshots file state before risky operations.
action (create|list|diff|restore), paths (array), id (string)
checkpoint_manager({ action: "create", paths: ["src/", "config.json"] })Search the web, fetch and extract page content, and maintain a local documentation library for offline reference.
web_searchSearch the web and return structured results with titles, URLs, and snippets. Use for up-to-date external information.
query (string), maxResults (number)
web_search("how to configure Tailwind CSS v4")read_webpageFetch and extract webpage content as LLM-optimized structured text. Automatically strips ads, navigation, and clutter.
url (string)
read_webpage("https://blog.example.com/article")fetch_webpageFetch raw webpage content without extraction. Returns the full HTML response.
url (string)
fetch_webpage("https://api.example.com/data")open_urlOpen a URL in the system default browser or a local file in its default application.
url (string)
open_url("https://windop.app")download_fileDownload a file from a URL to a local path. Supports progress tracking for large files.
url (string), destination (string)
download_file("https://example.com/data.csv", "downloads/data.csv")search_librarySearch the local documentation library using semantic/vector search. Returns relevant pages from previously crawled sources.
query (string), limit (number)
search_library("React hooks useEffect cleanup")pull_library_docFetch the full content of a specific documentation page by URL from the local library.
url (string)
pull_library_doc("https://react.dev/reference/react/useEffect")list_library_sourcesList all documentation sources in the library with metadata (page count, last sync, status).
none
list_library_sources()
sync_library_sourceRe-crawl and re-index a documentation source to update the local library.
source_id (string)
sync_library_source("react-docs")create_library_sourceCreate a new documentation source in the library by providing a base URL and crawl configuration.
name (string), base_url (string), max_pages (number)
create_library_source({ name: "Next.js Docs", base_url: "https://nextjs.org/docs" })crawl_and_storeEnd-to-end documentation crawler — crawls a site, scrapes pages, and stores them in the local library.
url (string), max_pages (number), follow_links (bool)
crawl_and_store("https://docs.example.com", max_pages: 50)Controlled browser with DOM access — navigate pages, click elements, type text, and take screenshots for vision analysis.
browser_navigateOpen or navigate the controlled browser to a URL. Returns a compact page snapshot with interactive elements and ref IDs.
url (string)
browser_navigate("https://example.com")browser_snapshotGet a text-based snapshot of the current page's accessibility tree. Returns interactive elements with ref IDs for click/type actions.
full (bool, default false)
browser_snapshot(full: true)
browser_clickClick an interactive element from the latest browser snapshot by its ref ID (e.g., @e5).
ref (string, e.g. "@e5")
browser_click("@e5")browser_typeType text into an input element from the browser snapshot by ref ID. Clears the field first, then types the new text.
ref (string), text (string)
browser_type("@e3", "search query text")browser_pressPress a keyboard key in the controlled browser. Useful for submitting forms (Enter), navigating (Tab), or shortcuts.
key (string, e.g. "Enter", "Tab", "Escape")
browser_press("Enter")browser_screenshotTake a screenshot of the current browser page for vision analysis. Returns the image for visual inspection.
none
browser_screenshot()
Full Windows desktop control — screenshot capture with AI vision, mouse/keyboard automation, and application management.
computer_controlUnified desktop session tool for full-PC screen viewing and mouse/keyboard automation. Uses AI vision to understand your screen like a human would. Actions: screenshot, find_element, click, move, drag, scroll, type, key, wait, cursor_position.
action (screenshot|find_element|click|move|drag|scroll|type|key|wait|cursor_position), x/y (number), query (string), text (string), direction (up|down)
computer_control("screenshot") → computer_control("find_element", query: "Settings button") → computer_control("click", x: 450, y: 320)launch_applicationLaunch Windows applications by path or name. Auto-detects installed apps from the Start Menu and PATH.
name_or_path (string)
launch_application("notepad")AI-powered image generation, analysis, and video creation through OpenRouter's multimodal models.
generate_imageGenerate images from text prompts or edit existing images via OpenRouter. Supports multiple providers, style presets, and aspect ratios. Returns the image inline in the chat.
prompt (string), style (string), resolution (string), aspect_ratio (1:1|16:9|4:3|3:4)
generate_image("A cyberpunk cityscape at sunset, neon lights reflecting on wet streets")analyze_imageAnalyze images using vision AI. Supports single images, batches, or entire directories. Returns detailed descriptions and answers questions about the image content.
path (string), question (string)
analyze_image("screenshot.png", "What UI elements are visible?")describe_image_for_generationCreate a detailed, optimized image generation prompt from a basic idea. Expands vague descriptions into production-ready prompts.
description (string)
describe_image_for_generation("a cat wearing a top hat")list_image_modelsList available image generation models with their capabilities, supported styles, and pricing.
none
list_image_models()
generate_videoGenerate a short AI video through OpenRouter. Supports text-to-video and image-to-video modes.
prompt (string), source_image (string, optional), duration (number)
generate_video("A timelapse of a flower blooming in a garden")Convert text to natural-sounding speech audio using configurable TTS providers.
text_to_speechConvert text to speech using the configured TTS provider (Edge TTS, OpenAI, or custom). Returns an audio file that plays inline in the chat.
text (string), output_path (string, optional)
text_to_speech("Welcome to WindOp, your AI-powered desktop assistant.")Native Git operations with full staging, commit, push, and branch management. Always prefer this over exec for git commands.
gitUnified Git operations: status, log, diff, branch, add, commit, push, pull. Handles authentication, upstream tracking, and merge conflict detection.
action (status|log|diff|add|commit|push|pull|branch), files (string/array), message (string), cwd (string)
git("status") → git("commit", message: "feat: add new feature")Execute code in a sandboxed environment with support for multiple languages.
execute_codeExecute code in a sandboxed environment. Supports Python, JavaScript, TypeScript, and Bash. Returns stdout, stderr, and exit code.
language (python|javascript|typescript|bash), code (string), timeout (number)
execute_code("python", "import pandas as pd\nprint(pd.DataFrame({\"a\": [1,2,3]}).describe())")Deep Windows OS integration — registry, services, scheduled tasks, event logs, networking, updates, disk management, and Defender.
windows_registryRead, write, delete, list, and search Windows Registry keys. Full access to HKLM, HKCU, and other hives.
action (read|write|delete|list|search), key (string), value_name (string), value (string), data_type (string)
windows_registry({ action: "read", key: "HKEY_CURRENT_USER\\Software\\Microsoft\\Windows" })windows_servicesList and manage Windows services. Start, stop, restart, and inspect service status and configuration.
action (list|start|stop|restart|status), name (string), filter (string)
windows_services({ action: "list", filter: "running" })windows_task_schedulerList, create, delete, run, enable, and disable Windows Scheduled Tasks.
action (list|create|delete|run|enable|disable), task_name (string), config (object)
windows_task_scheduler({ action: "list" })windows_event_logQuery, list, and clear Windows Event Logs. Filter by log name, level, source, and time range.
action (query|list|clear), log_name (string), level (string), source (string), max_entries (number)
windows_event_log({ action: "query", log_name: "Application", level: "Error", max_entries: 20 })windows_networkRun Windows network diagnostics and Wi-Fi operations. View connections, ping hosts, manage Wi-Fi profiles, and check DNS.
action (diagnostics|wifi|connections|ping|dns), target (string), profile (string)
windows_network({ action: "diagnostics" })windows_updatesInspect and manage Windows Updates. List available updates, check update history, and trigger installations.
action (list_available|history|install), update_id (string)
windows_updates({ action: "list_available" })windows_diskInspect Windows volumes, disk usage, cleanup candidates, and defragmentation status.
action (usage|cleanup|defrag_status|volumes), drive (string)
windows_disk({ action: "usage" })windows_defenderInspect Windows Defender status, start scans, view threat history, and manage real-time protection settings.
action (status|scan|threats|settings), scan_type (quick|full|custom), path (string)
windows_defender({ action: "status" })Windows developer environment setup — detect runtimes, manage packages across 7 package managers, configure terminals, and bridge to WSL.
windows_dev_environmentDetect and provision Windows development runtimes using winget. Check for Node.js, Python, Rust, Go, Java, .NET, and more.
action (detect|install|check), runtime (string), version (string)
windows_dev_environment({ action: "detect" })windows_terminal_setupInspect and customize Windows Terminal, Oh My Posh, Starship, and Nerd Fonts. Configure profiles, themes, and prompt styling.
action (status|install|configure), component (string), config (object)
windows_terminal_setup({ action: "status" })install_packagesSmart unified package manager supporting winget, choco, scoop, npm, pip, cargo, and go. Auto-detects the right manager for the package.
manager (winget|choco|scoop|npm|pip|cargo|go), action (install|uninstall|update|search|list), package (string)
install_packages({ manager: "winget", action: "install", package: "Git.Git" })wsl_bridgeBridge between Windows and WSL Linux environments. List distros, run commands, copy files between filesystems, and manage WSL instances.
action (list_distros|run_command|copy_to_wsl|copy_from_wsl|status), command (string), source (string), destination (string), distro (string)
wsl_bridge({ action: "run_command", command: "ls -la /home", distro: "Ubuntu" })Create specialist agent teams that collaborate on complex tasks — parallel research, code review pipelines, and multi-perspective analysis.
create_teamCreate a specialist agent team with custom roles and execution mode. Supports parallel, sequential, and discussion-based execution.
id (string), members (array of role strings) or memberSpecs (array of {role, goal}), mode (parallel|sequential|discussion)
create_team("security-review", members: [{ role: "Code Reviewer" }, { role: "Security Analyst" }], mode: "parallel")run_teamExecute a previously created team on a task. The supervisor coordinates members, collects results, and synthesizes a final answer.
id (string), task (string)
run_team("security-review", task: "Review src/auth.ts for security issues")create_group_chatCreate a group chat with specialist agents for multi-turn discussion. Agents can respond to each other, building on previous messages.
agents (array of role strings) or agentSpecs (array), id (string), maxTurns (number), speakerSelectionMethod (round_robin|random|auto)
create_group_chat(agents: ["Backend Expert", "Frontend Expert", "DevOps Engineer"])
add_agent_to_chatAdd another specialist agent to an existing group chat for expanded perspectives.
id (string), agent (string) or agentSpec (object)
add_agent_to_chat(id: "chat_1", agent: "Security Expert")
run_group_chatRun a previously created group chat on a specific topic or task.
id (string), task (string)
run_group_chat(id: "chat_1", task: "Discuss the best database for our use case")
get_autogen_statusInspect current group chats, teams, and temporary specialist agents for this session.
none
get_autogen_status()
Persistent memory system that survives across sessions — categorized entries, daily logs, and full-text search across conversation history.
write_to_memoryManage bounded long-term memory. Actions: add (new entry), replace (update existing), remove (delete). Categories: preference, knowledge, pattern, insight.
category (preference|knowledge|pattern|insight), content (string)
write_to_memory("preference", "User prefers concise responses with code examples")create_daily_logAdd timestamped entries to the daily log file. Entry types: event, decision, learning, task, note.
type (event|decision|learning|task|note), content (string)
create_daily_log("event", "Deployed v2.1.0 to production")session_searchSearch across all past conversations using full-text search. Returns matching messages with context from historical sessions.
query (string), limit (number)
session_search("Docker deployment config")search_past_conversationsSearch across all past conversations with advanced filtering. Finds historical context, decisions, and code snippets.
query (string), limit (number)
search_past_conversations("React useCallback optimization")Reusable skill library — create, discover, install, and manage procedural knowledge that WindOp can load on demand.
load_skillLoad a skill's full instructions and supporting files. Skills provide specialized knowledge for specific task types.
name (string), scope (global|project|area), projectPath (string)
load_skill("react-performance")list_skillsList all available skills (global + project-scoped). Shows name, scope, description, and trigger patterns.
projectPath (string, optional)
list_skills()
create_skillCreate a new reusable skill with markdown instructions, trigger patterns, and optional supporting files.
name (string), description (string), content (string), scope (global|project), triggers (array), tags (array)
create_skill({ name: "api-patterns", description: "REST API conventions", content: "..." })search_skill_hubSearch configured skill hub sources for community-shared installable skills.
query (string)
search_skill_hub("Docker deployment")install_skillInstall a skill from the hub or a URL. Skills are stored locally and can be loaded on demand.
url (string) or query (string), scope (global|project), overwrite (bool)
install_skill({ query: "kubernetes" })update_skillsCheck for and apply updates to hub-managed skills. Can target a specific skill or check all.
apply (bool), skillName (string)
update_skills({ apply: true, skillName: "docker-patterns" })delete_skillArchive a skill without permanently deleting it. The skill can be restored if needed.
name (string), scope (global|project), projectPath (string)
delete_skill("old-api-patterns")Local kanban project management — create boards, manage tasks, and dispatch work to sub-agents.
kanban_boardCreate, fetch, and list local kanban boards. Boards track project tasks across customizable columns.
action (create|fetch|list), name (string), columns (array), id (string)
kanban_board({ action: "create", name: "Sprint 12", columns: ["Backlog", "In Progress", "Review", "Done"] })kanban_taskCreate, update, move, assign, decompose, block, unblock, complete, and delete tasks on kanban boards.
action (create|update|move|assign|decompose|block|unblock|complete|delete), board_id (string), task_id (string), title (string), column (string), assignee (string)
kanban_task({ action: "create", board_id: "board_1", title: "Implement auth", column: "Backlog" })kanban_dispatchDispatch kanban tasks to configured sub-agents for automated execution. Agents pick up tasks and report progress.
board_id (string), task_id (string), agent (string), config (object)
kanban_dispatch({ board_id: "board_1", task_id: "task_5", agent: "coder" })Connect WindOp to external tools via MCP servers, webhooks, and its own MCP server mode for external clients.
manage_mcp_serversMCP integration manager — setup, list, import, remove, connect, disconnect, and refresh MCP server connections. Supports Claude Code, Codex CLI, and local tools.
action (setup|list|import|remove|connect|disconnect|refresh|export|import_common_configs), server_id (string), config (object)
manage_mcp_servers({ action: "list" })manage_windop_mcp_serverManage WindOp's own MCP server mode, allowing external MCP clients (Claude Code, Codex, etc.) to connect and use WindOp's tools.
action (start|stop|status|config), port (number), config (object)
manage_windop_mcp_server({ action: "status" })manage_webhooksManage local webhook endpoints — create, list, delete, and test webhook listeners for event-driven automation.
action (create|list|delete|test), url (string), event (string), config (object)
manage_webhooks({ action: "list" })Local usage analytics — track token consumption, costs, tool usage, and detailed conversation traces.
get_metricsGet local usage metrics including token consumption, estimated costs, tool usage frequency, and latency statistics.
range (today|week|month|all)
get_metrics({ range: "today" })get_traceGet a detailed local trace for a conversation turn — shows tool calls, latencies, token usage, and decision flow.
conversation_id (string), turn_id (string)
get_trace({ conversation_id: "conv_123" })Interactive dialogs and prompts for human-in-the-loop workflows.
ask_humanPause execution and ask the user a question. Returns their free-form response. Use when you need clarification, a decision, or credentials.
question (string)
ask_human("Which database should we use: PostgreSQL or SQLite?")