返回目录
其他 待识别

dsh-remote

Andiii208/dsh-remote

该仓库暂未提供项目说明。

Stars
1
Forks
0
Issues
0
更新
今天

PROJECT TOPICS

项目标签

PROJECT README

README

dsh-remote — 手机远程连接 DeepSeek Harness

CI Release License: MIT DeepSeek Harness

dsh-remote 是一个开源社区产品:用手机远程连接 DeepSeek Harness(DSH),离开电脑后也能盯住 agent、接收通知、一键审批、回答提问、继续对话。对标 Claude Code Remote Control 的定位,但面向 DSH 开源生态,代码与数据都留在用户本机,手机只是视口。

  • 跨端:React Native + Expo(TypeScript),iOS + Android 一套代码,EAS 云构建无需 Mac 即可出 iOS 包。
  • 审批流程:会话列表待办横幅直达审批列表页,多选批量批准/拒绝、提问批量跳过;处理历史按时间倒序可查;通知点击深链直达 approval/:rpcId
  • 会话列表:搜索(标题/workspace/最近消息,大小写不敏感)、按 workspace 分组(无 workspace 归「其他」)、上下文压力分档提醒(<70 正常 / 70–85 偏高 / ≥85 告警)。
  • 聊天体验:长按消息操作菜单(复制全文/按代码块分别复制);代码块默认展开可折叠 + 轻量语法高亮(关键词/字符串/注释/数字四类);流式暂停为真中断(session.interrupt RPC,失败自动回退本地暂停渲染并提示)。
  • LAN 起步、传输可插拔:自动发现 + 二维码配对 + 最近主机一键重连,也可以手动直连局域网内的 DSH(host:3080);传输层抽象为 Transport 接口,连接页 HOST 输入 relay:// / ws:// URL 即切换 Relay 模式(M3 中继:控制面 + E2E 加密 + 离线队列,自部署不托管)。
  • 低门槛连接(P2):首启 3 步引导 → 扫码电脑上的配对二维码即连(dshremote://pair 深链);同一局域网点「自动发现」列出可用实例;冷启动自动重连最近主机。
  • 协议对齐:纯 TS 协议包(packages/protocol,零 RN 依赖)与 DSH 原生类型零失真对齐;宽容解码,线上层永不因未知数据崩溃。
  • 设计:UI 设计系统 v7(docs/design/UI-SYSTEM-v7.md)——双主题(浅/深跟随系统)、DeepSeek 官方主按钮蓝(浅 #3964FE / 深 #5686FE)、官方黑色鲸鱼、Space Grotesk 显示字体;动效克制且尊重系统「减弱动态」。

界面预览

连接页 会话列表 聊天 首启引导
connect sessions chat onboarding

截图来自 Web 预览(390×844 视口,浅/深双主题各截其一:连接页浅色、会话列表深色、聊天浅色、首启引导深色);真机观感一致(通知/扫码为原生能力,Web 会优雅降级)。

仓库结构

dsh-remote/
├── apps/
│   └── mobile/            # Expo RN App(iOS + Android)
│       ├── app/           # expo-router 页面:连接、会话列表、聊天、审批列表/详情/历史、设置
│       ├── src/
│       │   ├── transport/ # ConnectionProvider + pipeline(装配 ConnectionLoop)
│       │   ├── data/      # SessionStore:会话镜像、折叠、投影派生
│       │   ├── notify/    # 通知分类器 → 本地通知(expo-notifications)+ 后台保活
│       │   ├── discovery/ # 最近主机 / 子网自动发现 / 配对深链 / 首启引导
│       │   ├── ui/        # 设计系统 v7 组件(WhaleMark/StatusChip/Button/Field/…)
│       │   ├── theme.ts   # DSH 设计令牌 v7(双主题:浅 #3964FE / 深 #5686FE)
│       │   └── theme-context.tsx # ThemeProvider + useTheme(跟随系统深浅色)
│       └── app.json       # EAS 配置(云构建)
├── packages/
│   └── protocol/          # TS 协议核心(纯 TS,零运行时依赖)
│       └── src/           # envelopes / codec / rpc / ws / transport / loop / dto / relay(M3)
├── mock-harness/          # DSH /api + WS 测试桩(回放 conformance fixtures)
├── tools/
│   └── capture/           # 录制真实 DSH 流量 → conformance fixtures
├── harness-plugin/        # DSH 宿主配对插件(M2:token 签发/校验/配对围栏;M3 出站中继客户端,E2E 加密数据面)
├── relay/                 # M3 中继服务器(WS 控制面 + E2E 密文转发 + 离线队列;自部署,不托管)
├── docs/
│   ├── ARCHITECTURE.md / PROTOCOL.md / COMPATIBILITY.md / SECURITY.md
│   └── design/            # UI-SYSTEM.md / BRAND.md / CONNECTION-UX.md
└── package.json / pnpm-workspace.yaml / tsconfig 等

快速开始

pnpm install
pnpm test
pnpm typecheck
pnpm audit --prod   # 发布前依赖审计

# 起 mock-harness(无需真实 DSH 即可联调;手机同 Wi-Fi 联调时加 --host 0.0.0.0)
pnpm --filter mock-harness build
node mock-harness/dist/cli.js --port 3080

# 录制真实 DSH 流量 → conformance fixtures(需要可达的 DSH)
pnpm --filter @dsh-remote/capture build
node tools/capture/dist/cli.js record --host 127.0.0.1 --port 3080 --out ./fixtures

构建(EAS 云构建,无需 Mac 出 iOS 包)

cd apps/mobile
npx eas-cli build --profile development   # 开发版(development client)
npx eas-cli build --profile preview       # 内部预览
npx eas-cli build --profile production    # 商店版(自动递增 build number)

前置:eas.json 已配置三个 profile;首次运行 npx eas-cli login + npx eas-cli init(写入 extra.eas.projectId)。真机联调步骤见 docs/MANUAL.md

文档

里程碑状态

里程碑 状态
M0 骨架与协议(monorepo + protocol + mock-harness + capture + docs + App 壳) ✅ 已交付
M1 遥控闭环(通知/保活/审批提问/消息/goal-todo 控制) ✅ 已交付
M2 跨端与安全(iOS EAS、配对 token 鉴权、开源发布) ✅ 已交付
M3 中继 配对闭环已实现(relay 服务器、RelayTransport、E2E 加密、配对码闭环、设备密钥持久化、离线队列/推送桩、硬化文档);真机推送与真机回归留待设备/账号窗口

状态:M0–M2 已通过评审;M3 中继(M3.1–M3.4)已实现并全仓回归绿;Phase B 真机联调已在 Android 真机(Expo Go)验证通过(连接/会话/流式聊天/发消息/审批/提问/goal 暂停/断线重连),通知/后台保活/真机推送/relay 真机回归需 development build 与设备/账号窗口验证(Expo Go SDK 53+ 限制,见 docs/MANUAL.md)。

贡献

致谢

协议研究与 mock 方法论参考 sorsama/deepseek-harness-mobile,保持协议兼容。

CLASSIFICATION EVIDENCE

分类依据

项目类型待识别
功能分类其他
规则置信度

系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。