photon-hq/dsh-imessage
dsh-imessage
Photon-hosted iMessage transport and settings UI for DeepSeek Harness
Install
npx @deepseek-ai/dsh plugin --profile web add dsh-imessageRestart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/dsh-imessage)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from photon-hq/dsh-imessage, cleaned of badges and images.
Photon iMessage for DeepSeek Harness
dsh-imessage adds a Photon-hosted iMessage transport and a Settings → iMessage page to the DeepSeek Harness web profile. A user authorizes Photon with device login, saves the phone number they will send from, and receives a hosted iMessage number to text. Messages from that exact route become DSH prompts and final DSH answers are sent back over iMessage.
The initial compatibility target is:
- DeepSeek Harness
0.1.0-rc.6 - Spectrum
12.7.x(the package is currently locked to12.7.0) - Node.js
22.19+or24+
Install
Install the stable npm package, then start DSH from the workspace its iMessage sessions should use:
dsh plugin --profile web add dsh-imessage
dsh web
DSH forwards plugin ... add to the profile package manager. The unqualified package name follows npm's stable latest channel; use an explicit prerelease tag only when intentionally testing one.
If DSH is run through npx and pnpm is not installed globally, supply both tools for the install command without changing the global environment:
npx --yes [email protected] --package=@deepseek-ai/dsh \
-c 'dsh plugin --profile web add dsh-imessage'
npx --yes @deepseek-ai/dsh web
For a local checkout or packed build:
npm ci --legacy-peer-deps
npm run build
npm pack
dsh plugin --profile web add ./dsh-imessage-*.tgz
Open Settings → iMessage and complete the three cards:
- Select Authorize. The browser opens a blank window immediately, then navigates it to Photon after DSH receives the device code. If popups are blocked, use the displayed link and copyable code.
- Enter the E.164 number you will text from, such as
+14155552671, and save it. - Copy or text the assigned hosted iMessage number shown in the final card.
The plugin always ensures a Photon project named exactly dsh. It reuses the stored accessible project first, otherwise reuses the sole exact case-sensitive match, and creates a US/iMessage project only when none exists. Multiple exact projects or users are reported with their public IDs for manual resolution; the plugin never chooses arbitrarily.
Commands
Ordinary text is queued as a DSH prompt. Prefix a prompt that genuinely begins with / using //, for example //review this route.
| Command | Behavior |
|---|---|
/help | Show command help. |
/new | Create and select a new root session. |
/sessions [page] | List same-workspace root sessions, five per page by default. |
/switch <index|session-id> | Select a listed session by index, exact ID, or unique ID prefix. |
/status | Show the active session and its state. |
/stop or /cancel | Cancel the running turn and invalidate prompts still waiting in the iMessage FIFO. |
/approve <request-id> | Allow one approval request correlated to the iMessage turn. |
/deny <request-id> | Reject a correlated approval request. |
/answer <request-id> <option-or-text> | Answer a correlated question. Commas select multiple numbered choices. |
/new and /switch fail while an iMessage prompt is queued/running or a human interaction is pending. Send /stop first.
…

