返回目录
部署运维 技能

lumo-harness

Lumonote/lumo-harness

基于deepseek-harness分布式智能体集群

Stars
3
Forks
0
Issues
0
更新
3 天前

PROJECT TOPICS

项目标签

INSTALL REFERENCE

安装参考

未验证
dsh plugin --profile web add github:Lumonote/lumo-harness

该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。

PROJECT README

README

Lumo Harness

在 DeepSeek Harness 之上零侵入生长的智能体平台

本地单机 · 服务器单例 · 服务器集群

License: MIT Tauri 2 Go 1.25+ Node ^22.19 || >=24 Docker Compose Kubernetes + Helm CI Release

Lumo Harness:把「一切皆插件」的智能体内核装进一台电脑

零侵入。 全部能力只经 DeepSeek Harness(下称 dsh)的原生扩展点实现:Cordis plugin / bundle、ctx.* 服务注册、cordis.patch.yml 覆写、seam / event / profile。dsh 始终以依赖引入,绝不 fork / vendor / monkey-patch

Lumo Harness 在开源 dsh(Cordis 驱动的「一切皆插件」智能体框架)之上,补上分布式平台缺的那一层:控制面(调度、注册表、网关、治理、计量)、数据面(dsh 承载节点)、协同面(复制的 SessionEvent 日志 + 事件总线)。业务能力以 Cordis 插件形态挂载,基础设施是独立的 Go 服务——两者不互相塞进对方的进程。

同一份内核也有本地形态:桌面单机版platform/desktop)用 Tauri 2(Rust)壳拉起一个本机 DSH Web worker,把自包含的 Node、DSH CLI、Web 前端、SQLite 与 Lumo 插件全部打进应用 runtime,工作台跑在 127.0.0.1:3080,并显式置 LUMO_DEPLOYMENT_MODE=local。技能市场、插件市场、PPT、开放设计都是挂在这个内核上的插件 / 技能——不是「给 dsh 套壳」,而是长在它上面。

验证判据(第一铁律的合规证明):升级 dsh 版本无需 rebase 任何补丁;删除本平台全部代码后,dsh 仍可原样独立运行。

git -C deepseek-harness describe --tags --dirty   # 不得以 -dirty 结尾
git -C deepseek-harness status --porcelain -uno   # 必须无输出

为什么使用 Lumo Harness

  • 零侵入内核:dsh 只作为依赖引入,全部能力走公开扩展面;上游升级不需要维护补丁分支,也不存在「跟上游越走越远」的维护债。
  • 三档同一引擎:本地单机、服务器单例、服务器集群共用一套引擎与契约,差异只允许出现在装配层与部署清单——业务代码里没有 if (standalone)
  • 能力即插件:技能、专家包、插件市场、PPT、开放设计、知识库都以 Cordis 插件 / 技能分发,可单独装卸,单个插件崩溃不影响兄弟插件。
  • 本地优先:单机版不启动任何网络中间件,状态只落本机 SQLite;缺失的能力显式返回 CapabilityUnavailable,不用别的东西静默模拟。
  • 可观测到上下文级:Token、耗时、系统提示词 / 工具定义 / 注入内容各占多少都可查;可观测性本身也是一个插件。
  • 企业级控制面:RBAC / OPA / Vault、注册表签名与灰度对账、连接器托管 OAuth、企业 OIDC、TOTP 与 Passkey、计量与双树预算。

核心能力

