kriskwok/dsh-ios-app

插件Plugin ⭐ 4 其他Other

原生 SwiftUI iPhone Agent 客户端,直接连接远程 DSH 或 Hermes 服务器。不使用 WebUI 或 WKWebView,所有界面由 iOS 原生组件绘制。

catalog 简介 / catalog descriptioncatalog description:一款可以远程控制DSH和Hermes等AI助手的APP,仅支持iOS。

项目介绍Project Overview

DSH iOS App 是一款基于 SwiftUI 的 iPhone 客户端,原生组件直连远程 DSH 或 Hermes 服务器。它支持多服务器管理、工作区分组会话、实时流式回复与 Markdown 渲染、模型切换及危险操作审批。使用时需在 Xcode 16+ 中配置签名并部署到 iOS 17+ 设备,且必须开启 HTTPS 才能写入 Keychain 凭据。

DSH iOS App is a native SwiftUI iPhone client that connects directly to remote DSH or Hermes servers without any web view. It supports multi-server management, workspace-grouped sessions, real-time streaming replies with Markdown rendering, model switching, and dangerous-action approval. Use it on iOS 17+ devices with Xcode 16+. Note that HTTPS is required for credential storage in the Keychain, and project regeneration via xcodegen is needed after modifying project.yml.

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

命令行安装CLI Install

dsh plugin --profile web add github:kriskwok/dsh-ios-app

kriskwok/dsh-ios-app 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

DSH iOS App

原生 SwiftUI iPhone Agent 客户端,直接连接远程 DSH 或 Hermes 服务器。不使用 WebUI 或 WKWebView,所有界面由 iOS 原生组件绘制。

功能

  • 多服务器管理(添加、编辑、删除、切换)
  • DSH 会话按工作区分组;Hermes 会话按渠道 → 工作区 → 会话分组
  • 实时流式回复、Markdown 渲染、思考过程展示、工具运行状态
  • DSH 会话支持切换模型,按提供商分组,官方置顶,浮层选择
  • 危险操作审批(拒绝、允许一次、本会话允许、始终允许)
  • 左缘右滑打开会话抽屉,抽屉内可新建会话
  • HTTPS 强制校验,密码仅存 Keychain
  • Hermes OAuth/PKCE 登录、Bearer token 自动续期

要求

  • macOS + Xcode 16+
  • iOS 17+
  • xcodegen(修改项目定义时需要)

构建运行

cd dsh-ios-app
open DSHIOSApp.xcodeproj

在 Xcode Signing & Capabilities 中选择自己的 Team,连接 iPhone 运行。

修改 project.yml 后重新生成工程:

brew install xcodegen && make project

项目结构

DSHIOSApp/
├── App/            # AppShellView、抽屉、服务器设置
├── Views/          # ChatSessionView、DSHUIView、MarkdownText
├── Services/       # API 客户端、Keychain、网关
├── Models/         # 数据模型
└── Support/        # 扩展工具

服务器部署

参见 deploy/README.md

上一个 Prev dsh-task-notify 下一个 Next dsh-cc-import