返回目录
其他 完整应用

dsh-reasonix-desktop

sealfly/dsh-reasonix-desktop

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

Stars
1
Forks
0
Issues
0
更新
1 天前

PROJECT TOPICS

项目标签

PROJECT README

README

DSH-ReasonixUI(Wails 版)

Reasonix v1.38.2 前端的 Wails 外壳,桥接到 DSH 后端(127.0.0.1:3080)。

为什么从 Electron 迁到 Wails

Reasonix 前端是为 Wails 写的(依赖 window.go.main.App + window.runtime + --wails-draggable 原生拖拽)。之前的 Electron 桥把 --wails-draggable 映射成 -webkit-app-region: drag,触发了 Chromium 的合成层行为,导致布局热切换时侧栏 logo 叠影(旧帧残留)。Wails 的拖拽是原生层的,不经过渲染合成,根除叠影。

项目结构

├── main.go           Wails 入口(embed 前端 dist + 原生拖拽)
├── app.go            App 结构体 + 窗口控制
├── app_settings.go   设置/主题/诊断/bot(防前端崩溃结构)
├── app_session.go    会话(DSH session.* 透传)
├── app_models.go     模型(session.models/selectModel)
├── app_tree.go       项目树(session.list 按 cwd 分组)
├── app_cost.go       上下文预算卡/质量地板/AI 重命名/外壳状态
├── app_history.go    历史(列表/搜索/上下文)
├── app_prices.go     费用计算(prices.json 定价表)
├── app_terminal.go   终端桥方法
├── dsh.go            DSH 通用 RPC 透传(不设白名单,不限制能力)
├── settings.go       JSON 设置持久化
├── terminal.go       本地终端(os/exec spawn)
├── prices.json       费用定价表(可编辑,元/百万 tokens)
└── frontend/dist/    Reasonix v1.38.2 前端构建产物(本项目品牌改造 + 8 处注入由 scripts/apply-*.js 重放)

前端版本与升级流程:见 docs/upgrade-v1382-log.md(当前 v1.38.2)与 docs/upgrade-assessment-v1388.md(v1.38.8 存档评估)。 升级一条命令:node scripts/sync-upstream-dist.js <上游 dist>(自动重放品牌 + 全部注入)。

构建 & 运行

# 前置:Go 1.26+(goproxy.cn 代理)
$env:GOPROXY = "https://goproxy.cn,direct"

# 构建(关键:Wails 必须加 -tags production,否则编译"提示错误"占位)
go build -tags production -o DSH-ReasonixUI.exe .

# 或正式打包(需 Wails CLI)
go install github.com/wailsapp/wails/v2/cmd/wails@v2.13.0
wails build

# 运行
.\DSH-ReasonixUI.exe

验证清单(迁移核心目标)

  1. 暗色主题:GetThemeExperience 返回 themeMode=dark
  2. 原生拖拽--wails-draggable 由 Wails runtime 处理,无 polyfill
  3. 无叠影:切工作台↔经典↔创作,侧栏 logo 不重复打印(核心验证点)
  4. 设置面板:诊断页不崩(CapabilityDiagnostics 返回完整结构)
  5. 终端:cmd/pwsh spawn + terminal:output/exit 事件

关键约定(防回归)

  • 项目原则(见 Electron 项目 PRINCIPLES.md):前端 dist 零改动、一切适配走 Go 桥、不限制 DSH 能力(dsh.go 通用 RPC 透传)。
  • 防崩溃结构:GetThemeExperience / CapabilityDiagnostics / RuntimeDoctor / bot / StorageSettings / SkillsSettings 必须返回完整结构,不能返回空(否则前端读字段崩溃——这是 Electron 版踩过的坑)。
  • DSH 后端是共享实例(3080),绝不主动关闭它(杀它会杀本会话)。

本地模型 / 离线部署

  • 本地模型接入(ollama / LM Studio / vLLM 等 OpenAI 兼容端点):见 LOCAL-MODEL.md(已实测验证)。
  • 安装包双模式:老式包(build-installer.ps1,DSH 联网装)与懒人包(build-installer.ps1 -Bundle,内置 dsh+node 离线一键装,约 96MB)。懒人包离线 runtime 由 build/windows/installer/prepare-dsh-runtime.ps1 在联网构建机上准备(产物 dsh-runtime/ 被 gitignore,不入库)。

CLASSIFICATION EVIDENCE

分类依据

项目类型完整应用
功能分类其他
规则置信度

系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: desktop-app。