模块 能力
本地单机工作台 Tauri 2 桌面壳 + 本机 DSH Web worker;SQLite 存储;不装配 PG / Redis / Nacos / MinIO / RocketMQ
技能市场 SkillHub 技能与专家包分桶(办公 / 内容创作 / 开发编程 / AI Agent / 行业),入口是 ctx.skills seam 与渐进式披露的 SKILL.md,目录由脚本生成而非手写数组
插件市场 界面内搜索、分类、一键安装;本质是把 cordis.patch.yml 以「insert 一行插件」叠进插件树,装完重启生效,另有收藏 / 已安装 / 任务管理与实时更新检查
创造模式 一句话提需求改造工作台:先巡视注册表(服务、导航协议、webServer 接口),再端到端规划,随后改插件 / 加路由 / 加分页,改完即生效
PPT 生成 内容层 × 视觉层分离:agent 负责叙事,模板负责字体 / 配色 / 版式,模板本身是可替换提供方
开放设计 从一句话生成可编辑的设计结构(布局、组件、信息层级),而不是静态图,可继续迭代
知识库 图 + 向量双 seam(ctx.knowledge.graph / ctx.knowledge.vector),支持版本化来源、共享编辑与 realm 级隔离
会话可观测 Token / 耗时 / 上下文浏览器;历史、fork、resume 与审计全部从 append-only 的 SessionEvent 日志派生
项目与协作 项目实体与成员角色、用量聚合、项目内制品 / 空间 / 自动化;用户自定义流程带 DAG 防环护栏与审核提升
流程与自动化 Go FlowEngine:DAG 拓扑执行、事件入口、持久 outbox、运行幂等记录与失败运行的显式重放
注册表与分发 制品签名安装计划、依赖闭包、Stable 通道灰度与回滚;Provisioner 验签、对账并原子物化到节点
治理与安全 组织 / 角色 / 部门与授权期限、技能授权、连接器凭证入 Vault、OPA 策略、企业 OIDC、TOTP、Passkey
计量与预算 计量收敛在 ctx.llm 单一截面;用户树与项目树同事务扣减,任一超限即拒
集群调度 Scheduler 支持 EDF 截止时间、加权公平队列、能力值匹配、硬反亲和与安全抢占
跨节点协同 Seam Proxy 把平台新增的能力 seam 网络可达;远程子智能体放置、ctx.jobs 跨节点取消、复制的会话日志

产品一览

以下推广图概览工作台与核心能力,点击图片可查看原图;真实运行截图见下方「界面与功能」。

工作台与上下文统计

技能市场 / 插件市场

PPT 与开放设计

创造模式:一句话生成插件

桌面架构拆解

智能体能力与工作流程

界面与功能

以下截图取自本地单机版的真实运行态。截图中的技能 / 插件数量与版本是运行快照,以实际版本为准。

工作台与会话

界面 说明
会话工作台 会话工作台:左侧是会话与轨道(对话、一次次工具调用与轨迹),右侧直接在浏览器里预览产物,底部是上下文、耗时与缓存命中率统计。
会话日志与上下文 上下文可观测:系统提示词、工具定义、用户消息、注入内容各占多少一目了然。能看见上下文被怎么消耗,才谈得上压缩、瘦身,把它变成可靠的生产工具。

技能市场与专家包

界面 说明
技能市场 技能市场:技能按办公 / 内容创作 / 开发编程 / AI Agent / 行业分桶,可查看、安装与更新。
专家包 专家包:分层为 Skill → Expert(技能 + MCP + 知识 + Harness 配置)→ Expert Group。装一个专家包,本地 Agent 立刻获得该领域的技能组合。

插件市场与更新

界面 说明
插件市场 插件市场:界面内搜索、按分类筛选、点「安装」在线装插件;卡片显示作者、下载量与版本要求,并有收藏 / 已安装 / 任务管理。
检查更新 实时更新:底座与已装插件都支持检查更新,列出版本号与更新说明,由你主动确认后升级,也可以先核对组件版本。

创造模式与知识库

界面 说明
创造模式 创造模式:它不只「用」插件,还能「造」插件——巡视注册表 → 端到端规划 → 改插件 / 加路由 / 加分页,改完即生效;工具调用、思考链路与耗时全程可见。
知识库工作台 知识库工作台:把库内文档做成可浏览、可阅读、可检索的本地工作台(总览 / 主题 / 文档 / 阅读 / 检索 / 配置)。

生成 PPT 与开放设计

