DeskPilot
0.5.0-preview0002
Minimum PowerShell version
7.0
Installation Options
Owners
Copyright
(c) Raimund Andree. MIT licensed.
Package Details
Author(s)
- Raimund Andree
Tags
Copilot GitHubCopilot ShellPilot Agent AI GUI AgenticOperatingModel Windows Linux macOS
Functions
PSEditions
Dependencies
This module has no dependencies.
Release Notes
## [0.5.0-preview0002] - 2026-08-10
### Added
- **Switch agent and project from your phone.** Intercom could switch
conversations but not the two things that decide *how* and *where* the agent
works. `/agents` lists the agents you have, marks the one in use and gives you
a button per agent; `/agent 2` picks one and `/agent none` goes back to the
default. `/projects` does the same for your projects and says on every line
which ones you are allowed to work in from your phone, so you learn that before
you send an instruction rather than from a refusal. `/project new C:\Git\Notes`
registers a folder as a project — creating that last folder if it does not
exist yet — and `/status` now names the agent in use. A project added from your
phone is deliberately **not** remote-controllable until you switch that on at
the machine.
- **Dictate and read aloud in German.** Voice used to follow whatever language
your browser was set to, so speaking German into an English Windows produced
transcription nonsense and had your answers read back in an English accent.
**Settings → General → Voice language** now lets you choose: German (Germany,
Austria, Switzerland), English (US, UK), or Auto to keep following the browser.
A **Voice** setting sits underneath it, listing every voice installed for that
language so you can pick the one you like — or leave it on Automatic, which
picks the best one for you.
- **Asking for choices now gets you choices.** "Give me a list to choose from"
or "what are my options" used to be answered with a written list you could only
read. The agent now offers those as a real question you can answer — a
questionnaire in the window, tappable buttons on your phone — so picking one
actually carries on the conversation. It still will not turn a simple request
into a wizard: it never asks to confirm something it can just do.
- **Tap to answer, instead of typing.** When the agent asks a question with a
list of choices, Telegram now shows a button for each one — tap it and that is
your answer. `/chats` gives you a button per conversation too, so switching no
longer means reading a list and typing a number. You can still reply in writing
whenever you prefer, and questions that let you pick several answers at once
still ask for a written reply, because one tap cannot say "these two".
- **Rewind a conversation to before a prompt.** Every message you send now
carries a **Restore Checkpoint** marker above it. Clicking it takes you back to
the moment just before you hit send: the message and everything after it leave
the conversation, your prompt goes back into the box so you can reword it, and
any file DeskPilot changed since is put back the way it was. Files you edited
yourself are left alone, and DeskPilot asks before it discards anything. The
marker appears as soon as the turn finishes — you do not have to reopen the
conversation to see it.
- **Undo from your phone.** Send `/undo` to Intercom and DeskPilot tells you
exactly what it would throw away — how many messages, how many files — then
waits. `/undo confirm` takes you back to just before your last instruction,
puts back the files it changed, and sends your prompt back so you can reword it
and try again. It refuses while a job is running, so send `/stop` first.
### Fixed
- **Read aloud no longer sounds like a robot from ten years ago.** It used the
first voice the system happened to list for the language, which on Windows is
the oldest one installed — the flat, clipped "Desktop" set. It now prefers a
modern voice when one is available (the ones labelled *Natural* or *Online* in
Microsoft Edge, or the Google voices in Chrome), which is a different era of
sound: real intonation, real emphasis, real pauses. If you would rather choose
yourself, every installed voice for your language is listed in Settings.
- **Years are read as years.** "in 1945" was read out as "one thousand nine
hundred forty-five". It is now spoken the way a person would say it —
"nineteen forty-five", or "neunzehnhundertfünfundvierzig" in German. Only a
number that actually follows a date word is treated this way, so a port number
or a count of files is still read exactly as written.
- **Read aloud no longer reads the punctuation.** An answer was spoken exactly as
it was written, so a heading came out as "hash hash Setup", bold text as "star
star", a table as a run of "vertical bar", and a bullet list as a string of
"dash". Formatting is now removed before anything is spoken: headings, list
items and table rows are read as ordinary sentences, a link is read by its
label rather than its address, and a code block is announced instead of being
spelled out character by character.
- **The model's thinking is now actually shown.** With **Show the model's
thinking** turned on, the Thinking box arrived collapsed, so you still had to
find and click it on every answer — and because it only appeared after the view
had already scrolled, it unfolded below the bottom of the window, which made a
long think look like a stalled turn. The box now opens by itself when the
setting is on, and the view follows it as it is written.
- **A Windows-written Markdown file no longer freezes the window.** Opening a
`.md` file saved with Windows line endings — which is most files DeskPilot did
not write itself — left the preview stuck on "Loading…" and locked up the whole
window until the tab was closed. The first heading was the trigger: the
renderer did not recognise it, then had no way to move past the line, and went
round forever. Line endings are now normalised before anything is rendered, and
the renderer can no longer get stuck on a line it does not understand.
- **Undoing a file now clears it from the review list.** The diff viewer kept the
file list it opened with, so after you confirmed an undo the file was still
listed, still showed its old diff, and still offered a second **Undo this
file** for a change that was already gone. The viewer now re-reads the change
set after every Keep or Undo: a file that no longer differs drops out, the
selection moves to the next file, and the viewer closes when nothing is left
to review. A file put back through Git also stops being reported as an
unreviewed DeskPilot change.
- **The window keeps up with your phone.** Archiving, unarchiving, deleting or
starting a conversation from Telegram now updates the DeskPilot sidebar within
a few seconds, instead of leaving a deleted conversation listed and
unclickable. Clicking a conversation that has since gone says so and refreshes
the list, rather than doing nothing at all.
- **An archived conversation no longer accepts new work.** Sending, regenerating
or editing a turn in an archived conversation — from the window or from your
phone — is refused with a message telling you to unarchive it first. Archiving
is you saying you are done with it.
- **Deleting the conversation your phone was working in is now an error.**
Intercom used to fall through to "the most recent one" and quietly do the work
somewhere you never chose. It now refuses and asks you to pick one with
`/chats` or start one with `/new`.
- **Deleting a conversation asks first.** The ✕ button beside a conversation now
**archives** it (reversible); deleting moved into the ⋯ menu — also reachable
by right-clicking the row — and always confirms.
- **Linking your phone to Intercom no longer requires hunting for a chat id.**
Intercom ignores every chat until you confirm one, which meant your bot stayed
silent — even to `/start` — and there was no way to discover the number from
it. **Settings → Intercom → Link my phone** now listens for five minutes,
shows you the message it saw, and links the chat when you click **This is me**.
Nothing is ever linked automatically, and nothing you send during that window
is executed.
- **A model with no published rate no longer reads as free.** The engine prices a
turn from a table keyed by exact model id; a model newer than that table (for
example `claude-opus-5`) comes back with *no* price, and DeskPilot was showing
that as a confident `$0.0000 · 0 credits` — over a million tokens could look
free. Such a turn now says **cost unknown — no published rate for this model**,
session and all-time totals show a `≥` prefix and count how many turns could
not be priced, and the per-model list says **no rate** instead of `0 cr`. The
fix for the *number* is a rate for the model in the engine's price table; this
fix is DeskPilot no longer misreporting its absence.
### Added
- **Copy your own messages with one click.** Hovering a message you sent now
shows a ⧉ button beside the edit one, the same as on DeskPilot's replies — no
more selecting a prompt by hand to reuse it. Both also fall back to an older
copy method if the browser refuses clipboard access.
- **Send files from your phone.** Attach a document, photo, voice note or video
in Telegram — with or without a caption — and DeskPilot saves it into your
project folder and puts the agent to work on it; photos also go to the model's
vision input. Previously an attachment was ignored without so much as a reply.
Files up to 20 MB (Telegram's own limit), and only from a project with **allow
phone control** ticked.
- **Choose how a message is sent.** **Settings → General → Send a message with**
offers **Ctrl+Enter** (the new default, with Enter making a new line) or
**Enter** (with Shift+Enter making a new line). Ctrl+Enter by default so a
stray Enter mid-thought cannot fire a half-written instruction at an agent that
can change files and run commands.
- **Tidy up conversations from your phone.** `/archive 2` hides one from the
list, `/unarchive 2` brings it back, and `/chats all` lists the archived ones
so you can see their numbers; `/delete 2` removes one for good and asks you to
confi
FileList
- DeskPilot.nuspec
- DeskPilot.psm1
- web\assets\questionnaire.js
- web\assets\attachments.js
- web\assets\auth.js
- DeskPilot.psd1
- web\assets\logo-mark-dark.png
- web\assets\logo-full.png
- web\assets\styles.css
- web\assets\speech.js
- web\assets\diff.js
- web\assets\logo-full-dark.png
- web\index.html
- web\assets\logo-mark.png
- web\assets\app.js
- web\assets\markdown.js
Version History
| Version | Downloads | Last updated |
|---|---|---|
| 0.5.0-previe... (current version) | 3 | 8/10/2026 |
| 0.5.0-previe... | 4 | 8/9/2026 |
| 0.4.1-previe... | 4 | 8/9/2026 |
| 0.4.0 | 7 | 8/9/2026 |
| 0.4.0-previe... | 3 | 8/9/2026 |
| 0.4.0-previe... | 4 | 8/6/2026 |
| 0.3.1-previe... | 3 | 8/5/2026 |
| 0.3.0 | 23 | 7/23/2026 |
| 0.3.0-previe... | 3 | 7/23/2026 |
| 0.3.0-previe... | 9 | 7/9/2026 |
| 0.2.0 | 15 | 7/9/2026 |
| 0.2.0-previe... | 3 | 7/9/2026 |
| 0.2.0-previe... | 5 | 7/9/2026 |
| 0.2.0-previe... | 5 | 7/9/2026 |
| 0.2.0-previe... | 9 | 7/9/2026 |
| 0.2.0-previe... | 8 | 7/8/2026 |