설치
npx @deepseek-ai/dsh plugin --profile web add "github:april-jk/dsh-mobile-plugin#v0.1.4"이 명령은 GitHub 저장소 주소에서 생성됩니다. 실행 전에 업스트림 README와 소스를 검토하고 재현성이 필요하면 release 또는 commit을 고정하세요.
README
유지 관리자가 작성한 문서 스냅샷입니다.
DSH Mobile Remote
Access a local DeepSeek Harness Web UI from a paired phone through an outbound-only Relay connection.
Community project: this is an unofficial project, independently developed and maintained by the community. It is not reviewed, endorsed, or supported by DeepSeek.
Complete project, signed Android APK, and private Relay package: DSH Mobile Suite

Compatibility
The current release is tested against @deepseek-ai/dsh@0.1.0-rc.6. DeepSeek Harness is in Developer Preview and may introduce breaking plugin changes. CI pins this version so compatibility changes are explicit.
Requirements:
- Node.js 18 or newer
- DeepSeek Harness
0.1.0-rc.6 - A phone running the companion DSH Mobile app
- HTTPS access to the configured Relay
Install
The immutable GitHub tag is the recommended public installation path. It requires neither a global DSH installation nor a local plugin directory:
npx @deepseek-ai/dsh plugin --profile web add "github:april-jk/dsh-mobile-plugin#v0.1.4"
npx @deepseek-ai/dsh web
Each GitHub Release also contains a prebuilt .tgz. DSH can install it directly from its release URL without a manual download or local path:
npx @deepseek-ai/dsh plugin --profile web add "https://github.com/april-jk/dsh-mobile-plugin/releases/download/v0.1.4/april-jk-dsh-mobile-0.1.4.tgz"
npx @deepseek-ai/dsh web
The package metadata is ready for npm, but @april-jk/dsh-mobile is not yet published to the public npm registry. After its first npm release, the registry command will be:
npx @deepseek-ai/dsh plugin --profile web add "@april-jk/dsh-mobile@<published-version>"
npx @deepseek-ai/dsh web
To uninstall:
npx @deepseek-ai/dsh plugin --profile web remove @april-jk/dsh-mobile
For local development, clone the repository and let the shell supply its current path:
git clone https://github.com/april-jk/dsh-mobile-plugin.git
cd dsh-mobile-plugin
npm ci
npm run build
npx @deepseek-ai/dsh plugin --profile web add "$PWD"
npx @deepseek-ai/dsh web
Pair a phone
Open Settings > Remote Access in the local DSH Web UI and scan the version 2 QR code with the mobile app. The QR code transfers the one-time pairing data and the end-to-end encryption key; a six-digit code by itself is not sufficient in version 0.1.4. Later DSH starts reuse the device credential stored in ~/.dsh-remote/config.json with owner-only permissions.
The same settings page can remove the pairing. Removal revokes the Relay device credential, disconnects active remote access, and clears the local credential only after the Relay confirms the operation. The dsh-mobile unpair command provides the same behavior when the Web UI is unavailable.
Network and data behavior
- DSH remains bound to
127.0.0.1:3080; the plugin never creates a public listener. - The computer opens an outbound WSS connection to
https://relay.dshmobile.onlineby default. SetDSH_RELAYbefore starting DSH to use another compatible Relay. - HTTP, SSE, and WebSocket payloads are end-to-end encrypted between the mobile app and this Companion with AES-256-GCM. The Relay only forwards sealed frames; TLS additionally protects connection metadata in transit.
- Version 0.1.4 uses a QR-provisioned pre-shared key and does not provide forward secrecy. Unpair a device and pair it again if the QR code or either endpoint may have been compromised.
- The plugin stores its Relay device token locally in
~/.dsh-remote/config.jsonand never sends that token to the mobile client. - The Relay records bounded phone metadata and access times for the access timeline. It does not persist DSH request or response bodies.
- Installing this bundle disables DSH's native directory picker and enables the browser-based picker so remote browsers can choose a directory without opening Finder or another native dialog.
For a private Relay, start DSH with the same HTTPS origin configured in the mobile app:
DSH_RELAY=https://relay.example.com npx @deepseek-ai/dsh web
Standalone commands
The fallback CLI is installed as dsh-mobile and supports start, pair, status, and unpair. Normal users should manage pairing through the DSH settings page.
Development
npm ci
npm run build
npm test
npm pack --dry-run
dist/ is committed intentionally so GitHub installs have a complete plugin without lifecycle scripts. CI runs build, tests, bundle freshness checks, and an npm pack check on Node.js 18, 20, and 22. It also verifies installation against the pinned DSH Developer Preview.
To publish a release, update package.json and package-lock.json, rebuild dist/, and push a tag that exactly matches v<package.version>. The tag workflow repeats all release checks, then creates an immutable GitHub Release with the prebuilt npm tarball and SHA256SUMS. A rerun succeeds only when the existing asset set and both asset contents are identical; it never overwrites an existing asset. A mismatched tag fails before any artifact is uploaded.
npm publishing is disabled by default. Repository maintainers can opt in by setting the Actions variable NPM_PUBLISH_ENABLED to true and adding an NPM_TOKEN Actions secret with publish access to @april-jk/dsh-mobile. With either setting absent, GitHub Releases continue normally and no npm publish is attempted.
Community discovery
The repository should use the dsh-plugin and deepseek-harness GitHub topics. A single-project post for the official plugin Discussion category can use:
DSH | DSH Mobile Remote | Access your local DSH Web UI from a paired phone
A ready-to-post project description is maintained in docs/SHOW-YOUR-PLUGIN.md.
License
프로젝트 파일 및 신호
표시된 항목은 디렉터리 스냅샷에서 감지된 공개 저장소 신호입니다.
저장소 정보
- 언어
- TypeScript
- 라이선스
- MIT
- 최신 릴리스
- v0.1.4
- 마지막 업데이트
- 2026. 8. 17. AM 5:34
신중하게 설치하기
소스 코드, 권한, 수명 주기 스크립트, 의존성 및 네트워크 접근을 검토하고 신뢰하지 않는 플러그인은 격리 환경에서 테스트하세요.