界面 说明
PPT 生成 PPT 生成:同样的内容套不同模板会产出气质完全不同的结果;模板本身也是一种可替换提供方。
开放设计 开放设计:界面原型 / 线框图 / 移动应用 / 品牌视觉 / 演示文稿 / 文档,生成的是可继续迭代的设计结构,而非静态图。

设置与主题

界面 说明
设置与主题 插件化前端:皮肤、强调色、壁纸皆为可配置项。前端用 React + Vite,数据来自 Session 事件流投影,Slot 渲染器让单个插件崩溃不影响兄弟插件。

更多推广图、高清原图与导览正文见 docs/guide/README.md

架构

Lumo Harness
│
├── 控制面 · 独立 Go 服务,可水平扩展
│   ├── scheduler · registry · llm-gateway · connector-gateway
│   ├── governance · usage-ledger · flows · projects · collaborator
│   └── 中间件:Nacos(注册/配置)· RocketMQ(消息/A2A)· OPA · Vault
│
├── 数据面 · dsh 承载节点
│   ├── 每个节点跑一份未修改的 dsh,并挂载平台新增的能力 seam provider
│   └── 存储:PostgreSQL · Doris · Nebula · Milvus · MinIO · Redis
│
├── 协同面
│   ├── 复制的 SessionEvent 日志:模型上下文 / 审计 / 跨节点状态的同一份真相
│   └── 事件总线(RocketMQ A2A)· 异步挂起恢复 · 多端协作
│
└── 界面 · 不修改 dsh 源码
    ├── 以 dsh.client 扩展机制挂载进 dsh 原生 AppFrame
    │   └── 右下角「Lumo 运营面」:项目 · 权限 · 流程 · 连接器 · 集群 · 插件能力
    └── 桌面单机形态:Tauri 2 壳 + 本机 DSH Web worker + SQLite(无任何中间件)

界面在 dsh 原生 AppFrame 内以 dsh.client 扩展机制挂载:右下角「Lumo 运营面」把项目、权限、流程、连接器、集群与插件能力收在同一个 DSH Web 页面里,不修改 deepseek-harness/ 源码。

三档形态的取舍是:本地单机不启动任何网络中间件;服务器单例把中间件收敛到单实例;服务器集群把自研服务多实例化,用于生产以及在本机调试分布式行为。

完整设计(分层、硬规矩、安全模型、SLO、故障预案)见 docs/architecture.md——README 不重复设计结论。

三档产品形态

