deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:MrMu666/dsh-app
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
⭐ 搭配 dsh-LAN 体验最佳
本项目与 dsh-LAN 结合使用可获得最佳体验,建议搭配部署使用。
DeepSeek Harness 客户端:在 App 内打开局域网内指定地址的 DeepSeek Harness 页面。
基于 Tauri 2 + React 19 + TypeScript + Vite。
打包完全依赖 GitHub Actions,本机不进行打包(本机只用于编写和调试代码)。
├── src/ # 前端(React)
│ ├── lib/addresses.ts # 地址规范化 + 地址历史持久化(localStorage)
│ ├── components/
│ │ ├── Welcome.tsx # 欢迎页:地址按钮列表 + 新地址输入
│ │ └── BrowserView.tsx # 浏览页:顶栏(返回/下拉/刷新)+ iframe
│ └── App.tsx # 视图状态机(欢迎页 ⇄ 浏览页)+ 浏览历史
├── src-tauri/ # Tauri 壳(Rust)
│ ├── src/ # Rust 代码
│ └── tauri.conf.json # 应用配置(名称 / 标识符 / 窗口 / 图标)
└── .github/workflows/
└── mobile-build.yml # Android(APK/AAB) + iOS(IPA) 打包工作流
npm install # 安装依赖
npm run tauri dev # 启动桌面开发模式(本机已具备 Rust + MSVC + WebView2)
DeepSeek Harness 通常部署在局域网、以 http://192.168.1.1:3080 明文访问,而移动系统默认禁止:
--debug 构建,Tauri Android 模板的 debug 构建自动放行明文流量
(usesCleartextTraffic=true),无需额外配置。NSAppTransportSecurity > NSAllowsArbitraryLoads 豁免
(见 workflow 的 "Allow cleartext HTTP (ATS) for LAN addresses" 步骤)。推送到 GitHub 后:
mobile-build → Run workflow,可选 both / android / ios;
构建完成后默认自动发布 GitHub Release(可取消勾选 publish_release,也可自定义 release_tag);git tag v0.1.0 && git push origin v0.1.0,同时构建 Android 和 iOS;
Android 产物自动发布到 GitHub Release,iOS 产物在 Actions artifacts 中下载。Android 工程与 iOS 工程(gen/apple)均在 CI 内自动生成(iOS 需要 macOS runner 执行
tauri ios init),无需在本地生成或提交。
说明:tauri-action 的移动端支持从未发布(仅 dev 分支),因此 workflow 直接调用
tauriCLI 构建(android build --debug --apk --aab/ios build)。
| Secret | 必填 | 说明 |
|---|---|---|
GITHUB_TOKEN |
✅(自动存在) | 发布 GitHub Release 用,无需手动配置 |
ANDROID_KEYSTORE_BASE64 |
Android 正式包必填 | keystore 文件的 base64(certutil -encode / base64 生成);配置后构建正式签名 release 包(按 ABI 拆分,单包 20–35MB) |
ANDROID_KEYSTORE_PASSWORD / ANDROID_KEY_PASSWORD |
同上 | keystore 与密钥密码(建议只用字母数字) |
ANDROID_KEY_ALIAS |
同上 | 密钥别名(如 upload) |
APPLE_CERTIFICATE / APPLE_CERTIFICATE_PASSWORD / APPLE_SIGNING_IDENTITY / APPLE_ID / APPLE_PASSWORD / APPLE_TEAM_ID |
iOS 真机包必填 | iOS 签名,需要 Apple Developer Program 付费账号;不配则 iOS 构建失败(预期行为) |
Android 未配置签名 Secrets 时,回退构建 debug 签名包(可安装测试,但体积大,约 400MB); 配置后构建正式签名 release 包(APK/AAB,
--split-per-abi按架构拆分,单包约 20–35MB)。 keystore 生成命令:keytool -genkey -v -keystore upload-keystore.jks -storetype JKS -keyalg RSA -keysize 2048 -validity 10000 -alias upload(JDK 自带 keytool)。
src-tauri/gen/apple)只能由 macOS 生成,CI 的 macos-14 runner 会自动执行
tauri ios init 完成,Windows 本机无法交叉编译 iOS。com.dsh.app(在 src-tauri/tauri.conf.json 中修改)dsh-app(即安装包/可执行文件名)CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。