DeepSHPlugins
dsh-on-imessage 项目预览
GITHUB / COMMUNITY PROJECT

dsh-on-imessage

客户端与终端PythonApache-2.0

在 iPhone 信息里直接和本机 DeepSeek Harness(dsh)对话:切换工作区/会话、开新会话、原生信息气泡回复,无需额外 App、服务器或云服务。

5 Starsyuunnn 更新时间 2026-08-21
访问 GitHub 仓库
dsh-on-imessage 项目预览

项目介绍

中文

在 iPhone 信息里直接和本机 DeepSeek Harness(dsh)对话:切换工作区/会话、开新会话、原生信息气泡回复,无需额外 App、服务器或云服务。

English

Chat with local DeepSeek Harness agents from iPhone iMessage: switch workspaces/sessions, start new sessions, and get replies in the Messages app — no extra apps, no servers, no cloud.

项目信息与收录信号

快照 2026-09-11
作者 / 组织
yuunnn
仓库
yuunnn/dsh-on-imessage
GitHub Stars
5
Forks
0
开发语言
Python
许可证
Apache-2.0
最近推送
2026-08-21
Manifest
数据中检测到声明

公开仓库不自动等于可商用;许可证与当前兼容性以原项目文档为准。Manifest 和数据评分不构成安装安全认证。

数据评分

71/ 100
维护活跃
86
文档与实用信息
100
生态关注度
22
安装便捷信号
100
项目声明信号
100

近 21 天仍在更新;README 含完整安装与使用说明;关注度尚低(5)。

评分来自已有数据快照的五维模型,仅作浏览参考,不是实际使用评测或安全检测结论。

安装与使用

所有项目资料与许可均以对应 GitHub 仓库为准。

dsh plugin --profile web add github:yuunnn/dsh-on-imessage

复制命令不会自动执行。请先阅读仓库文档,确认环境要求与许可证。

项目截图

仓库 README

GitHub 原文

已保存的仓库文档快照;文档抓取时间未记录,可能与上方目录介绍处于不同版本。安装前请核对当前仓库说明。

dsh-on-iMessage

Chat with your local DeepSeek Harness (dsh) agents from your iPhone, right inside the Messages app — no extra apps, no servers, no cloud.

GitHub stars GitHub release License Awesome DSH Plugin

macOS iMessage DeepSeek Harness PRs welcome

中文版请阅读 README.zh.md.

Turn your Mac into a 24/7 dsh companion that lives in your iMessage threads. Send a message to your bridge account and your local dsh agent picks it up, switches workspaces/sessions, runs tools, and replies back — all without opening a terminal.

Why This Exists

  • You already live in iMessage; dsh lives on your Mac.
  • SSH from your phone is clunky. Web UIs need ports/VPNs. Telegram/WeChat need third-party platforms.
  • iMessage is already on every iPhone, end-to-end encrypted, and works offline-first.

This bridge gives you a real chat experience: white bubbles from dsh, blue bubbles from you, one-to-one.

Features

  • Chat with dsh from iMessage — send any message, get the agent's reply.
  • Workspace switching — dsh, dsh use stockKing, dsh use 2.
  • Session switching — dsh sessions stockKing, dsh use stockKing 0.
  • New sessions — dsh new <message>.
  • Web UI sync — when dsh web is running, messages go through its local API so your browser stays in sync.
  • Safe by default — strict sender whitelist; nobody else can trigger your agent.
  • Bilingual replies — follows your Mac's language (or DSH_BRIDGE_LANG=en|zh).
  • Zero third-party services — everything stays on your Mac and Apple's iMessage.

Requirements

  • macOS with Messages (iMessage) and a second Apple ID for the bridge account (recommended, avoids self-chat duplication).
  • DeepSeek Harness installed (this is the dsh agent).
  • Python 3.9+ (stdlib only for the bridge).

Install

Option A — as a dsh plugin (recommended)

This repo is a standard DeepSeek Harness plugin bundle, so it can be installed with one command:

dsh plugin --profile web add github:yuunnn/dsh-on-imessage

Then set the required environment variables in the shell that starts dsh web:

export DSH_BUDDY="+861234567890"             # your iPhone number
export DSH_AUTHORIZED_FROM="+861234567890"   # sender whitelist
export DSH_BRIDGE_ACCOUNT="E:[email protected]" # the second Apple ID signed into Messages

Restart dsh web. The plugin starts bridge.py automatically when the dsh profile boots.

If pnpm asks to allow build scripts, add dsh-on-imessage: true to the profile's pnpm-workspace.yaml — this package has no build step, so this is usually not needed.

Option B — standalone daemon

Paste this into your Mac terminal:

curl -fsSL https://raw.githubusercontent.com/yuunnn/dsh-on-imessage/main/install.sh | bash

That's it. The installer clones this repo into ~/.dsh/bridges/imessage, starts the daemon, and prints the next steps, including signing in to a second Apple ID in Messages.

The installer only needs git and python3. Everything else is already on your Mac.

DSH_BIN (optional): if your dsh CLI is not on PATH and not in the npx cache, set the environment variable to its entry point, e.g. export DSH_BIN="$HOME/deepseek-harness/apps/cli/lib/bin.js".

Setup

  1. Create a second Apple ID (e.g. [email protected]) at appleid.apple.com. This becomes the "dsh persona".
  2. Sign in to that account in Mac Messages (Messages > Settings > iMessage).
  3. Set the bridge configuration. The bridge reads these from the environment:
  • DSH_BUDDY = your iPhone number, e.g. +861234567890
  • DSH_AUTHORIZED_FROM = your iPhone number (or the email you reply from)
  • DSH_BRIDGE_ACCOUNT = the iMessage account the bridge listens on, e.g. E:[email protected]
  1. Restart the daemon:
   pkill -f bridge.py; DSH_BUDDY="+861234567890" DSH_AUTHORIZED_FROM="+861234567890" DSH_BRIDGE_ACCOUNT="E:[email protected]" ~/.dsh/bridges/imessage/install.sh
  1. Text your bridge account from your iPhone. It replies with dsh help.

Usage

CommandMeaning
dshList workspaces
`dsh use <id\path\name>`Switch workspace (latest session)
`dsh use <id\path\name> <session#>`Switch workspace + specific session
dsh sessions [<workspace>]List sessions
dsh new <message>Start a new session
anything elseContinue the current session

Workspaces are matched by index, full path, or basename — exact match wins, ambiguous matches list candidates.

Architecture

iPhone iMessage
   │  (send to [email protected])
   ▼
Mac Messages (chat.db + osascript)
   │
   ▼
bridge.py (poll new messages)
   │
   ├── dsh web API (127.0.0.1:3080)  ──► dsh web UI stays in sync
   └── dsh --profile headless --resume (fallback)
   │
   ▼
reply via Messages back to iPhone

Security

  • Sender whitelist: only AUTHORIZED_FROM handles are processed.
  • Account isolation: only messages addressed to the bridge account are processed.
  • Local-only: no public servers, no telemetry, no cloud.
  • You can keep using iMessage for personal memos; those go to a different thread and are ignored.

FAQ

Why a second Apple ID? iMessage treats messages between addresses of the same Apple ID as self-chat, which duplicates bubbles. A separate Apple ID gives a clean one-to-one conversation.

Do I need the dsh web UI running? No. The bridge falls back to the headless CLI if the web process is not listening.

Can other people trigger it? No. Only your whitelisted handle(s) can.

License

Apache-2.0. See LICENSE.

使用前核对

安装步骤、兼容版本与授权范围以原项目当前文档为准。Stars 和评分是快照中的导航信号。

安装与排错 · 项目问题反馈

同类项目