形态 载体 存储 中间件 适用范围
本地单机 Rust/Tauri 桌面包(platform/desktop SQLite 个人工作台、本机 Agent、离线技能
服务器单例 Docker Compose(platform/deploy/compose.standalone.yml PostgreSQL Redis / MinIO / RocketMQ / Nacos 单服务器团队服务
服务器集群 Compose + Helm(platform/deploy/compose.cluster.ymlhelm/lumo-platform PostgreSQL Redis / MinIO / RocketMQ / Nacos 跨用户委派、桌面节点、弹性调度

快速开始

1. 下载安装包(推荐)

前往 GitHub Releases 下载对应平台的安装包:

平台 安装包 说明
macOS · Apple Silicon DeepSeek-Harness_*_aarch64.dmg M 系列芯片
macOS · Intel DeepSeek-Harness_*_x64.dmg Intel 芯片
Windows *.exe(NSIS) x64

安装包里已经内置本地 runtime(自包含 Node、DSH CLI、Web 前端、SQLite 与 Lumo 插件),不需要单独安装 Node.js、Rust 或 Python,装完双击即用。

打包只支持手动触发:在 Actions 页面运行 release workflow,再选择要构建的分支或 tag。选择 main 或 tag v* 产出正式产物,其他分支产出带 -test 后缀的桌面测试包;只有 tag v* 会把安装包附到 GitHub Release,平时推送到分支的产物只留在 Actions Artifacts 中(保留期有限)。

macOS:安装后第一次打不开怎么办

社区构建没有购买 Apple 开发者证书,安装包使用 ad-hoc 签名(等同于未签名),也没有送给 Apple 做公证(notarization)。所以 Gatekeeper 必然会拦一次,你看到的多半是下面几种提示之一:

  • 「"DeepSeek Harness" 无法打开,因为 Apple 无法检查其是否包含恶意软件。」
  • 「"DeepSeek Harness" 无法打开,因为无法验证开发者。」
  • 「"DeepSeek Harness" 已损坏,无法打开。你应该将它移到废纸篓。」

这三种提示说的是同一件事:系统无法验证开发者身份,而不是安装包真的损坏或下载失败。按下面的顺序处理,第 1 步不行再往下走:

  1. 拖入「应用程序」:打开 dmg,把 App 拖进「应用程序」。

  2. 右键打开:在「应用程序」里 按住 Control 点击(或右键) App → 选「打开」→ 在弹窗里再点一次「打开」。注意:直接双击只会出现「移到废纸篓 / 完成」,不会给你「打开」按钮。

  3. 在系统设置里放行:「系统设置 → 隐私与安全性」,滚到底部「安全性」区域,会看到被拦截的提示,点「仍要打开」并输入登录密码确认。(macOS 15 起弹窗不再提供「打开」,只能走这里。)

  4. 移除隔离属性(提示「已损坏」或前几步都无效时最有效):

    xattr -dr com.apple.quarantine "/Applications/DeepSeek Harness.app"
    open "/Applications/DeepSeek Harness.app"

    若直接从 dmg 挂载卷里运行,把路径换成挂载卷下的 App,例如 xattr -dr com.apple.quarantine "/Volumes/DeepSeek Harness/DeepSeek Harness.app"

  5. 仍然打不开:先确认安装包与芯片架构匹配(Apple Silicon 用 aarch64 包,Intel 用 x64 包),或改用下面的「从源码运行」。

几点补充:

  • 只从本仓库 Releases 下载。 第三方转发的包无法核对来源,也不要为了省掉一次弹窗就全局关闭 Gatekeeper。
  • 放行只需要做一次,之后系统会记住这个选择。
  • 想彻底消除弹窗,需要 Apple Developer Program 会员(99 美元/年)做 Developer ID 签名 + 公证;社区构建不做这件事,属于预期行为,不是本项目可以「修好」的缺陷。

Windows:SmartScreen 提示

Windows 安装包同样未做代码签名,SmartScreen 会提示「Windows 已保护你的电脑」。点「更多信息」→「仍要运行」即可继续安装。

卸载与本地数据

应用数据不在 App 包内部,卸载应用后仍然保留:

平台 数据目录
macOS ~/Library/Application Support/Lumo/
Windows %LOCALAPPDATA%\Lumo\

其中 lumo.sqlite 保存平台状态,dsh/sessions 保存对话日志,runtime/skills 保存已安装的技能。需要彻底清理时,先把应用拖入废纸篓,再删除上面的目录(删除前请先备份)。

2. 从源码运行(本地单机)

环境要求:Node ^22.19 || >=24、pnpm 11.7.0、Rust stable 与 Tauri 系统依赖,以及一份可用的上游 dsh checkout。

cd platform/upstream && ./install-components.sh   # 安装固定上游技能快照(缺失时按 pin 提交拉取)
cd ../desktop && ./preview-local.sh               # 用仓库内的 DSH 运行时启动本地应用

preview-local.sh 会把 SQLite 写到 ~/Library/Application Support/Lumo/lumo.sqlite;如果 Web 前端产物不存在,它会先自动构建。只想产出应用包:

cd platform/desktop
cargo tauri build --debug --bundles app

Windows(Git Bash)拉取上游快照时需要指定目标:./install-components.sh --target win-x64。桌面打包边界与细节见 platform/desktop/README.md

3. 服务器单例 / 集群

./platform/deploy/up.sh standalone -d --build     # 单例
./platform/deploy/up.sh cluster -d --build        # 集群(自研服务多实例)

启动后打开 http://127.0.0.1:4173;Lumo 插件会在 DSH 原生页面内提供右下角「Lumo 运营面」,运营入口为 http://127.0.0.1:4173/lumo/ops。生产用 Helm 渲染:

helm template lumo platform/deploy/helm/lumo-platform

启动前建议先跑只读预检(不启动容器、不读取 Secret 正文),--strict 会拒绝开发默认凭据:

./platform/deploy/preflight-deployment.sh cluster --strict

部署清单、三档形态与设备 TLS 接入见 platform/deploy/README.md,全部环境变量与配置契约见 docs/configuration.md

仓库结构

路径 内容
platform/control-plane/ Go 控制面服务:scheduler、registry、llm-gateway、connector-gateway、governance、usage-ledger、flows、projects、collaborator(observability 是共享库)
platform/data-plane/dsh-node/ dsh 承载节点
platform/dsh-plugins/ 以 Cordis 插件形态挂载的业务能力(技能、连接器、知识库、计量、Lumo 运营面……)
platform/desktop/ Rust/Tauri 本地单机壳与 runtime 装配
platform/desktop-assets/ 桌面壳使用的前端产物与图标素材
platform/dsh-overrides/ 运行时覆盖层(不修改 dsh 源码的装配入口)
platform/deploy/ Compose 拓扑、Helm chart、迁移与预检脚本
platform/console/ 控制台前端
platform/shared/platform/upstream/ seam 契约 / 清单,与上游组件快照安装
docs/ 中文设计文档:架构、路线图、评审、编号专题规格
docs/guide/ 产品导览与物料(导览正文、推广图、截图素材)
deepseek-harness/ 上游 dsh 只读 checkout,不提交 Git.gitignore 首行忽略)

构建与发布

一键构建:platform/build.sh

本地与 CI 共用这一份脚本,避免「本地能跑、CI 产出不一样」。

./platform/build.sh                            # 12 个 Docker 镜像(默认)
./platform/build.sh --targets darwin-arm64     # macOS 桌面包(dmg)
./platform/build.sh --targets win-x64          # Windows NSIS 安装包
./platform/build.sh --targets all              # 镜像 + 宿主架构桌面包
./platform/build.sh --dry-run --targets all    # 只打印将执行的命令

--push 需配合 --registry,推送前会校验 platform/package.jsonChart.yamltauri.conf.json 三处版本一致,不一致直接拒绝。桌面包必须在同平台同架构宿主上构建(native Python wheel 与 Rust 壳都不可跨架构)。Windows 只产出 NSIS 安装包:runtime 约 1.3GB,WiX light.exe 生成 CAB 会失败,NSIS 可正常打包同一份 payload。

发布:.github/workflows/release.yml

*推送 `v` tag 会自动打包**:macOS(arm64 / x64)与 Windows(x64)三个桌面包全部成功后,安装包附到同名 GitHub Release(fail-closed,任一平台失败则不发)。分支 push 不会触发。

也可以在 Actions 页面选择 releaseRun workflow 手动构建:

选择的分支 / tag 产物
tag v* macOS / Windows 安装包,附到 GitHub Release(推送 tag 时自动执行)
main macOS / Windows 安装包上传为 Actions artifact
其他分支 桌面测试包(artifact 名带 -test 后缀)

门禁(typecheck / 测试 / go vet / 第一铁律校验)由 .github/workflows/ci.yml 单独负责,与产物职责分离。发布前需保证 tag 名(如 v0.1.0)与 platform/package.jsonChart.yamltauri.conf.json 三处版本号一致。

推送 v* tag 还会触发 .github/workflows/changelog-release.yml:它把 CHANGELOG.md 中对应版本的小节同步成 GitHub Release 正文(只改正文、不构建产物,秒级完成)。因此发版前请先更新 CHANGELOG.md;正文抽取由 .github/scripts/release-notes.sh 负责,上面两个 workflow 共用同一份逻辑,取不到对应小节时会回退为提交列表而不会让发布失败。

测试与质量检查

平台 TS 侧:

cd platform
pnpm install
pnpm run test        # vitest 单元测试
pnpm run typecheck   # tsc 严格模式

Go 服务按模块各自校验:

cd platform/control-plane/<service>
go build ./... && go vet ./... && go test ./...

涉及 seam 的改动,必须同时补充 platform/shared/seam-contracts/ 的契约测试,并保证 Local 与 Standalone Provider 双向通过。提交 PR 前请自行跑通受影响模块的测试与类型检查。

文档

文档 内容
CHANGELOG.md 版本变更记录(按版本与类型分组)
docs/README.md 文档地图与阅读路径(从这里开始
docs/architecture.md 唯一权威技术规范(§0–§15)
docs/roadmap.md 实施蓝图与端到端流程(§16–§17)
docs/design-review.md 独立评审:P0 风险与替代落地顺序
docs/implementation-status.md 已落地能力与外部集成边界
docs/configuration.md 全部环境变量与配置契约
docs/cluster-management.md 集群管理接口与权限边界
platform/deploy/README.md 部署清单、三档形态、设备 TLS 接入
platform/desktop/README.md 桌面打包边界与构建细节
platform/CONTRIBUTING.md platform/ 开发约定
docs/guide/2026-single-node-deepseek-harness.md 产品导览《把「一切皆插件」装进一台电脑》
docs/guide/README.md 导览物料索引(截图、高清原图、推广图)

贡献

欢迎提交 Issue、改进文档和 Pull Request。动手之前请先读 platform/CONTRIBUTING.mdplatform/ 开发约定),并注意三条硬约束:

  1. 绝不修改 deepseek-harness/ 源码(第一铁律)。 全部能力只经 dsh 公开扩展面实现:Cordis 插件(独立包,import 公开 API)、ctx.* 注册 service / event / seam provider、cordis.patch.yml 配置覆盖、preset / isolate realm 组合、以依赖方式引入 dsh。若某个需求看起来必须改 dsh,那是设计错了——请开 Issue 讨论,而不是绕过这条规则。
  2. 同引擎不同拓扑。 业务代码禁止出现 if (standalone) 一类分支,差异只允许存在于装配层与部署清单;缺失能力显式拒绝(CapabilityUnavailable),严禁静默模拟。
  3. 每个 seam 必须配契约测试,Local 与 Standalone Provider 双向通过。

请保持改动聚焦(一个 PR 只做一件事),在描述里给出复现步骤与验证结果,并确认第一铁律的两条校验命令仍然通过。

捐赠一点 token

Lumo Harness 是靠 token 喂大的——每一次上下文压缩、每一轮多智能体协作,背后都是实打实的模型推理开销。

如果它帮到了你,欢迎捐赠一点 token:所有打赏都会用来补贴模型推理与构建、签名、分发的成本,让它能继续跑下去。

完全自愿,不构成任何服务对价,不影响功能与授权。

微信赞赏码 · 捐赠一点 token

许可

本项目以 MIT License 发布,Copyright (c) 2026 Lumonote。

例外与归属:

  • platform/dsh-plugins/open-design/ 保持 Apache-2.0——它封装的上游 OpenDesign 项目为 Apache-2.0,单方面改为 MIT 会抹掉来源归属。
  • 上游 deepseek-harness 自身亦为 MIT。
  • platform/upstream/skills/ 下的技能快照按各自上游许可证分发,来源仓库、pin 提交与许可证见 platform/upstream/skill-sources.json

免责声明

Lumo Harness 是开源软件,本身不提供任何模型服务、数据源或云资源。你需要自行准备 LLM Provider 凭据并遵守其服务条款;模型输出可能不准确,请人工核验后再用于生产环境。部署方需自行负责凭据保管、数据合规、访问审计与容量规划——生产上线前请按 docs/architecture.md 的安全模型与 platform/deploy/README.md 的上线门槛逐项核对。本项目不构成任何形式的商业承诺或专业建议。

CLASSIFICATION EVIDENCE

分类依据

项目类型技能
功能分类部署运维
规则置信度

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