deepseek-harness-mobile

by sorsama

10 通知与集成github未核验到 manifest收录于 08-17

DeepSeek Harness 的 Android 伴侣应用:经局域网用手机聊天、看目标、审批与收通知;Kotlin + Jetpack Compose

Android companion for DeepSeek Harness | chat, goals, approvals & notifications from your phone, over your LAN. Kotlin + Jetpack Compose.

安装

dsh plugin --profile web add github:sorsama/deepseek-harness-mobile

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗

安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。

README

目录

DSH Mobile is an unofficial companion app for the DeepSeek Harness (MIT), mirroring its web GUI feature-for-feature in the harness's own visual language. Android only, Kotlin + Jetpack Compose.

Its companion on the other end is dsh-relay — a harness plugin that adds the authentication layer the harness says it lacks, so this app can reach a harness with a real credential and a pinned key instead of an open port. See Relay.

dshm.zyphite.com is the project site — what the app is, what it looks like, and how to get it running, on one page.

The wiki is the user-facing guide: getting started, connecting, troubleshooting, a feature tour and an FAQ.


Screenshots

Connect Chat Trajectory
Recent harnesses with live reachability, LAN discovery, manual host:port, auto-connect. Streamed turns, a glyph per tool, expandable tool cards, permission picker. The same session as a per-turn ledger with usage totals.
Session details Subagents
Context breakdown, goal, plan mode, background jobs, queued turns, host info, session-log export. The subagent catalog — open a child's transcript, follow up, or interrupt it.

Features

  • Connect effortlessly — auto-discovers a harness on your Wi-Fi (active subnet scan + readiness handshake), remembers hosts and probes them for liveness on the way in, supports manual host:port entry, loopback for same-device setups, and auto-connect toggles (last used / LAN / same device).
  • Discord-style navigation — swipe right from the left edge to open the workspace-grouped chat list, swipe left to close it, swipe left from the right edge for the session details panel.
  • Full chat experience — streamed turns with reasoning disclosure, markdown, terminal/diff/read/search/web tool cards, queue dock (edit / remove / steer), history paging, image attachments.
  • Slash commands and skills — the composer adjudicates a / line against the session's own command catalog and runs it through the harness's command gateway; anything the catalog does not claim is sent as a prompt, which is how skills are invoked.
  • Everything the GUI does — goals (phases, rounds, pause/resume/edit), plan mode + plan review, permission approvals, user questions, todo dock, subagents (catalog, follow-ups, interrupt), background jobs, workflow runs, skills, model selection, agent presets, session search, trajectory ledger, session export, message feedback.
  • Notifications — turn complete, goal complete / blocked, review or question waiting for you; background connection via a foreground service.
  • Looks like the harness — the exact DeepSeek Harness design tokens (colors, type, radii, disclosure rows, shimmer, ink buttons) with light / dark / system themes.
  • 11 languages — English, 中文, हिन्दी, Español, Français, العربية, বাংলা, Português, Русский, اردو, ไทย (RTL aware).

Requirements

  • Android 8.0+ (minSdk 26).
  • A running DeepSeek Harness (tested against 0.1.1-rc.2).

Quick start

  1. Install the latest APK from Releases.

  2. Open the app and choose how to connect. The two are not variations of one setting — pick the one that matches what you set up on the computer.

    Relay — encrypted, authenticated, and works from outside your Wi-Fi. Install dsh-relay into the harness web profile:

    dsh plugin --profile web add dsh-relay
    dsh web
    

    Open the printed URL on that computer, set a password, then open /relay/pair. In the app: Relay → Pair a relay, scan the QR. Once every client you use has paired, turn off the relay's compat.addressGrants — nothing here needs it.

    Local network — no setup on the phone, no authentication at all. Apply the one-file LAN patch in harness/README.md, restart dsh web, then tap Scan network. Only on networks you trust.

    Behind your own HTTPS reverse proxy — paste the https:// address into local-network mode. The proxy can forward to loopback, so the harness needs no patch; but it encrypts the link without authenticating anyone. See harness/README.md.

    USB / emulator — dsh web, then adb reverse tcp:3080 tcp:3080, and connect to 127.0.0.1:3080 in local-network mode. No patch needed.

  3. Pick a session, chat, and get notified when the harness is done.

