Back to home@yin52133

dsh-luban

🛠️ Custom workbench plugin suite for DeepSeek Harness (DSH) — LAN auth, task board, SSH + tmux keep-alive, shared Windows/Ubuntu sessions, context HUD & serial/debug tooling. Built for embedded devs: Windows debug box + LAN Ubuntu build server. Monorepo of dsh-luban-* plugins.

Stars
0
Language
TypeScript
Created
Aug 29, 2026
Updated
Sep 2, 2026
GitHub repo

Introduction

dsh-luban

简体中文 | English

CI GitHub Stars GitHub Release GitHub Packages License: MIT

面向嵌入式开发的 DeepSeek Harness 插件套件:把 Windows 调试机和 Ubuntu 编译服务器连接成一个可从浏览器操作、可持续运行、 可按账号隔离上下文的 DSH 工作台。

项目定位

dsh-luban 面向个人与小团队的可信局域网开发环境,以功能闭环、运行稳定和账号上下文隔离为主, 不提供企业级身份、安全加固或公网防护方案。

为什么使用 dsh-luban

  • 双机协作:Windows 负责串口、ADB、烧录和 GDB,Ubuntu 负责后台构建与长任务。
  • 一个入口:通过 /luban-auth/login 登录,任务、会话、附件和上下文按账号隔离。
  • 任务闭环:六列任务看板支持人工操作、Agent 领单、进度回写和人工复核。
  • 不中断工作:tmux、Windows 计划任务与 systemd 负责会话保活和重启恢复。
  • 上下文可见:HUD 展示上下文占用、模型、推理档位、RPM/TPM,并支持可回放压缩。
  • 嵌入式工具链:统一接入串口、ADB/Fastboot、OpenOCD、GDB、SSH、Telnet 和网络串口。
  • 整包或按需安装:使用 @yin52133/dsh-luban 一次安装完整套件,或只安装当前主机需要的独立插件。

本项目面向可信局域网,账号系统用于隔离少量用户的工作上下文,不定位为企业级身份与安全防护系统。

部署形态

主机主要职责推荐插件
Windows 调试机串口、ADB/Fastboot、烧录、GDB、桌面与浏览器自动化auth、taskboard、keepalive、HUD、win-debug、browser
Ubuntu 编译服务器Web 入口、后台会话、构建队列、产物管理、浏览器自动化auth、taskboard、keepalive、HUD、server-mode、browser

两个主机可以安装 plan、context、image-paste 和 session-share,共享同一账号下的任务与会话视图。

界面展示

登录后的 Luban Taskboard、Plan 关联与 HUD 状态

上图由当前生产 Taskboard 组件和无敏感信息的演示数据直接渲染,展示了六列状态流转、主机/工作区筛选、 验收条件、Agent 自动完成后的人工复核、关联 Plan,以及顶部 HUD 的上下文和速率状态。

登录后功能操作闭环
Taskboard创建任务 → Agent 领单 → 进度回写 → Review → Done;支持拖放和键盘/触控操作
Plan起草 → 批准/驳回 → 修订;任务卡可直接打开关联计划
HUD / Context查看模型、推理档位、上下文占用、RPM/TPM,并检索或回放压缩归档
Image Paste粘贴或上传图片 → 账号级落盘与预览 → 注入当前 DSH 会话
Session Share / Keepalive跨主机查看会话、显式交接控制权,并在重启后恢复受管任务
Win Debug / Server Mode / BrowserWindows 设备调试、Ubuntu 构建产物、浏览器模板任务统一回写到任务闭环
登录入口(次要界面)

Luban 登录界面

所有 Web 功能从 /luban-auth/login 进入。登录后的看板、HUD、Plan 与图片功能复用同一账号会话, 匿名 API 请求返回 401,不存在 /luban/auth/login 兼容路由。

插件一览

