Plugins
Plugins
Plugins give agents capabilities — from browsing the web to managing files to sending emails. Each plugin exposes a set of tools that the LLM can call during a conversation.
| Plugin | Purpose | Tools | Auth | Host Access |
|---|---|---|---|---|
| WebBrowser | Browse web with Playwright | 7 | No | No (network only) |
| PowerShell | Execute commands/scripts | 2 | No | Yes |
| FileSystem | File operations + watching | 13 | No | Yes |
| TaskManager | Goal/task tracking | 7 | No | No |
| Memory | Vector memory search/save | 3 | No | No |
| Reminders | Scheduled notifications | 2 | No | No |
| Microsoft365Email | Read/send email via M365 | 6 | Yes (OAuth) | No |
| Docker | Container management | 2 | No | Yes |
| AgentManagement | Create/manage agents | 2 | No | No |
| CaddisFly | Pipeline orchestration engine | 7 | No | Yes |
Plugins marked "Host Access: Yes" operate on the host machine when running from Visual Studio / .NET CLI. In Docker containers, these plugins are sandboxed to the container filesystem and processes.
WebBrowser
Browse the web using a Playwright-driven Chromium instance. Navigate to pages, extract content as markdown, take screenshots, click elements, fill forms, and execute JavaScript.
Tools
| Tool | Parameters | Description |
|---|---|---|
NavigateAndRead | url | Navigate to URL and return page content as markdown |
ExtractContent | cssSelector? | Extract content from current page, optionally scoped by CSS selector |
TakeScreenshot | fullPage? | Capture screenshot of the current page |
ClickElement | selector | Click an element on the page using CSS selector |
FillForm | selector, value | Fill a form field with a value |
GetPageLinks | — | Get all links on the current page |
EvaluateJavaScript | script | Execute JavaScript on the current page and return the result |
Configuration
See Plugin Args: WebBrowser:TimeoutMs, WebBrowser:MaxContentLength, WebBrowser:ScreenshotPath, WebBrowser:Headless
Requirements
Playwright with Chromium. Automatically installed on first use.
Security
Blocks navigation to localhost and private network addresses (127.0.0.0/8, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16).
PowerShell
Execute PowerShell commands and scripts on the host machine. Useful for system automation, file manipulation, and running build scripts.
Tools
| Tool | Parameters | Description |
|---|---|---|
RunCommand | command | Execute a single PowerShell command |
RunScript | script | Execute a multi-line PowerShell script |
Configuration
PowerShell:WorkingDirectory, PowerShell:TimeoutSeconds (default 30), PowerShell:MaxOutputLength (default 10000)
Security
Blocked commands: format-volume, clear-disk, stop-computer, restart-computer, invoke-expression/iex, reg delete, set-executionpolicy
Blocked paths: c:\windows, c:\program files
FileSystem
Full file system operations including read, write, copy, move, delete, search, and real-time file watching.
Tools
| Tool | Parameters | Description |
|---|---|---|
ReadFile | path | Read file contents |
WriteFile | path, content | Write content to a file (creates or overwrites) |
AppendToFile | path, content | Append content to an existing file |
ListDirectory | path | List files and directories in a path |
SearchFiles | path, pattern | Search for files matching a pattern |
GetFileInfo | path | Get file metadata (size, dates, attributes) |
DeleteFile | path | Delete a file |
CreateDirectory | path | Create a new directory |
MoveFile | source, destination | Move or rename a file |
CopyFile | source, destination | Copy a file |
WatchPath | path, filter? | Start watching a path for changes |
StopWatcher | watcherId | Stop a file watcher |
ListWatchers | — | List all active file watchers |
Configuration
FileSystem:RootPath — base directory for all file operations (defaults to a temp directory).
Security
Path traversal protection (cannot escape RootPath). Maximum 10 concurrent file watchers.
TaskManager
Track goals and tasks with priorities, dependencies, and status. Tasks are persisted to a JSON file so they survive restarts.
Tools
| Tool | Parameters | Description |
|---|---|---|
SetGoal | goal | Set the overarching goal for the task list |
AddTask | title, priority?, dependencies? | Add a new task |
UpdateTask | taskId, status?, title? | Update task status or details |
GetTasks | — | List all tasks with their status |
GetNextTask | — | Get the next actionable task (respects dependencies) |
RemoveTask | taskId | Remove a task |
ClearTasks | — | Clear all tasks |
Configuration
TaskManager:RootPath, TaskManager:FileName (default tasks.json)
Task Priorities
1 (Critical), 2 (High), 3 (Normal), 4 (Low). Statuses: Pending, InProgress, Completed, Blocked.
Memory
Save and search information using vector embeddings. Enables persistent, semantic memory across conversations. See Memory & Embeddings for architecture details.
Tools
| Tool | Parameters | Description |
|---|---|---|
MemorySearch | query, source? | Search memory using semantic similarity, optionally filtered by source |
MemorySave | content, source?, contentType? | Save content to memory (auto-chunked and embedded) |
MemoryForget | query, confirm | Delete matching memories (requires confirm: "CONFIRM") |
Configuration
Memory:MaxResults (default 5) — maximum number of results returned by MemorySearch.
Reminders
Schedule one-time or recurring notifications. Reminders appear as system messages in the agent's chat.
Tools
| Tool | Parameters | Description |
|---|---|---|
RegisterReminder | message, triggerTime, recurring?, intervalMinutes? | Register a new reminder |
UnregisterReminder | reminderId | Cancel an active reminder |
Supports both one-shot reminders (fire once at a specific time) and recurring reminders (fire at regular intervals).
Microsoft365Email
Read, search, and send email via Microsoft Graph API. Requires OAuth setup — see Microsoft 365 Setup.
Tools
| Tool | Parameters | Description |
|---|---|---|
ListEmails | folder?, count?, unreadOnly? | List emails from a folder |
SearchEmails | query, folder?, count? | Search emails using KQL syntax |
ReadEmail | emailId | Read full email content |
SendEmail | to, subject, body, cc? | Send an email |
GetMailFolders | — | List available mail folders |
GetConnectionStatus | — | Check authentication status |
Supported Folders
Inbox, SentItems, Drafts, DeletedItems, Archive, JunkEmail
Configuration
Microsoft365Email:MaxResults (default 25), Microsoft365Email:MaxBodyLength (default 10000)
Docker
Run Docker commands and manage containers. Maintains a persistent session for multi-step container workflows.
Tools
| Tool | Parameters | Description |
|---|---|---|
RunDockerCommand | command | Execute a Docker CLI command |
GetSessionStatus | — | Get current Docker session status |
Configuration
Docker:TimeoutSeconds (default 60), Docker:MaxOutputLength (default 10000), Docker:Shell (default /bin/bash)
Security
Blocks interactive flags (-it, -ti) and command chaining operators (&&, ||, ;, |).
AgentManagement
Create and monitor agents programmatically from within an agent conversation.
Tools
| Tool | Parameters | Description |
|---|---|---|
CreateAgent | handle, agentType, systemPrompt, plugins? | Create a new agent at runtime |
GetAgentHealth | — | Get health status of all running agents |
Useful for orchestration scenarios where one agent needs to spawn specialized agents for sub-tasks.
CaddisFly
Pipeline orchestration engine. Define and execute multi-step command pipelines using an inline DSL or YAML workflow files. Supports parallel execution, approval gates, retry logic, and built-in safety controls. See CaddisFly Documentation for full details.
Tools
| Tool | Parameters | Description |
|---|---|---|
RunPipeline | pipeline | Execute an inline DSL pipeline string |
RunWorkflow | workflowName, variables? | Execute a named YAML workflow file |
ResumeRun | runId | Resume a paused run (e.g., after approval) |
GetRunStatus | runId | Get current status and step details of a run |
CancelRun | runId | Cancel a running or paused pipeline |
ListWorkflows | — | List all available YAML workflow files |
GetRunLogs | runId | Retrieve the full log output for a run |
Configuration
CaddisFly:WorkingDirectory, CaddisFly:WorkflowPath, CaddisFly:TimeoutSeconds (default 60), CaddisFly:MaxOutputLength (default 10000), CaddisFly:CustomCommands
Security
Enforces a strict safety blocklist that prevents destructive commands (rm -rf, format), eval/dynamic execution (eval, iex), and system path modifications. See Safety for the complete list.