一个手写的最小运行时,遵循 DSH 的设计理念,基于 @deepseek-ai/cordis 构建。
47.1/100
综合分
39
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/27 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查未通过:缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add huangjunsen0406/mini-dsh该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · other
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 68 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包mini-dsh(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=20.18.1 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/1 07:01:34
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 2 处,展示前 2 条)
- 读取密钥环境变量src/models/deepseek.js:5
const apiKey = config.apiKey ?? process.env.DEEPSEEK_API_KEY - 发起网络请求src/models/deepseek.js:36
const response = await fetch(`${baseUrl}/chat/completions`, {
扫描于 2026/11/2(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-mcp-client给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
界面预览
1 张 · 点击查看大图功能亮点
- 手写极简运行时
- 遵循DSH设计理念
- 基于cordis构建
一个手写极简运行时,遵循 DSH 理念
README
由 DeepSeek 最新模型翻译生成mini-dsh
一个手写的最小运行时,遵循 DSH 的设计理念,基于 @deepseek-ai/cordis 构建。
这是一个用来学习 DSH 核心设计的最小项目——不是完整的 DSH 产品。
它刻意保留了五样东西:
1. Cordis Context / Plugin / Service
2. Session Event Log -> deriveMessages()
3. Tool Registry -> register / schemas / execute
4. LLM Provider Adapter
5. Agent Loop -> model -> tool -> model -> answer
它还保留了 Bash/File 工具,以及官方的 @deepseek-ai/dsh-mcp-client + Context7,用来证明「一切皆插件」。Context7 是可选的:连不上时命令行照样能启动——只是拿不到那些 MCP 工具。
展开完整文档(README 剩余 1 节)
mini-dsh
一个手写的最小运行时,遵循 DSH 的设计理念,基于 @deepseek-ai/cordis 构建。
这是一个用来学习 DSH 核心设计的最小项目——不是完整的 DSH 产品。
它刻意保留了五样东西:
1. Cordis Context / Plugin / Service
2. Session Event Log -> deriveMessages()
3. Tool Registry -> register / schemas / execute
4. LLM Provider Adapter
5. Agent Loop -> model -> tool -> model -> answer
它还保留了 Bash/File 工具,以及官方的 @deepseek-ai/dsh-mcp-client + Context7,用来证明「一切皆插件」。Context7 是可选的:连不上时命令行照样能启动——只是拿不到那些 MCP 工具。
演示
mini-dsh CLI
环境
- Node.js >= 20.18.1
- pnpm 11.22.0(见 package.json 里的 packageManager)
运行
pnpm install
cp .env.example .env
fill in DEEPSEEK_API_KEY
pnpm start
.env.example 里设置的是 deepseek/deepseek-v4-flash。如果 MINI_DSH_MODEL 完全缺失(比如你没复制 .env),入口会回退到 deepseek/deepseek-v4-pro(src/index.js:41)。
可选:填上 CONTEXT7_API_KEY。当 mcp.context7.com 连不上时,你只会看到 [plugin] failed——进程不会挂掉。
Context7 连上之后的路径:
@deepseek-ai/dsh-mcp-client
-> https://mcp.context7.com/mcp
-> ctx.tools.register(...)
-> mcp__context7__resolve-library-id
-> mcp__context7__query-docs
命令行
/tools
/models
/model
/model deepseek/deepseek-v4-pro
/model deepseek/deepseek-v4-flash
/history
/prompt
/reset
/exit
写入和 bash 执行前会先问 [Y/n]。智能体运行期间按 Esc 可以取消当前运行(方向键不会取消)。
为什么 Agent Loop 里没有 12 步上限?
学习版刻意写成:
while (true) {
const response = await model()
if (!response.toolCalls?.length) {
return response.content
}
await executeTools(response.toolCalls)
}
唯一的正常结束条件,就是模型不再请求工具。
这里刻意省略了:
- maxSteps
- token/cost budget
- compaction
- no-progress detector
- stop hooks
- steering queue
- 完整的权限系统(学习版在唯一一道真实边界——命令行的 [Y/n] 确认——前面,加了一道应用层路径门禁和命令黑名单)
- 完整的模型配置中心
- TUI/Web UI
这些对成熟产品非常有用,但理解 Agent Harness 的核心并不需要。
注意:所以理论上,一条糟糕的模型/工具链可能会无限循环。这个项目是用来学习的——别把它当成生产环境的 Agent Runtime。
给初学者:从零写一遍
不要先通读整个仓库。先浏览 ARCHITECTURE.md 建立整体印象,然后新建一个空项目,自己动手写,按 LEARNING.md 一个里程碑一个里程碑地推进。
推荐阅读顺序
src/index.js
↓
src/plugins/sessions.js
src/plugins/system-prompt.js
src/plugins/tools.js
src/plugins/llm.js
src/plugins/agents.js
src/plugins/agent-loop.js
src/plugins/sandbox.js
↓
src/core/session-runtime.js
↓
src/core/system-prompt-runtime.js
src/plugins/runtime-context.js
↓
src/core/tool-runtime.js
↓
src/core/llm-runtime.js
↓
src/core/agent-runtime.js
↓
src/core/agent-loop-runtime.js ← 核心 ↓ src/plugins/cli.js ↓ src/utils/path.js src/core/sandbox-runtime.js ↓ src/models/deepseek.js ↓ src/tools/bash.js src/tools/files.js ↓ src/plugins/external-plugins.js plugins.config.js ↓ test/core.test.js ← 行为文档:每个 runtime 一个示例
最重要的心智模型
Cordis Context
│
┌────────────┬────────────┬────────────┬────────────┬────────────┬────────────┐
▼ ▼ ▼ ▼ ▼ ▼
sessions systemPrompt tools llm agents agentLoop
│ │ Agent
bash / files DeepSeek
│
ctx.sandbox
path / command / Y/n
└── dsh-mcp-client (optional)
│
Context7
Agent Loop 对 Context7 和 Bash 一无所知,它只认识 ctx.tools。Agent 只是个薄薄的包装:sessionId + model + loop(src/core/agent-runtime.js)。
这才是这个项目里最值得学的东西。
测试
pnpm test
pnpm check
测试里有个用例:智能体连续调用 20 次工具后才结束——证明 Loop 已经没有过去那个 12 步的上限了。
来 LINUX DO 学 AI预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
huangjunsen0406/mini-dsh
一个手写的最小运行时,遵循 DSH 的设计理念,基于 @deepseek-ai/cordis 构建。
相关插件 · 其他
模型破甲清洗YuJunZhiXue/dsh-purge
⚔️ DeepSeek Harness 网络安全红队工具dsh-purge
★ 16,148已汉化DeepSeek 客户端
73
女娲蒸馏alchaincyf/nuwa-skill
输入名人名字,提炼其思维模型与决策方式供你调用
★ 37,308已汉化DSH
72
逆向分析桥接Fanqi89/dsh-rea
REA(Reverse Engineer Anything)MCP 桥接,用来把 REA 逆向工具接入 DSH 插件
★ 51已汉化DSH
72
语音女友beiyege-01/dsh-voice-ai-girlfriend
语音 AI 女友Voice AI girlfriend for DeepSeek Harness:Whisper…
★ 888已汉化DSH
71.6
红队越狱测试套件Minglink/dsh-infinite-gen-5
DeepSeek v4.1 flash 逆向工具无限五代 求 Star 收藏 ⭐欢迎大家提交项目的改进
★ 3,759已汉化DSH
71.4
协同办公空间dream-num/univer-workspace
一个让人类与 AI Agent 共同创作、协作和审阅的开源 Office 工作空间。
★ 2,266已汉化DSH
70.7