DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

jlu-lujing /

jlu-lujing/dsh-studio

Topic repository only

This plugin has no description yet.

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@ca8febb3

DSH Studio

DSH Studio

一个完整的桌面客户端 · 一路护航 DSH

开箱即用的桌面软件:Electron 客户端壳 + 内置 dsh 运行时 + 全家桶插件, 装一个 App,全部能力即开。

MIT License · 基于 DeepSeek Harness


✨ 这是什么

DSH Studio 是一个以桌面客户端为主的 DSH 套件——不是散装的插件集合,而是一个 开箱即用的完整产品:

层 目录 作用
🖥️ 桌面客户端 apps/desktop Electron 壳:启动内置 dsh、加载本地 Web UI、托盘、自启、多窗口、自动更新
⚙️ 内置运行时 apps/dsh-runtime 自带 Node + @deepseek-ai/dsh 全依赖树的独立运行包子模块,离线可用
🧩 全家桶插件 packages/dsh-studio 单一 npm 包聚合全部功能(UI 增强、自动化、局域网网关、主题商店、worktree、满血模式…)

用户无需单独安装 dsh——装一个 App,启动即自动装配全家桶,全部功能开箱即用。

  • 开箱即用:桌面端首启自动装配全家桶,装一个 App 即可
  • 全家桶:工具、UI 增强、自动化等能力全部内置
  • 可拔插:每个功能是内置子模块,可单独启停(host 与 client 界面跟随开关)
  • 可扩展:功能商店面板一键管理启停

🖥️ 桌面客户端

DSH Studio 桌面端是一个 Electron 应用(方案与演进见 docs/DESKTOP.md):

  • 自带运行时,免安装 dsh——内置 apps/dsh-runtime,启动便拉起 dsh web;
  • 智能复用——先探测 127.0.0.1:3080 是否已有健康 dsh 实例,有则直接复用(不干预你已有的实例),无则自管拉起 dsh web --port 0;
  • 无边框透明窗口 + 本地渲染的 DSH Studio 品牌界面,多窗口共享同一 dsh 后台;
  • 托盘 / 开机自启 / 单实例锁;
  • 自动更新链路(M4/M5):拉取 feed.json → 下载 runtime 升级包 → sha512 校验 → 纯 JS 解压到 next/ → 冒烟 → 原子切换 current ↔ previous,失败自动回滚;不碰已签名 App 包;
  • 安全边界:运行期仅放行同 origin,外部导航交给系统浏览器;
  • 只对自管实例自动装配全家桶 / 自动更新;复用外部实例时完全不干预你的配置。

📦 全家桶特性

六个功能都是 dsh-studio 包内的内置子模块(见 docs/ARCHITECTURE.md), 不再是独立的 npm 包——装一个包全部开箱即用。

🎨 WebUI 主题商店

  • 全局界面调整:叠加层改任意 token(浅/深双套值),切主题也生效;
  • 每主题独立风格:海洋 / 樱 / 森林三套预设(深/浅双版),可自定义主题新建/编辑/删除;
  • 持久化到 ~/.dsh/dsh-studio-webui/themes.json,重启自动恢复。

验收记录见 docs/THEME_STORE_VERIFICATION.md。

🔔 桌面通知

  • 监听回合结束,跨平台通知(macOS / Linux / Windows),零 npm 依赖。

⏰ 定时任务(scheduler)

  • cron 定时任务 + 持久化 + 管理路由,支持 shell 命令。

🌐 局域网鉴权网关(lan-auth)

  • HTTPS 反向代理 + token/账号密码登录,默认关闭;
  • 私有 CA 零配置自动生成(SAN 覆盖本机全部局域网 IP),登录页引导下载 .crt 免警告;
  • 本机 loopback 免登录直通,管理路由仅本机可达;登出即刊销 token 并清 cookie。

⌨️ 输入历史(input-history)

  • 记录当前会话发送的消息,输入框无命令菜单时按 ↑/↓ 回填(每个会话单独记忆)。

