用 YAML 配置切换插件,学习微内核架构设计
31.9/100
综合分
11
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查未通过:缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add civaapple-alt/mini-dsh该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · dev
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 77 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包mini-dsh-root(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/10 13:37:22
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
扫描于 2026/11/2(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- YAML配置切换插件
- 微内核架构实现
- 架构学习指南
🚀 极简的 DeepSeek Harness(DSH)架构实现与学习指南,由 Cordis 微内核驱动。
README
由 DeepSeek 最新模型翻译生成Mini-DSH:Cordis 极简架构实现与学习指南
本项目是一个极简版(Educational & Minimalist)的 DeepSeek Harness 架构实现,专门用于学习与验证 Cordis 框架的核心设计哲学:“Everything is a plugin”(一切皆插件)。
Mini-DSH Web Shell
📖 推荐必读学习指南:
- 🚀 《从 CLI 启动到浏览器端动态插件加载全流程》:全流程时序图、window.__MINI_BOOT__ 详解、client-shell.js 运作机制与 DSH 源码对标!
- 🛡️ 《Capability Seam(能力接缝)与可移植执行世界深入指南》:Service Definition / Provider / Consumer 三元角色模型与本地/云端沙箱无感切换!
- 🧩 《预设配置体系指南:部署级 Profile vs 会话级 Preset 与 Include & Patch》:Cordis 作用域隔离(ctx.isolate)、多租户会话与全局增量补丁机制!
- 🔥 《Schemastery 配置校验与 HMR 实时热重载指南》:声明式 Schema 校验与文件变更实时热重载!
- 📝 《架构决策记录 (Agent Notes / ADRs)》:包含所有核心架构决策的中英文演进记录。
展开完整文档(README 剩余 1 节)
Mini-DSH:Cordis 极简架构实现与学习指南 本项目是一个极简版(Educational & Minimalist)的 DeepSeek Harness 架构实现,专门用于学习与验证 Cordis 框架的核心设计哲学:“Everything is a plugin”(一切皆插件)。 Mini-DSH Web Shell 📖 推荐必读学习指南: - 🚀 《从 CLI 启动到浏览器端动态插件加载全流程》:全流程时序图、window.__MINI_BOOT__ 详解、client-shell.js 运作机制与 DSH 源码对标! - 🛡️ 《Capability Seam(能力接缝)与可移植执行世界深入指南》:Service Definition / Provider / Consumer 三元角色模型与本地/云端沙箱无感切换! - 🧩 《预设配置体系指南:部署级 Profile vs 会话级 Preset 与 Include & Patch》:Cordis 作用域隔离(ctx.isolate)、多租户会话与全局增量补丁机制! - 🔥 《Schemastery 配置校验与 HMR 实时热重载指南》:声明式 Schema 校验与文件变更实时热重载! - 📝 《架构决策记录 (Agent Notes / ADRs)》:包含所有核心架构决策的中英文演进记录。 核心设计概念 1. 统一的插件模型(Cordis Plugin): - 所有的功能、服务、API 路由以及前端 UI 组件全部以 Cordis 插件(apply(ctx, config))形式组织。 - 通过依赖注入(ctx.inject(['server', 'slots']))实现插件之间的拓扑解耦与延迟挂载。 - 所有的注册与监听都封装在 ctx.effect() 中,支持干净的生命周期管理与销毁(Disposer)。 2. 配置驱动的 Profile 机制: - 通过 YAML 文件(如 profiles/web.yml、profiles/base.yml)声明启用的插件及其配置参数。 - 切换 Profile 即切换系统能力,无需修改一行代码。 3. 前后端对称的插件组合架构(Host + Client-Web): - Host 端(Node.js): - 运行 Cordis Context。 - host-webserver 插件提供 ctx.server 基础 HTTP 服务。 - host-client-modules 插件自动扫描已加载插件的 package.json(带有 mini.client 字段),组装 window.__MINI_BOOT__ 启动图,并分发 /plugins/:id/client.js。 - Client 端(浏览器 Web GUI): - 在浏览器中运行 Cordis Context。 - client-slots 插件提供 ctx.slots 插槽机制(main.cards、sidebar.widgets)。 - client-shell 动态 import 插件的前端 Bundle,并在浏览器端的 Cordis 中执行 apply(ctx),将 UI 挂载到对应 Slot。 4. 全栈插件自包含(Full-Stack Plugin): - 以 @mini-dsh/plugin-greeter 和 @mini-dsh/plugin-counter 为例: - src/index.ts:向 Host 提供后端 Service 并挂载 API 路由(如 /api/greet、/api/count)。 - src/client.ts:向 Client 注册前端交互卡片/控件。 - 只需要在 profiles/web.yml 中添加一行插件名称,前后端能力就会全自动装配上线! 项目目录结构 mini-dsh/ ├── package.json # 根目录配置与工作区脚本 ├── pnpm-workspace.yaml # pnpm monorepo 配置 ├── tsconfig.base.json # 基础 TypeScript 配置 ├── profiles/ # 【部署级 Profile】:全局基础设施组装 (Web/Base/Local/Sandbox/Goal/HMR) │ ├── base.yml # Headless 模式(仅基础后端插件与任务运行器) │ ├── web.yml # Web GUI 模式(包含 Web 服务与全栈 UI 插件) │ ├── local.yml # 本地执行世界 Profile(LocalExecutor + ToolBash) │ ├── sandbox.yml # 安全沙箱执行世界 Profile(SandboxExecutor + ToolBash) │ ├── presets.yml # 多会话隔离演示 Profile(SessionManager + PresetsDemo) │ ├── goal.yml # 增量补丁 Profile(Include base.yml + Patch Insert Goal 领域) │ └── hmr.yml # 实时热重载与 Schemastery 校验 Profile ├── presets/ # 【会话级 Preset】:用户在每个 Chat 独享的 Agent 预设 │ ├── minimal.yml # 极简模式:仅分配 ToolBash 与精简 Prompt │ └── standard.yml # 标准模式:分配 Greeter + Counter + ToolBash 全套工具 ├── apps/ │ └── cli/ # Host 启动入口 (支持 Include & Patch 动态递归解析与 Schemastery 校验) └── packages/ ├── seams/ # Capability Seams (抽象服务契约层) │ └── executor/ # Executor 契约包 (@mini-dsh/seam-executor) ├── providers/ # Service Providers (具体能力提供方) │ ├── executor-local/ # 本地进程执行提供方 (@mini-dsh/provider-executor-local) │ └── executor-sandbox/ # 远程安全沙箱提供方 (@mini-dsh/provider-executor-sandbox) ├── host/ │ ├── webserver/ # Host HTTP 服务插件 (ctx.server) │ ├── client-modules/ # Client 模块扫描与 Bundle 分发 (ctx.clientModules) │ ├── session-manager/ # 会话管理与 Preset 子上下文隔离 (ctx.sessions) │ └── hmr/ # 热模块替换与配置监听插件 (@mini-dsh/host-hmr) ├── client/ │ ├── slots/ # 浏览器 UI 插槽系统 (ctx.slots) │ └── shell/ # 浏览器 Cordis 引导内核 (AppWebEntry) └── plugins/ ├── greeter/ # 问候服务全栈插件 (导出 Schemastery Config Schema) ├── counter/ # 计数器全栈插件 (后端状态 + 前端组件) ├── tool-bash/ # 面向模型的 Bash 工具插件 (Consumer) ├── task-runner/ # Headless 任务运行器插件 (多步骤工作流编排与事件发射) ├── presets-demo/ # 多会话作用域隔离演示插件 ├── goal/ # 持久化目标状态机领域插件 (@mini-dsh/plugin-goal) ├── tool-goal/ # 面向模型的 Goal 工具插件 (@mini-dsh/plugin-tool-goal) └── hmr-demo/ # HMR 与 Schemastery 演示插件 (@mini-dsh/plugin-hmr-demo) 快速上手与验证 1. 安装依赖与构建 Client Bundle 1. 在 mini-dsh 目录下安装依赖 pnpm install 2. 构建所有前端 Client Bundle 与 TypeScript 产物 pnpm run build 2. 运行 Web GUI 模式 pnpm start 或者指定 profile: pnpm --filter @mini-dsh/cli start --profile web 在浏览器中打开:http://localhost:3000 - 你将看到浏览器端 Cordis 容器自动激活。 - @mini-dsh/plugin-greeter 自动将问候卡片挂载到 main.cards 插槽,并在点击时请求 Host 的 GET /api/greet。 - @mini-dsh/plugin-counter 自动将计数器组件挂载到 sidebar.widgets 插槽,并在点击时请求 Host 的 POST /api/count。 - 提供 /api/presets 与 /api/sessions/create 接口支持按预设动态创建新会话。 3. 运行 Headless 模式(对标真实 Agent 运行器) 运行 base profile 下的默认多步骤任务 pnpm start:base 或者动态传入自定义任务指令 (模拟 dsh --profile headless "task") pnpm start:task "Nightly Security Audit and Build" 4. 运行 Include & Patch 全局增量补丁(Goal 领域模式) 完全对标 DeepSeek Harness 的 examples/headless-agent/goal.cordis.yml,在无需复制粘贴 100+ 行配置的情况下,通过 Include + patches.insert 动态叠加 Goal 状态机: pnpm start:goal 控制台输出: [Include & Patch] 📦 Including base profile: "./base.yml" [Include & Patch] ➕ [Insert Patch] Injected 2 plugin(s): @mini-dsh/plugin-goal, @mini-dsh/plugin-tool-goal [Goal Domain] 🎯 Initialized. Persisted goal state machine active. [Consumer ToolGoal] 🛠️ Model-facing Goal tool registered (bound to ctx.goals). ▶ [TaskRunner] 启动任务:"部署 Mini-DSH 无头任务" [目标域] 🎯 已创建目标:"部署 Mini-DSH 无头任务"(状态:active,轮次:1) [步骤 1/4] 上下文初始化:"Hello from Headless Base Profile, Agent Engineer!" [目标域] 🔄 目标 "部署 Mini-DSH 无头任务" 已推进至第 2 轮 [步骤 2/4] 迭代 #1 指标 = 110 [目标域] 🔄 目标 "部署 Mini-DSH 无头任务" 已推进至第 3 轮 [步骤 3/4] 迭代 #2 指标 = 120 [目标域] 🎯 目标 "部署 Mini-DSH 无头任务" 状态更新为:completed 5. 运行 Capability Seam 执行世界切换(本地 vs 云端沙箱) 仅通过切换 Profile 配置,即可实现上层工具无感跨环境迁移: 场景 A:在宿主机本地执行(Local Profile) pnpm start:local - 控制台输出:[Local Host Process] 🖥️ Executing: "node -v",直接在本地环境中快速执行指令。 场景 B:在云端安全沙箱中执行(Sandbox Profile) pnpm start:sandbox - 控制台输出:[Cloud Sandbox VM: e2b-secure-container-prod] 🔒 Safely isolating; - 上层 tool-bash 与 task-runner 业务代码 0 修改,命令已自动路由并安全隔离在沙箱容器中执行! 6. 运行多会话隔离实验(Per-Session Presets 极简 vs 标准模式) 验证在同一个 Node.js 进程中,两个不同 Preset 的会话如何通过 Cordis 子上下文(isolate)实现能力隔离: pnpm start:presets 控制台隔离结果对比: * Session A (minimal):Prompt 为极简指令,工具池仅拥有 ['tool-bash'],ctx.counter 处于隔离排除状态; * Session B (standard):Prompt 为全功能指令,完整装配 ['greeter', 'counter', 'tool-bash']。 7. 运行 Schemastery 声明式校验与 HMR 实时热重载实验 验证在无需重启 Node.js 进程的前提下,外部修改配置文件如何被 HmrService 实时捕获并驱动插件内部状态瞬间热替换: pnpm start:hmr 控制台输出: [Cordis Loader] Applying plugin: @mini-dsh/plugin-greeter [Schemastery] 🛡️ Validated config & injected defaults for "@mini-dsh/plugin-greeter" [Plugin Greeter] Initialized with prefix: "Initial Greeter" (Enthusiasm: !) ... [Before HMR] Initial Greeter Output: "Initial Greeter, Bob!" [Simulated External Editor] 📝 Modifying "scratch-live-config.json" to v2... [Host HMR] 🔥 Detected change in "scratch-live-config.json"! Triggering live reload... [After HMR] Hot-Reloaded Greeter Output: "🔥 Hot-Reloaded Super Greeter (v2), Bob!!!!" ✔ [HMR Demo] Live Hot-Reload test completed successfully! 8. 验证 “Everything is a plugin” 的可插拔性 实验 A:在配置文件中禁用一个插件打开 profiles/web.yml,在 plugin-counter 节点下增加 disabled: true: - name: '@mini-dsh/plugin-counter' disabled: true 重启服务并刷新浏览器: - 观察终端日志:Counter 插件未加载,未注册 /api/count 路由。 - 观察网页:sidebar.widgets 插槽中的计数器组件完全消失,系统其他功能丝毫不受影响。 实验 B:验证 Headless 优雅降级打开 profiles/base.yml,将 @mini-dsh/plugin-counter 设为 disabled: true: pnpm start:base - 观察 task-runner:自动检测到 counter 缺失,执行降级逻辑,依然稳定完成工作流! 许可证 (License) 本项目采用 MIT 许可证。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
civaapple-alt/mini-dsh
用 YAML 配置切换插件,学习微内核架构设计
相关插件 · 开发 / 工程
隐私简历生成器reactive-resume/reactive-resume
Reactive Resume 已迁至 GitHub 上的…
★ 45,210已汉化MCP
71.7
长时任务执行闭环AMAP-ML/LongHorizon-Harness
面向 Computer-Use Agent 的 Loop Engineering
★ 1,764已汉化DSH
70.5
多代理编排运行时Enderfga/claw-orchestrator
面向编程智能体的运行时。把 Claude Code、Codex、Antigravity、Grok…
★ 586已汉化MCP
69.4
记忆进化插件csyangwen/dsh-memory-evolve
dsh-memory-evolve 使用场景指南
★ 461已汉化DSH
67.9
原生编程智能体paean-ai/deeptide
由 DeepSeek 打造,为 DeepSeek 而生。
★ 1,107已汉化DSH
67.7
多引擎接力台emo-xiaoyu/harness-mix
macOS/Linux 已加入源码构建与启动适配;目标系统的完整桌面验收仍需在对应机器执行。安装方式、Linux…
★ 419已汉化DSH
66.8
这是你的仓库?认领条目