photon-hq/dsh-imessage

用于 DeepSeek Harness 的光子托管的 iMessage 传输和设置界面

Project Overview项目介绍

This is a native plugin built exclusively for DeepSeek Harness (DSH), that adds a Photon-hosted iMessage transport layer and a dedicated iMessage settings page to DSH’s web profile. After a user authorizes Photon via device login and saves their originating E.164 phone number, they receive a dedicated hosted iMessage number to route messages. Any incoming iMessage from the configured route is converted into a DSH prompt, and the final answer generated by DSH is sent back through the same iMessage route. The plugin currently targets DSH 0.1.0-rc.6, Spectrum 12.7.0, and Node.js 22.19+ or 24+.

Installing the stable version of the plugin uses DSH’s built-in profile package manager via the command dsh plugin --profile web add dsh-imessage, then you start DSH web with dsh web. For users running DSH via npx without a global pnpm installation, the repository provides a two-line npx command that pulls in the required tools without changing your global environment. Local development builds can be compiled, packed into a tgz archive, and installed from that local file. After installation, you must complete three setup steps in the new iMessage settings page to get the service working.

The plugin supports a set of slash commands for iMessage, including help, new session, session listing, session switching, status check, task cancellation, and handling approval or question requests. Only inbound iMessage direct messages from the configured sender number and routed through the assigned hosted line are accepted, and unauthorized traffic is ignored without logging. The plugin does not store message content, raw phone numbers, or most sensitive credentials, only non-sensitive configuration, an opaque credential, and limited session data. It is released under the open-source MIT license, and published to npm via GitHub OIDC trusted publishing with SLSA provenance.

这是一个专为 DeepSeek Harness 开发的原生 DSH 插件,会给 DSH 的 Web 配置文件添加 Photon 托管的 iMessage 传输通道,以及一个「设置 → iMessage」配置页面。用户通过设备登录授权 Photon 后,设置自己的发信号码,即可获得一个托管 iMessage 号码用于收发消息。入站短信会转为 DSH 提示词,DSH 生成的最终回答会原路发回 iMessage。该插件兼容 DSH 0.1.0-rc.6、Spectrum 12.7.0 以及 Node.js 22.19+ 或 24+。

安装可通过 DSH 内置的包管理命令完成,稳定版从 npm 的 latest 通道获取,本地开发版本可通过编译打包后从本地 tgz 文件安装。安装完成后需要进入设置页面完成三步配置:授权 Photon、输入 E.164 格式的发信号码保存、获取分配的托管 iMessage 号码。插件会自动复用或创建名为 dsh 的 Photon 项目,遇到冲突项目会提示手动处理,不会随意选择。

插件支持一系列以 / 开头的 iMessage 命令,可用于创建、切换、列出会话,查看状态,取消运行中的任务,处理审批请求等。入站消息仅接受符合规则的 iMessage 直连消息,未授权流量会直接忽略,不会记录消息内容、敏感凭证等隐私数据。项目采用 MIT 开源许可,通过 GitHub Actions 结合 OIDC 发布到 npm,支持 SLSA provenance 验证。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 1 note1 项提示
  • 10 stars - an early-stage project星标 10,属于早期项目
DSH walks through these 9 checksDSH 会逐条核对这 9 项

Compatibility兼容性

  • DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
  • External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
  • Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册

Security安全性

  • Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
  • Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
  • curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
  • Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
  • Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
  • Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式

Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

dsh plugin --profile web add dsh-imessage

把 photon-hq/dsh-imessage 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

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 to 12.7.0)
  • Node.js 22.19+ or 24+

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 --package=pnpm@10.33.0 --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:

  1. 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.
  2. Enter the E.164 number you will text from, such as +14155552671, and save it.
  3. 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

Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →

← 上一个 Prev DSH-FormatForge 下一个 Next dsh-novel-solo →