Preface¶
When using DeepSeek Harness (DSH) sessions, a specific issue arises: there is already a DSH session in the browser, but the goal is to convert iMessage text into a DSH prompt and send the final assistant response back via iMessage, while also controlling the session and current turn.
DSH operates on the philosophy of “everything as a plugin.” The following introduces dsh-imessage, designed for this scenario, adding Photon-hosted iMessage transport and a configuration page to the DSH web profile.
What It Is¶
dsh-imessage is a DSH plugin, described as “Photon-hosted iMessage transport and configuration UI for DeepSeek Harness.”
Its functionality can be summarized in three steps:
- Complete Photon device code authorization on the
Settings → iMessagepage. - Save a sender E.164 number and obtain a hosted iMessage number.
- Subsequently, iMessage texts from that route will enter the DSH prompt, and DSH’s final assistant responses will be returned via iMessage.
The following information can be confirmed from the documentation:
- Repository name:
photon-hq/dsh-imessage - License: MIT
- Package version:
0.2.0 - Initial compatibility target: DeepSeek Harness
0.1.0-rc.6 - Spectrum:
12.7.x, currently locked to12.7.0 - Node.js:
22.19+or24+
The documentation does not separately confirm the owner field; the maintenance entry is stated here based on the repository name.
Core Features¶
Channel and configuration are established first, followed by message routing. Verified capabilities include:
- Photon-hosted iMessage transport
Settings → iMessageconfiguration page- Photon device-code authorization over HTTPS
- Configure an E.164 sender number and obtain a hosted iMessage number
- Queues inbound iMessage text as DSH prompts
- Sends final DSH assistant answers back over iMessage
- Provides
/help,/new,/sessions,/switch,/status,/stop,/cancel,/approve,/deny, and/answercommands - Filters messages by platform, inbound direction, direct message, configured sender, and hosted-line route
- Converts final answers from markdown to plain text and splits long answers
- Stores non-secret configuration in
dsh-imessagesettings and one opaque credential atDSH_IMESSAGE_PHOTON_CREDENTIALS
Boundaries also need to be clear:
- Only final assistant answers are delivered.
- Intermediate reasoning, tool activity, and partial output remain within DSH.
- Approval delivery failure, unhealthy listener, cancellation, or timeout will fail closed.
Installation and Activation¶
First, install the plugin, then start DSH in the target workspace. The installation command provided in the documentation is:
dsh plugin --profile web add dsh-imessage
This step adds dsh-imessage to the DSH web profile.
Next, start DSH:
dsh web
This step starts DSH, activating the web profile plugin just installed.
Typical Usage¶
After starting, open Settings → iMessage and complete the configuration following the page cards:
- Select
Authorize. - Enter the E.164 number you intend to send messages from, such as
+14155552671, and save. - Copy or text the hosted iMessage number to the recipient.
Once completed, plain texts will be queued as DSH prompts. If a prompt itself genuinely starts with /, use the // prefix. For example:
//review this route
The session and turn control commands listed in the documentation include:
/help
/new
/sessions
/switch
/status
/stop
/cancel
/approve
/deny
/answer
These commands are used for session and turn control. If there are currently queued or running prompts, or pending human interactions, /new and /switch may fail; use /stop first if needed.
Use Cases and Considerations¶
Suitable for the following scenarios:
- Wanting to use iMessage text as a DSH prompt.
- Wanting to receive DSH’s final assistant response via iMessage.
- Needing session or turn control commands like
/new,/switch,/approve,/deny,/answer. - Not wanting message content, raw phone numbers, device codes, access tokens, or project secrets to appear in logs.
Considerations:
- The plugin runs with the current
dshprocess permissions; review source code, dependencies, and license before installation. - The plugin license is MIT.
- It only delivers final assistant answers and does not send intermediate reasoning, tool activity, or partial output back via iMessage.
- Unauthorized messages are ignored and not replied to.
- The plugin does not log message content, raw phone numbers, device codes, access tokens, or project secrets.
- Automatic provisioning creates a shared Spectrum user and disables invitations.
- If shared capacity is unavailable, setup will stop with
shared-line-unavailable. - The documentation states it uses Photon CLI compatibility’s
client_id=photon-cli, and this shared client ID is considered an intentional exception.
Summary¶
dsh-imessage adds Photon-hosted iMessage transport and a Settings → iMessage configuration page to DSH. It is suitable for users who want to trigger DSH prompts via iMessage text, receive final responses, and retain session and approval controls.
Relevant links:
- GitHub:
https://github.com/photon-hq/dsh-imessage - Documentation directory page:
https://www.skillhub.cn/plugins/photon-hq/dsh-imessage
The community directory is an independent site and does not represent the official application store of DeepSeek / HyperFang.