🌿 git Worktree 会话归属

  • 会话按 cwd 判定 main 或 .dsh/worktree/<branch>;
  • 新建会话可选已有 / 新建 worktree;对话顶部显示归属徽标。

📋 归档会话管理

  • DSH 只隐藏归档会话,dsh-studio 补齐恢复与彻底删除(含二次确认,落盘 workspace.json)。

🔍 GitHub 生态目录

  • 功能商店底部只读展示 topic:dsh-plugin 生态仓库,按 Star 降序;
  • 首次秒出 Top 100,后台补全并 30 分钟缓存;网络受限回退内置快照。

🚀 Boost Mode(满血模式)· 内置 preset

  • 基于 dsh-anchored-standard 二阶段 agent preset:Minimal 引导 → 首次持久晋升信号后开放完整工具目录;
  • 内置 packages/dsh-studio/preset/,默认开启,自动导入 ~/.dsh/.agent-presets/boost-mode;更重的工具按需 “discovery” 解锁(dev_tool_search / skill_search / skill_load)。

🧠 J-Space Mode(标准模式 + J-Space)· 内置 preset

  • 基于 dsh-anchored-standard 二阶段引导(与 Boost Mode 同样的 Minimal 工具对 → 首次持久晋升后开放完整工具目录),并在 preset 内联 J-Space Cognitive Suite V3.6;
  • J-Space 随 preset 内联:安装到 ~/.dsh/.agent-presets/jspace-mode,用 skill_search / skill_load 按需加载,不触碰 ~/.dsh/skills;
  • persona 引导模型在深度推理/长任务/工具重任务/验证恢复时用 skill_load j-space 按需加载;
  • 默认关闭,可在功能商店一键安装/删除。

🗂️ 仓库结构

dsh-studio/
├── apps/
│   ├── desktop/          # 桌面客户端(Electron 壳,客户端本体)
│   └── dsh-runtime/      # 内置 dsh 独立运行时(自带 Node + dsh 全依赖树)
├── packages/
│   └── dsh-studio/       # 全家桶插件单包(聚合 + 六个功能子目录,发布 npm)
├── scripts/              # 客户端/插件开发与构建脚本
├── docs/                 # 架构 / 桌面端 / 迁移 / 验证 文档
├── .github/workflows/    # CI(build/typecheck/test)+ 发布 workflow
├── package.json          # workspace 根
└── pnpm-workspace.yaml   # pnpm workspace

🚀 快速开始

方式一:安装桌面客户端(推荐)

DSH Studio 是一个完整的桌面应用,用户无需安装 dsh / Node 任何东西。从 GitHub Releases 下载对应平台的安装包即可:

  • macOS:DSH Studio-<ver>-arm64.dmg 或 DSH Studio-<ver>-x64.dmg
  • Windows:DSH Studio Setup <ver>.exe
  • Linux:DSH Studio-<ver>.AppImage 或 .deb

下载:https://github.com/jlu-lujing/dsh-studio/releases

启动 App 后,它会自带 dsh 运行时、自动装配全家桶,并支持内置自动更新(拉取 feed.json + sha512 校验 + 原子切换)。

方式二:作为 DSH 插件安装(兼容/高级用法)

如果你已经有一个 dsh 环境,也可以把全家桶作为 npm 插件装进某个 profile:

dsh plugin --profile web add -w @dsh-kit/dsh-studio

方式三:本地源码调试

# 1. 安装依赖并构建
pnpm install
pnpm build
pnpm build:client    # 产 client bundle

# 2. 装进 dev profile(单包 link,替换为你的仓库实际路径)
dsh plugin --profile dev add -w /path/to/dsh-studio/packages/dsh-studio

# 3. 启动 dsh web
dsh web

⒈:桌面端开发用 pnpm desktop:dev(electron-vite 热重载),输出安装包用 pnpm desktop:dist。