If a connect attempt fails, the app names the cause; the wiki's Troubleshooting page is keyed on that exact sentence.

Compatibility & security

  • See docs/COMPATIBILITY.md for the harness version matrix and loopback-only surfaces.
  • Read docs/SECURITY.md first. The bare harness has no authentication, so local-network mode is for trusted networks only — the app says so on the connect screen for the same reason. Relay mode adds a real credential and a pinned certificate, but authenticating still grants the same power as a shell on that computer, because the agent runs commands there.

Building

./gradlew :app:assembleDebug      # debug APK
./gradlew :app:assembleRelease    # release APK (signed when keystore env is set)

The shipped version comes from the git tag: the release workflow exports DSH_VERSION_NAME from the tag name, and versionCode is derived from it. A local build falls back to the literal in app/build.gradle.kts.

See CONTRIBUTING.md for the development loop against a real harness, the module layout, and the release workflow.

Repository

Path What
core/ Pure-JVM protocol core: wire DTOs, RPC client, WebSocket downlinks, reconnect loop, session folding, notification classifier
app/ Android UI: screens, discovery/connection, foreground service, notifications, i18n
mock-harness/ Ktor mock of the harness /api server for tests
tools/capture/ Records real harness traffic into conformance fixtures
harness/ Companion patch + guide for LAN mode
— The relay itself lives in sorsama/deepseek-harness-relay
docs/ Architecture, protocol notes, compatibility, security

License

MIT. Bundled third-party material is listed in THIRD_PARTY_NOTICES.md. The DeepSeek Harness and its brand are property of their respective owners; this project is an independent, community-built remote.

原始 README: https://github.com/sorsama/deepseek-harness-mobile/blob/main/README.md ↗

同类插件

查看全部 →
通知与集成alvinunreal

dsh

将 DeepSeek Harness 的生命周期状态、错误与审批请求,桥接到本地运行的 OpenPets 桌面伙伴。

查看详情
1081github+08-21
通知与集成tencent-connect

dsh-qqbot

让 QQ Bot 接入 DeepSeek Harness(dsh)的官方插件

查看详情
55github+08-17
通知与集成omdsh-dev

dsh-open-in-vscode

从 Web GUI 一键在 VS Code 中打开工作区目录。

查看详情
39github+08-13
通知与集成omdsh-dev

dsh-notification

回合完成桌面通知,按结果分控 + 关键词过滤。

查看详情
38github+08-13
通知与集成THEWOLFWALKER

dsh-notifier

DSH 统一通知推送与远程控制:一个 `notify()` API 打通 25+ 渠道(Telegram / 钉钉 / 飞书 / 企业微信 / QQ 机器人 / WxPusher / PushPlus / Server 酱 / Bark / Discord / Slack / ntfy / webhook 等),timeSensitive / active / passive 分级路由并重试;五通道反向审批(Telegram 按钮 / 飞书卡片 / QQ / WxPusher / 微信 iLink);QQ/钉钉/飞书官方扫码登录;本地 Web 管理台;多 agent 路由;系统桌面通知——以及**手机指挥中心**:在手机上发 `!status` / `!stop` / `!retry` 遥控 agent,通知带可操作按钮(查看结果 / 重试 / 日志,点击回调 agent)。密钥脱敏、工具限流、零运行时依赖。

查看详情
27github+08-16
通知与集成wzj998

chatccc

飞书(Lark)或微信(WeChat)聊天控制 DeepSeek Harness / Claude Code / Cursor / Codex / CCC Agent

查看详情
22github+08-23