GitHub Packages 包功能平台
@yin52133/dsh-luban全部 Luban 能力及固定版本的配套插件Windows / Ubuntu
@yin52133/dsh-luban-auth本地账号登录、认证 sidecar、账号上下文隔离Windows / Ubuntu
@yin52133/dsh-luban-taskboard六列看板、Agent 领单、夜间任务与 taskctlWindows / Ubuntu
@yin52133/dsh-luban-keepalivetmux/计划任务保活、心跳、重启恢复与检查点Windows / Ubuntu
@yin52133/dsh-luban-plan计划草稿、批准、驳回和修订闭环Windows / Ubuntu
@yin52133/dsh-luban-session-share跨主机会话观察、重连与显式控制权交接Windows / Ubuntu
@yin52133/dsh-luban-image-pasteWeb/剪贴板图片落盘、预览与会话引用Windows / Ubuntu
@yin52133/dsh-luban-hudWeb/CLI 状态栏、上下文与速率统计Windows / Ubuntu
@yin52133/dsh-luban-context上下文压缩、虚拟文件归档、检索与回放Windows / Ubuntu
@yin52133/dsh-luban-server-modesystemd 常驻、构建队列、资源看护与产物下载Ubuntu
@yin52133/dsh-luban-win-debug串口、烧录、GDB、ADB、远程通道与桌面 MCPWindows
@yin52133/dsh-luban-browserbrowser-use 桥接、任务模板和看板自动执行Windows / Ubuntu
@yin52133/dsh-luban-core插件共用契约、路由、错误与存储工具内部依赖

快速开始

使用插件

需要 Node.js 22.19+、pnpm 11 和 DeepSeek Harness 0.1.1-rc.2。GitHub Packages 要求客户端登录; 先创建只含 read:packages 的 classic PAT,并将用户名与 PAT 输入下面的交互式命令(不要把 PAT 写进仓库):

npm login --scope=@yin52133 --auth-type=legacy --registry=https://npm.pkg.github.com

按交互提示填写:

  • Username:你自己的 GitHub 用户名,不是包作者的用户名。
  • Password:只授予 read:packages 权限的 GitHub Personal Access Token(classic)。
  • Email:你的 GitHub 账号邮箱。

--scope=@yin52133 只负责把 @yin52133/* 包映射到 GitHub Packages registry。完整安装会同时 挂载全部 Luban 插件,并安装以下固定版本的配套项目:

dsh plugin --profile web add @yin52133/dsh-luban@0.1.1

也可以先安装认证插件,再按需添加业务插件:

dsh plugin --profile web add @yin52133/dsh-luban-auth
dsh plugin --profile web add @yin52133/dsh-luban-taskboard @yin52133/dsh-luban-hud @yin52133/dsh-luban-plan

整包与重复的单包不要同时安装,以免同一插件被挂载两次。CI 发布不需要额外 npmjs 账号或 token: Release workflow 使用仓库的 GITHUB_TOKEN 发布 13 个包。 不希望登录 Packages 时,也可以从 GitHub Release 下载已验收的 .tgz 文件进行本地安装。

启动 profile 后,从认证 sidecar 进入:

http://<host>:42600/luban-auth/login

插件统一使用 /luban-<module> 路由,例如 /luban-taskboard/luban-plan/luban-browser。完整安装与服务注册见 Windows 部署Ubuntu 部署

开发仓库

Python 浏览器桥接只通过 uv 的锁定环境运行,不使用全局 pip:

corepack enable
pnpm install
pnpm check
uv run --project tools/browser-bridge --locked python -m unittest discover -s tools/browser-bridge/tests

网络说明

Ubuntu 只需向实际局域网客户端范围开放认证 sidecar 端口。下面的 CIDR 是占位符,应替换为 路由器或网络管理员提供的实际地址范围,不要把私有部署信息提交到仓库:

LAN_CIDR=<lan-client-cidr>
sudo ufw allow proto tcp from "$LAN_CIDR" to any port 42600

防火墙规则限制可以连接该端口的设备;访问 DSH 仍需通过 /luban-auth/login 登录。

架构

flowchart LR
    Browser["浏览器 / CLI"] --> Auth["@yin52133/dsh-luban-auth"]
    Auth --> DSH["DeepSeek Harness"]
    DSH --> Shared["任务 / Plan / HUD / 上下文 / 会话"]
    DSH --> Windows["Windows 调试工具"]
    DSH --> Ubuntu["Ubuntu 构建与保活"]
    Shared --> Store[("账号级本地数据")]

各独立插件之间不直接依赖:共享类型和基础工具来自 @yin52133/dsh-luban-core,运行时协作通过 DSH 服务、事件和 HTTP 契约完成。整包仅负责聚合安装。设计说明与当前状态分别见 designdesign/checklist.json

文档导航

当前状态

当前版本为 0.1.1:13 个 scoped 包同步进入 GitHub Packages,Release 提供对应 tarball 与 SHA-256 清单。代码已经过 Windows/Ubuntu 实机及 CI 验收;个别需要外部模型或真实设备的项目仍在 design/checklist.json 中如实标记。

许可

MIT。第三方依赖和参考项目的许可说明见 参考项目分析 及各包的 THIRD-PARTY-NOTICES.md