🛠️ 插件管理

装好全家桶后,用 dsh-studio 命令管理各功能开关:

dsh-studio list                                     # 列出所有功能及状态
dsh-studio enable dsh-studio-notifier              # 启用桌面通知
dsh-studio disable dsh-studio-scheduler            # 停用定时任务
dsh-studio install [--profile <p>]                  # 把全家桶装进指定 profile(默认 web)
# 注:需要系统里已有 dsh-studio 命令;全新系统请用: dsh plugin --profile web add -w @dsh-kit/dsh-studio
  • 状态保存在 ~/.dsh/dsh-studio/state.json,重启后保留。
  • 每个功能的启停由 host 单入口按 state 决定,无需编辑任何 patch 文件。
  • 停用的功能 host 侧不挂载(路由/定时器/网关不运行),client 侧界面也不注册。
  • 也可在设置页「功能商店」面板一键启停。

详情见 docs/ARCHITECTURE.md。


💻 开发

pnpm dev              # 双 watch:client 热构建 + host tsc watch(重启 dsh 生效)
pnpm build            # 全量构建(host tsc + client tsdown)
pnpm build:client     # 补齐 dsh.client 的 lib/client.js
pnpm typecheck        # 类型检查
pnpm test             # 测试

# 桌面端开发
pnpm desktop:dev      # electron-vite 热重载
pnpm desktop:pack     # 打包(electron-builder --dir)
pnpm runtime:build    # 构建内置 dsh 运行时发行物
pnpm runtime:smoke    # 运行时冒烟

注意:pnpm build 已包含 host 编译;client bundle 仍需 pnpm build:client(或 pnpm dev)产出。 dsh-studio 的 host tsc 会排除 src/**/client/,cient 由 tsdown 单独产出 lib/client.js。

新插件可用官方脚手架生成,再移入 packages/:

npx create-dsh-plugin my-plugin -t tool

📤 发布

当前版本 0.2.1(2026-08-19):单一 npm 包 dsh-studio(license: MIT),桌面客户端/内置运行时随 GitHub Releases 分发。

  • 根 workspace private: true,只承载开发工具链与客户端,不发布到 npm;发布物为 packages/dsh-studio 单一 npm 包 + apps/desktop / apps/dsh-runtime 的桌面发行物。

GitHub Actions

  • ci.yml:push / PR 自动跑 pnpm -r build → typecheck → test。
  • release.yml:workflow_dispatch 手动触发,默认 dry-run;输入改为 false 才用 NPM_TOKEN 真实发布 npm 包,并用 GITHUB_TOKEN 产出桌面发行物到 GitHub Releases。发布前校验单包版本。

本地手动发布(仅备选;日常推荐走 CI):

pnpm -r build && pnpm -r typecheck && pnpm -r test

# 先 dry-run 校验打包内容,再真实发布
pnpm -r publish --access public --no-git-checks --dry-run
pnpm -r publish --access public --no-git-checks

架构详见 docs/ARCHITECTURE.md、开发坑位详见 docs/HANDOFF.md。


📚 许可

  • 满血模式(Boost Mode)preset:基于 dsh-anchored-standard 的二阶段 agent preset,由 dsh-studio 的导入/删除管理器(src/preset.ts)打包分发。
  • GitHub 生态目录的分片抓取/缓存思路参考 0xKcyzz/dsh-plugin-store(MIT);dsh-studio 只取展示能力,不做安装。
    • 简介:首次请求用 Minimal 工具对(bash / str_replace_editor),首次持久晋升信号后开放完整工具目录。
    • 全家桶接入:内置 packages/dsh-studio/preset/,默认开启,自动导入到 ~/.dsh/.agent-presets/boost-mode;功能商店可手动导入/删除。

License

本项目遵循 MIT License。

  • Copyright (c) 2026 Lu Jing
—/ 5

No ratings yet

Manifest verification required

Commit ca8febb3b4b2

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout