Chapter 1 · Product Introduction
What is DeskWand?
DeskWand is an open source AI desktop agent. Unlike a regular chatbot, it doesn't just reply — it plans, uses tools, and keeps working until your goal is achieved. It runs locally on your machine with the AI model of your choice, so your data stays private and you remain in control.
Core Capabilities
- Multi-model support — Use OpenAI, Anthropic, Gemini, Ollama, DeepSeek, OpenRouter, or any OpenAI/Anthropic/Gemini-compatible endpoint. Bring your own API key.
- Tool calling — The agent reads and writes files, executes shell commands, searches the web, and fetches content — all autonomously.
- Skills & apps — Install and enable skills that inject specialized knowledge and workflows (PDF processing, video editing, Lark/Feishu integration, and more), managed alongside plugins in the Apps view.
- MCP connectors — Connect to external tools and data sources via the Model Context Protocol (browsers, databases, third-party APIs).
- Scheduled automation — Set one-time or recurring tasks that run automatically at specified times.
- Long-term memory — The agent remembers your preferences and project context across sessions.
- Vault — Keep files and synced skills in a local-first encrypted vault with end-to-end encrypted cloud backup; the server never sees your plaintext.
- Agent-native Office — The agent creates, edits, reads, and previews real Word, Excel, and PowerPoint files as part of the task, not as an export step.
- Usage & cost — A local, per-machine dashboard of tokens and estimated cost by model, day, and time of day. It reflects your own usage, not your provider's bill.
Typical Use Cases
- Code development — Read a codebase, write and edit files, run tests, fix bugs
- Data analysis — Process spreadsheet data, generate charts and reports
- Document authoring — Draft, edit, and format documents
- Web research — Search the internet, extract content from pages, summarize findings
- Daily automation — Schedule recurring tasks like daily reports, email summaries, or data syncs
How Is It Different from a Chatbot?
A regular chatbot gives you an answer and waits for the next question. DeskWand takes initiative: it breaks your goal into steps, picks the right tools for each step (read a file, run a command, search the web), executes them, evaluates the results, and continues. This loop keeps running until the goal is complete or you pause it.
Chapter 2 · Installation & Quick Start
System Requirements
| Platform | Minimum Version |
|---|---|
| macOS | 12 (Monterey) or later |
| Windows | 10 or later |
| Linux | Any modern distribution |
Download & Install
Visit deskwand.com/#download to download the latest release for your platform:
- macOS — Open the
.dmgfile and drag DeskWand to your Applications folder. - Windows — Run the
.exeinstaller and follow the setup wizard. - Linux — Use the
.AppImage,.deb, or.rpmpackage.
First Launch
On first run the welcome screen offers three ways to connect:
- DeskWand (Sign in and start) — sign in and use the built-in cloud models; no API key of your own.
- Connect a subscription (Account sign-in / plan key) — sign in with a supported subscription and pay through your plan instead of per token.
- Use your own API key (Advanced) — pick a provider (OpenAI, Anthropic, Gemini, DeepSeek, OpenRouter, Ollama…), paste your key, and choose a model.
The message box stays disabled until a model is connected. Everything can be changed later under Settings → API.
Interface Overview
The main window has five areas:
| Area | What it does |
|---|---|
| ① App rail (far left) | Always-visible icon navigation. Three views sit on the rail itself — Chat, Ideas and Feed — together with the voice button. Automation, Apps, Vault and Usage live under More, and any of them can be pinned back onto the rail; pinned entries appear below More, in the order you pinned them. Help and your account sit at the bottom, and Settings, top-up, usage and the desktop pet all open from your account menu. |
| ② Sidebar | Shown in the Chat view only. Recent sessions and projects — open or create a project, pin, rename, or archive sessions. Collapse it from the titlebar; while collapsed, that same button starts a new chat. |
| ③ Chat area (center) | Conversation history — messages, thinking process, tool calls, and results. |
| ④ Input bar (bottom) | Type your prompt, attach files or images, press / for slash commands, or click the microphone to dictate (see Chapter 5). |
| ⑤ Right panel | Opened from the titlebar buttons: artifact list, file browser, built-in browser, and code review (shown only inside a git working tree). File previews open as tabs. The sidebar collapses automatically while it is open. |
/ in the input bar to open the slash command menu — a quick way to trigger skills or built-in actions without typing the full command.Chapter 3 · API Configuration
Supported Providers
DeskWand works with any API provider that follows the OpenAI, Anthropic, or Gemini protocol. Specifically supported:
| Provider | Protocol | Notes |
|---|---|---|
| OpenAI | OpenAI | GPT-4o, GPT-5.x, and future models |
| Anthropic | Anthropic | Claude Opus, Sonnet, Haiku |
| Gemini | Gemini | Google's Gemini models |
| Ollama | OpenAI-compatible | Local models via Ollama |
| DeepSeek | OpenAI-compatible | deepseek-flash (V4.1-Flash, reads images) and deepseek-v4-pro |
| Zhipu (智谱) | OpenAI-compatible | GLM models, including the glm-4.6v-flash vision model |
| OpenCode | OpenAI-compatible | Official Zen (pay-as-you-go) and Go (subscription) gateways |
| OpenRouter | OpenAI / Anthropic | Multi-provider gateway |
You can also connect any custom endpoint that exposes an OpenAI or Anthropic-compatible API.
Configuration Workflow
- Open Settings → API.
- Select a provider from the list or choose "Other Provider" for a custom endpoint.
- Enter your API Key.
- (Optional) Customize the Base URL if connecting to a proxy or self-hosted endpoint.
- Select or manually enter the Model ID.
- Click Test Connection to verify everything works.
- Click Save Settings.
Configuration Profiles
You can create multiple configuration profiles — for example, one for work with OpenAI and another for personal use with a local Ollama model. Switch between them from the API settings page using the dropdown at the top. Each profile stores its own provider, key, base URL, and model list independently.
Vision Model
If your main model doesn't support image understanding (multimodal), configure a separate vision model instead. The agent then reads images through the vision_describe tool: it describes what it sees and passes that description to your main model for reasoning.
Configure this under Settings → API → Vision Model.
Search Configuration
Under Settings → API → Search, you can configure a dedicated model for web search and content fetching. This is separate from your main model and allows you to use a faster or cheaper model for search-related operations while keeping a more powerful model for reasoning.
Subscriptions
Instead of entering API keys manually, you can connect an existing subscription. Two kinds are supported:
- Sign in with an account — ChatGPT / Codex (OpenAI account), Claude Max (Anthropic account; Max with additional usage credits required, Pro is not supported), GitHub Copilot, and OpenRouter.
- Subscription key — 百炼 Coding Plan (Alibaba Cloud Model Studio) and 火山方舟 Coding Plan (Volcengine Ark). Paste the plan key from your subscription; billing stays with the plan rather than per token.
Go to Settings → API, scroll to Subscriptions, and click Connect next to your provider.
Utility Model
Under Settings → API → Utility Model, you can assign a model to background chores — session titles and memory extraction. It follows the main model by default; pointing it at a cheaper or faster model keeps those calls off your main model's quota.
Connection Diagnostics
If something isn't working, use the built-in diagnostic tool: Settings → API → Diagnose Connection. It runs a step-by-step check:
- DNS Resolution — Can your machine resolve the API hostname?
- TCP Connection — Can it reach the server?
- TLS Handshake — Is the connection secure?
- API Authentication — Is your key valid?
- Model Validation — Can the model accept requests?
Each step reports pass/fail with actionable error messages to help you fix the issue.
Chapter 4 · Projects & Sessions
Projects
A project is a named workspace tied to a folder on your disk. Sessions (conversations) belong to a project, which keeps files, context, and tool execution scoped to that directory. This is useful for separating different workstreams — for example, a "Website" project and a "Data Analysis" project.
Create a new project from the sidebar: click the + button next to the project section, enter a name, and DeskWand creates the directory for you.
Session Management
- New session — Click New in the sidebar to start a fresh conversation.
- Switch sessions — Click any session in the sidebar to switch context.
- Search — Use the search bar at the top of the sidebar to find sessions by title or project name.
- Pin / Rename / Delete — Open a session's row menu to pin it to the top, rename it, or delete it.
- Fork from here — On any assistant message, choose Fork from here to branch a new session from that point, carrying the conversation up to that message. The original session is untouched.
Sidebar Organization
The sidebar has two collapsible group rows: Recents — every session, grouped by time (Today, Yesterday, Previous 7 Days, Older) — and Projects, which offers Open Project and New Project. Pinned sessions stay at the top of Recents; running sessions show an indicator.
Archive & Restore
Archive sessions you no longer need to keep the sidebar clean. Right-click (or long-press) a session and choose Archive. View and restore archived sessions under Settings → Archived.
Context Compaction
Long conversations can exceed the model's context window. When this happens, DeskWand automatically compacts the conversation — summarizing earlier messages to free up space. You can also trigger compaction manually by typing /compact or using the slash menu.
Goal Mode
Goal mode lets the agent work autonomously toward a high-level objective:
- Set a goal — e.g., "Research and summarize the top 5 AI papers from this week"
- The agent plans, executes, evaluates, and repeats until the goal is achieved.
- You can pause, resume, or clear the goal at any time.
- The status bar shows progress: current iteration, tokens used, and time elapsed.
Access goal mode via the slash menu (/goal) or the action bar.
Chapter 5 · Chat Interaction
Sending Messages
Type your prompt in the input bar at the bottom and press Enter to send. The status bar under the input times the current turn while it runs, then shows the total. You can also:
- Paste images from your clipboard — the agent will see them (if your model or vision model supports images).
- Use the + menu to add attachments from three sources: Upload local file, Choose from workspace, or Choose from Vault. The workspace and Vault pickers open a searchable, multi-select panel showing each file's path and size.
- Type
@to reference a file, or attach files directly — both render as inline tokens or tiles inside the composer, so you can see exactly what the message carries before sending it. - Expand the input bar — click the expand button or press Shift+Enter for multi-line input.
Slash Commands
Press / in the input bar to open the slash command menu. Commands, plugin commands, and skills share one list ordered by how recently you used them (the most recent 20 are kept). Filter with the tabs:
- All — a single flat list, ordered by recency
- Commands — built-in actions (compact, goal, …) plus your own prompt commands
- Skills — installed skills for specialized tasks
Skills and prompt commands are also reachable from the + menu, which lists your pinned skills first and lets you create, edit, or delete a prompt command.
Steering a Running Turn
While the agent is busy you don't have to wait. Messages you send queue up above the input bar, and each queued item offers two actions: Steer to inject it into the running turn, or Remove to drop it.
A steered message appears in the transcript at the point it was injected, labelled Steering while in flight and Steered once delivered. If a steer can't be delivered — the session ended or stopped, or the message type isn't supported — the reason is reported and your text goes back into the input box.
An idle session drains its queue automatically, oldest first. Stopping a turn pauses that auto-drain once, and context compaction blocks queued sends until it finishes.
Activity & Plan
A strip above the input bar shows what the agent is doing right now. Open it to see the Plan — the task list the agent keeps for multi-step work — with progress such as 2/5 done, along with any Subagents running in the background.
The agent writes that list itself, under two rules worth knowing: only one item can be in progress at a time, and a list cannot be marked finished while items are still open. A rejected update simply doesn't take effect — it doesn't disturb the progress already shown.
Picking Page Elements
In the built-in browser, Select element turns the cursor into a picker — click anything on the page and it becomes an attachment carrying that element's identity and a snapshot. Use it to point the agent at the exact button or field you mean instead of describing it.
Mind the timing: a picked element is sent with your next message. Live steering of a running turn is not supported for element attachments.
Streaming Output & Thinking
As the agent works, you'll see responses stream in real time. The agent may also show its thinking process — the reasoning steps it takes before acting. This is displayed in a collapsible block above each response, so you can inspect or hide it.
Tool Call Cards
When the agent uses a tool (reading a file, running a command, searching the web), a card appears in the chat showing:
- The tool name and input
- The output or result
- Execution time and token usage
Cards are color-coded and compact — click to expand if you want full details.
Preview panel
The right panel is where you look at what the agent produced. Open the artifact list from the titlebar — it collects every file created or modified in the session, each row showing its type icon, its name, and its path on hover, plus a button to open it with your system application.
Clicking a row opens the file in the app. Text and image files open as tabs, so you can keep several of them open and switch between them. Word (.docx), Excel (.xlsx), and PowerPoint (.pptx) files are rendered into in-app pages and shown in the built-in browser panel, so a report the agent just wrote is one click away. If a file can't be rendered, DeskWand falls back to opening it with your system application and tells you so.
Usage & cost
DeskWand records token usage locally, on this machine only. Open the dashboard from the account menu → Usage. Pick a range — today, 7, 30, or 90 days, or all time — and the page shows:
- Totals — input, output, cache read and write, call count, and cache hit rate
- Estimated cost — converted from the pi price table. Calls with no known price are excluded and counted separately.
- Heatmaps — daily usage, plus a weekday × hour grid showing when you work
- By model — one row per model, sortable by output or cost, with a separate row rolling up all subagents
Amounts are stored in USD and converted only for display, using ECB daily reference rates refreshed every 24 hours. Pick your display currency — USD, CNY, EUR, JPY, GBP, or HKD — from the dropdown in the header.
This is an estimate, not a bill. The dashboard counts only the calls made on this computer, and prices them from a public price table rather than from the amount your provider reports. Provider-reported figures are unreliable by design: a subscription account reports amounts it never charges, and a custom relay can report zero. Treat the number as a running estimate of your own usage.
Message Actions
Hover over any message to reveal its actions:
- Copy message — copy the text to your clipboard.
- Reveal in folder — jump to a file the message references, in your file manager.
- Fork from here — on an assistant message, branch a new session from that point (see Chapter 4).
Answering the model's questions
Sometimes the agent needs a decision it cannot make for you, and asks for it in the conversation. Pick one of the options, answer Yes or No, or choose Other… and type your own answer. Prompts with several questions show how many are waiting, and you can answer them in any order. Submit sends what you have filled in; Skip leaves a question for the agent to decide on its own.
Permission Approvals
Some tools require your approval before executing — especially those that write to files or run shell commands. When a tool needs permission:
- A dialog appears showing the tool, its input, and a warning.
- You can Allow once, Always Allow for the rest of the session, or Deny.
- Commands requiring admin privileges prompt for your system password (not stored).
Voice Conversation & Read Aloud
DeskWand can take speech in and read it back out, and the speech engine runs on your machine — no audio is sent to a speech service. Models download on demand, so nothing is installed until you switch the capability on.
Dictation. Click the microphone in the input bar, or hold the push-to-talk key named in its tooltip, and speak. The text lands in the input bar, where you can edit it before sending. The first use asks to download the voice model, about 140 MB.
Voice conversation. The voice button on the app rail opens a full-screen voice view. Speak normally: a pause sends the question, and the reply is read back to you sentence by sentence. Start talking while it is speaking and it stops and listens instead. The keyboard still works — the same session accepts typed input.
- A voice conversation is its own kind of session, started and resumed from the app rail, and it keeps running in the background if you navigate away.
- A voice turn keeps read-only search tools only. It looks things up and talks about them; it will not modify your files or run commands.
- What you said is tidied up automatically a moment after you stop speaking, and replies are written to be heard rather than read — short, with no headings, lists, links, or file paths.
- You can cut in at any point, and the audio stops immediately.
Read aloud. Every assistant reply carries a play button that reads it out, with the words being spoken highlighted as they go. You can pause it, cancel it while it is still preparing, or retry if a read fails.
Choosing a voice. Quality, voice, speed, and source are set together under Settings → Capabilities → Voice, and read-aloud and voice conversation share that one setting. Speech can run locally or through a cloud voice you configure — see Chapter 12.
Looking for dictation into any app, on its own? That is DeskWand Voice.
Chapter 6 · Tool System
How Tools Work
The agent automatically selects and uses the right tool for each step — you don't need to specify which tool to use. Just describe what you want, and the agent decides whether to read a file, run a command, search the web, or combine multiple tools.
File Tools
| Tool | Function |
|---|---|
| Read | Read the contents of a file. Supports text files and images. |
| Write | Create a new file or overwrite an existing one with new content. |
| Edit | Make precise, targeted edits to an existing file using exact text matching. |
| Glob | Find files matching a pattern (e.g., **/*.ts). |
| Grep | Search for text patterns inside files. |
Shell Commands (Bash)
The agent can execute shell commands in your working directory. This is how it installs dependencies, runs scripts, builds projects, and performs system operations. Commands requiring admin privileges will prompt for your password.
Browser Tools
DeskWand ships a built-in browser the agent can drive directly — it navigates, reads the page, and acts on it:
| Tool | Function |
|---|---|
| Navigate | Open a URL in the built-in browser. |
| Get page state | Read the current URL and title. |
| Text snapshot | Capture the page's interactive elements as text — the agent's main way of "seeing" a page. |
| Screenshot | Capture the page as an image. |
| Click / Fill input | Click an element, or type into a field. |
| JS evaluate | Run JavaScript in the page context. |
| Wait for | Wait for text, a selector, or the network to settle. |
Web Tools
| Tool | Function |
|---|---|
| Web Search | Search the internet using your configured search provider. Returns results with source citations. |
| Fetch Content | Extract readable content from a URL, GitHub repository, or PDF. |
| Get Search Content | Retrieve full, untruncated content from a previous search or fetch. |
Web Access Configuration
Choose your search provider under Settings → Web Access. Available providers: Automatic, OpenAI, DeepSeek, Exa, Brave, Parallel, Tavily, Perplexity, Gemini. Each provider can use its own dedicated API key or inherit the key from your main API configuration, and Automatic falls down a chain when one is unavailable.
Office documents
Word, Excel, and PowerPoint are agent-native here: the agent creates, edits, and reads them in place as part of the task, and what comes out is a real .docx, .xlsx, or .pptx file — not text you then export by hand.
Reading. Four built-in tools hand document content to the model: office_read_docx, office_read_xlsx (optionally a single sheet), and office_read_pptx return Markdown; office_read_pdf returns text for text pages and renders scanned pages to images for the vision model.
Creating and editing. DeskWand bundles its own document engine, already on your PATH — a single binary with no dependencies. It produces Word reports, letters, memos, and proposals (including templates, tracked changes, comments, headers and footers, and tables of contents); Excel workbooks with formulas, charts, and pivot tables; and PowerPoint decks with layouts and speaker notes. It can also split or combine presentations, and import CSV or TSV data into a spreadsheet.
Previewing. Created and edited files open in the preview panel — see Preview panel above.
Planning, Memory & Vision
A few more tools cover the agent's own bookkeeping:
| Tool | Function |
|---|---|
| Update task list | Maintain the plan shown in the activity strip — see Chapter 5. |
| Get Goal / Update Goal / Goal Complete | Read, adjust, or settle the goal the agent is working toward. |
| memory_search / memory_read | Look something up in long-term memory. Memory is never injected automatically — the agent has to ask. |
| memory_upsert / memory_delete | Write to, or remove from, long-term memory. |
| Describe image | Read an image through the configured vision model. |
| Get Subagent Result / Steer Subagent | Collect a background subagent's result, or redirect it mid-run. |
Subagents
For large tasks the agent can hand work to subagents — separate agents that run in parallel with their own context. Four are built in: Code Explorer, Fixer, Planner, and Review. Add your own under Settings → Subagents.
Each subagent can inherit the main model or use its own, with a separate thinking level. If no default subagent model is configured, the subagent tool stays unavailable. Usage is attributed to the model each subagent actually ran on, and rolled up into its own row in the usage dashboard.
Chapter 7 · Skill System
What is a Skill?
A skill is a reusable extension package that gives the agent specialized knowledge, instructions, and tool configurations for a specific domain. Skills make the agent more effective at tasks like PDF processing, video editing, financial analysis, weather lookups, or interacting with services like Lark/Feishu and Slack.
Where Skills Come From
Every skill carries a source label, so you can always tell where one came from:
| Source | Meaning |
|---|---|
| Built-in | Shipped with DeskWand. |
| Custom | Imported from a folder on your machine. |
| Vault | Kept in your encrypted vault (see below). |
| Team | Shared with your team. |
| My Cloud | Synced to your own account. |
| Marketplace | Installed from Skill Cloud. |
| AI Generated | Written by the agent itself. |
| MCP | Supplied by an MCP connector. |
Settings → Skills groups them into Built-in Skills, Custom Skills, and Plugins & Imports.
Built-in Skills
DeskWand ships with a set of built-in skills covering common tasks. You can enable or disable them individually under Settings → Skills. Built-in skills are automatically available and don't need installation.
Two examples from the built-in set. The officecli pack drives the bundled document engine to create, check, and modify Word, Excel, and PowerPoint files. image-ocr pulls text out of images, screenshots, and scans with a local OCR engine — Chinese and English, entirely offline, nothing uploaded.
Skill Marketplace
Browse, install, and update community-contributed skills from the Skill Cloud:
- Open Skill Cloud from the sidebar or Settings → Skills.
- Browse by category or search for a specific skill.
- Click a skill card to view details (description, version, download count).
- Click Install to add it to your collection.
Installed skills appear in your My Skills list, where you can enable or disable them, pin the ones you reach for most, or remove them. The marketplace shows update indicators when newer versions are available.
Plugins are the larger unit. Browse them under Plugins & Imports → Browse Plugins; one plugin can bundle any mix of skills, commands, agents, extensions, hooks, and MCP servers.
Skill Cloud (Login Required)
Log into your DeskWand account to unlock cloud features:
- Sync your skills across devices
- Share skills with your team
- Publish your own skills to the marketplace
Vault Skills
Your Vault doubles as a private skill channel: upload a skill to the Vault and it travels with your end-to-end encrypted backup, so another machine can restore it once you unlock the Vault. Skills labelled Vault are the ones living there.
After an upload succeeds, the local original is removed — the Vault copy becomes the source of truth. See Chapter 11 for the Vault itself.
Custom Skills
You can import skills from a local folder: go to Settings → Skills → Plugins & Imports and click Import from Folder. This is useful for testing your own skills, or for using skills a teammate handed you directly.
Chapter 8 · MCP Connectors
What is MCP?
The Model Context Protocol (MCP) is an open standard for connecting AI models to external tools and data sources. MCP connectors let your agent interact with browsers, databases, APIs, and other services — just like built-in tools.
Where Connectors Live
Connectors are managed in the Apps view, under the Connectors tab — the other two tabs are Skills and Plugins. Open it from More on the app rail; see Chapter 2.
The Connector Catalog
The catalog lists over fifty ready-made services — Notion, Linear, Sentry, Stripe, Cloudflare and many more — grouped into categories behind a sticky toolbar. Click a card to add that server; it is written into mcp.json in your agent directory.
- Most services sign in with OAuth: click the card, authorize in the browser window that opens, and the card reads “authorized”.
- A service that works from an API key asks for it on the card and stores it in
mcp.json. - Your own servers always sort last, and a catalog entry never claims or overwrites a server of the same name that you added yourself.
- Adding a connector does not enable it. Switch it on when you want its tools available to the agent.
Adding Your Own Connector
Click Add and paste an mcpServers configuration snippet, one server at a time — the same shape Claude Desktop and Cursor use. Two kinds are accepted: a local server that DeskWand runs as a command (command with args and optional env), and a remote server reached by URL. Placeholders such as ${VAR} are expanded, and a snippet holding more than one server is rejected so you can paste them one by one.
Built-In Connectors
Two connectors ship with DeskWand rather than coming from the catalog:
- Mail turns a mailbox into a tool set. Add an account with SMTP for outgoing mail and IMAP for incoming, and the agent can list accounts, search mail, send, reply (including reply-all and forward), and save attachments. Providers are shown with their own logos.
- Computer Use lets the agent see the screen and drive the mouse and keyboard. It is off by default and asks for the system permissions it needs when you switch it on — see Chapter 12.
Managing Connectors
Once a connector is enabled, its tools become available to the agent during conversations. Each card carries its own state — connected, authorized, not enabled, disabled, or failed — and offers the actions that fit:
- Connect, Reauthorize, or Disconnect the server.
- Test the connection without starting a conversation.
- The number of tools it offers, and how many times they have been called.
- Manage or Remove the entry.
Credentials and the server definitions themselves live in plain text in mcp.json on your machine, so anything you put there is only as private as that file.
Chapter 9 · Scheduled Tasks
Overview
Scheduled tasks let you automate prompts to run at specific times — like an alarm clock for your AI agent. Use this for daily reports, periodic data checks, recurring research, or any task you want to run on a schedule.
Calendar View
Open Automation from the app rail. The calendar view shows all your tasks organized by day, week, or month. Click any empty slot to create a new task, or click an existing task to edit it.
Task Modes
| Mode | Behavior |
|---|---|
| Once | Runs exactly once at the specified date and time. |
| Daily | Runs every day at the selected times. Add multiple time points. |
| Weekly | Runs on specific days of the week at the selected times. |
Configuring a Task
- Choose a mode (once, daily, or weekly).
- Set the time(s) — click to add time points (format: HH:MM).
- Enter the prompt — what the agent should do when triggered.
- Optionally specify a working directory (defaults to current project).
- Toggle Enabled to activate the task.
Monitoring & Control
- See each task's next run time and last execution status.
- Pause or resume individual tasks without deleting them.
- A running task creates a session in the sidebar, so its progress is visible like any other conversation.
The Personal Feed
Feed is a page on the app rail that goes looking on your behalf. It reads your recent questions and whatever your memory records as your interests, then finds things worth reading and writes them up as a list. It runs at most once a day, using the lightweight task model configured under Settings → API.
A run does not create a session and sends no notification, so it never interrupts you. Switch it on from the welcome screen or from the Feed page itself, and turn automatic updates off again whenever you like.
Each item carries the source's real publication time, a localized excerpt, and an image. Selecting one opens it in the reader pane, which renders the body as markdown and offers a link to the full page in your browser. An item you do not want can be dismissed on its own.
Listen to it. The headphones icon in the titlebar reads the feed aloud as a spoken script and moves on to the next item by itself, so a whole batch plays like a podcast. The icon animates while it is playing.
- Update now runs a round immediately, and the header shows when the next automatic update is due.
- Pause automatic updates stops the schedule without discarding what has already been collected.
- Unread filters the list, and Mark all read clears the unread count.
- Clear everything deletes the items, their bodies, and their images; the record of the runs themselves is kept.
Chapter 10 · Memory System
How Memory Works
DeskWand builds a long-term memory of your preferences, past work, and project context so future sessions are more effective. There are two types:
| Type | Scope | What it stores |
|---|---|---|
| Core Memory | Global | Your stable preferences, identity, and cross-project patterns (e.g., "Always use TypeScript strict mode", "Prefer dark themes"). |
| Workspace Memory | Per-project | Session summaries, implementation decisions, past fixes, and learnings specific to a project directory. |
Memory is never injected into a session automatically. The agent retrieves it through its memory tools only when the current task might depend on something durable — a preference you stated, a decision you made, a convention in this project. In the background the system also reviews stable profile information every 10 user turns, and stores something when you explicitly ask it to.
Enable or Disable
Local memory lives under Settings → Personalization, on the same page as your global AGENTS.md rules. New installs start with it off.
Turning it off stops selective background learning, explicit memory writes, and on-demand retrieval; existing data is kept and picks up again when you turn it back on.
Clearing Local Memory
The same section has one destructive control: Delete local memory — it removes every memory stored on this computer. There is no separate rebuild or per-scope reset.
Chapter 11 · Vault
What is the Vault?
The Vault is your personal encrypted storage: local files with an end-to-end encrypted cloud backup. Encryption happens on your machine before anything leaves it, so the server holds ciphertext it cannot read.
Opening the Vault
Open Vault from More on the app rail (see Chapter 2). The header carries Upload and Sync, and the list filters by Files, Skills, and Sessions (sessions are marked coming soon). Each row's menu offers reveal in folder, export, and delete.
Uploading and Syncing
Upload a file and it is encrypted locally, stored, and — once cloud backup is set up — synced. Sync runs on demand and reports its state in the header: a quick sync finishes silently, and the banner is reserved for errors.
Using Vault Files in Chat
The Vault is also a source for attachments: in the chat input's + menu, choose Choose from Vault and pick from a searchable list. See Chapter 5.
Encryption and Recovery
The first time you set up encrypted cloud backup, DeskWand shows a recovery code and asks you to save it. That code is the only way back into your data if you lose the machine and its keychain — store it somewhere you trust.
Restoring is available only when the local index is missing and the Vault holds no files. That restriction is what makes it safe: you cannot accidentally merge two different Vaults.
Usage and Limits
The Vault page shows how much is stored locally and how much cloud backup you are using against your quota.
- A single file must be 20 MB or smaller.
- Hitting the cloud quota does not roll back the local copy — the file stays, the sync fails.
- You must be signed in to sync; otherwise the Vault works offline.
- Symlinks, names ending in a dot, reserved names, and paths outside the module are not synced.
- Uploading a skill to the Vault removes the local original — the Vault copy becomes the source of truth (see Chapter 7).
Ideas
Ideas is a rail page for jotting down anything you want to keep — a thought, a link, a plan you have not finished thinking through. Each one is stored as a markdown file under ~/.deskwand/vault/ideas, so an idea is an ordinary file: open it in any editor, put it under version control, or edit it outside DeskWand and nothing breaks.
Write one from the Ideas page, or simply ask the agent to note something down and it is filed there. The page lists them newest first; open one to read or edit it, and archive it once it has been dealt with.
Because ideas are files in your own vault, the agent can read and search them like any other document — ask what you wrote about a topic and it can go and find out.
Chapter 12 · Settings & Preferences
Where Settings Live
Settings is organized into nine tabs: General, API, Capabilities, Subagents, Personalization, Remote Control, Logs, Archived, and About. Three things deliberately live elsewhere: connectors and skills share the Apps view, scheduled tasks sit under Automation, and both are reachable from More on the app rail.
Appearance
Under Settings → General:
- Theme — Light, Dark, or follow system preference.
- Color Palette — Seven base palettes: Neutral, Stone, Zinc, Mauve, Olive, Mist, Taupe.
- Accent Color — Seventeen accents, from Amber, Blue and Cyan through Emerald, Indigo, Lime, Orange and Pink to Purple, Red, Rose, Sky, Teal, Violet and Yellow. Each dropdown shows its colours as swatches before you pick one.
- Language — English or 中文 (Chinese).
- UI Font Size — 12–20 px; the base size the whole interface scales from.
Capabilities
The Capabilities tab holds optional features that need something installed, or permitted, before they can work. Each is off until you switch it on, and each downloads only what it needs — nothing is fetched on your behalf in the background.
Three of them are engines that run entirely on your machine:
- Voice input — dictation. Downloads a speech recognition model (about 140 MB) the first time you use the microphone.
- Voice — read-aloud and voice conversation. Quality, voice, speed, and source are set here, and the two features share that one setting. Local voices come in tiers, and the better ones are larger downloads.
- Text recognition (OCR) — reads the text out of images and screenshots without the image leaving your machine.
Computer Use is the fourth, and it is the one that acts on your machine rather than just reading it: the agent can see the screen and drive the mouse and keyboard. It is off by default, and on macOS the tab lists whichever permissions are still missing — Accessibility and Screen recording — each with a button that opens the matching pane in System Settings. Screen recording takes effect after a restart, and a permission is only reported as granted once it has actually been verified.
Automatic Skill Learning
Off by default. When you turn it on, the agent can discover and learn new skills during conversations and periodically tidy up the ones you already have. Not supported in project mode.
Anonymous Telemetry
DeskWand collects anonymous usage statistics to help improve the product. This includes only a random device identifier and app version — no personal data. You can opt out under Settings → General → Telemetry.
Updates
Under Settings → About you can check your version, look for updates on demand, and open the manual or report a problem. DeskWand also checks in the background; once a new version has downloaded, the help button at the bottom of the app rail turns into an update button — click it to open the update dialog.
Chapter 13 · FAQ & Troubleshooting
API connection fails — what should I check?
- Is your API key correct and not expired?
- Is the Base URL correct? (Especially if using a proxy or self-hosted endpoint.)
- Run Settings → API → Diagnose Connection for a step-by-step diagnosis.
- Check your network — firewalls or VPNs may block API connections.
My model isn't listed — how do I use it?
Switch to Manual Model mode and enter the model ID directly. Make sure you've selected the correct protocol (OpenAI / Anthropic / Gemini) that matches your model's API.
The agent keeps getting errors when running commands
- Check that the working directory exists and is accessible.
- For system-level commands (installations, builds), check if admin privileges are needed.
- Review the tool call cards in the chat for exact error messages.
How do I export logs for support?
Go to Settings → Logs and click Export Diagnostics. This creates a ZIP file containing app logs, sanitized environment info, and metadata about recent sessions and errors. Share this file with the DeskWand team for faster troubleshooting.
Can I use DeskWand offline?
Yes — use a local model via Ollama. Install Ollama, pull a model (ollama pull llama3), and configure DeskWand to use the Ollama endpoint. Local models work without an internet connection.
Where is my data stored?
Everything is local-first. Your API keys, conversations, settings, and memory are stored on your machine. Nothing is sent to DeskWand servers unless you explicitly use cloud features (Skill Cloud sync, OAuth subscriptions) or enable telemetry (anonymous and minimal).
How do I get help or report a bug?
- GitHub — github.com/deskwand/agent — open an issue or discussion
- Website — deskwand.com
This manual documents DeskWand 1.0.46.
DeskWand