生成可移植配置包并预览应用,支持回滚上一版本
27.5/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add omdsh-dev/omdsh-runtime该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · other
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 81 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件读取剪贴板或密钥环境变量
查看扫描证据(共 56 处,展示前 52 条)
- 执行外部命令来自配置/变量dist/manager.mjs:20
const child = spawn(command, args, { - 读取本地文件dist/profile.mjs:13
await access(filename, fsConstants.F_OK) - 读取本地文件dist/profile.mjs:23
text = await readFile(filename, 'utf8') - 写入本地文件dist/profile.mjs:101
await mkdir(root, { recursive: true }) - 写入本地文件dist/profile.mjs:105
await mkdir(temporary, { recursive: false }) - 写入本地文件dist/profile.mjs:109
if (await exists(from)) await copyFile(from, join(temporary, filename)) - 写入本地文件dist/profile.mjs:122
await rename(temporary, target) - 删除本地文件递归dist/profile.mjs:125
await rm(temporary, { recursive: true, force: true }) - 执行外部命令来自配置/变量dist/launcher.mjs:13
const child = spawn(command, args, { - 读取本地文件dist/storage.mjs:9
const stats = await lstat(filename) - 读取本地文件dist/storage.mjs:15
for (const entry of await readdir(filename)) { - 读取本地文件dist/storage.mjs:37
entries = await readdir(root, { withFileTypes: true }) - 读取本地文件dist/storage.mjs:48
const metadataStats = await lstat(metadataFilename) - 读取本地文件dist/storage.mjs:100
const root = await realpath(profilesDirectory(home)) - 读取本地文件dist/storage.mjs:102
const stats = await lstat(target) - 删除本地文件递归dist/storage.mjs:132
await rm(target, { recursive: true, force: false }) - 读取本地文件dist/registry.mjs:378
return JSON.parse(await readFile(filename, 'utf8')) - 读取本地文件dist/recipes.mjs:181
return JSON.parse(await readFile(filename, 'utf8')) - 读取本地文件dist/profile-pack.mjs:431
await access(path, fsConstants.F_OK) - 读取本地文件dist/profile-pack.mjs:440
const entries = await readdir(directory, { withFileTypes: true }) - 读取本地文件dist/profile-pack.mjs:445
const info = await lstat(filename) - 读取本地文件dist/profile-pack.mjs:453
const bytes = await readFile(filename) - 读取本地文件dist/profile-pack.mjs:467
const info = await lstat(root).catch(() => null) - 读取本地文件dist/profile-pack.mjs:544
const info = await lstat(filename) - 写入本地文件dist/profile-pack.mjs:640
await mkdir(root, { recursive: true }) - 写入本地文件dist/profile-pack.mjs:643
await mkdir(temporary, { recursive: false }) - 写入本地文件dist/profile-pack.mjs:647
await mkdir(dirname(filename), { recursive: true }) - 写入本地文件dist/profile-pack.mjs:648
await writeFile(filename, file.content, { encoding: 'utf8', mode: 0o600, flag: 'wx' }) - 写入本地文件dist/profile-pack.mjs:651
await rename(temporary, target) - 写入本地文件dist/profile-pack.mjs:654
await rename(target, backup) - 删除本地文件递归dist/profile-pack.mjs:661
await rm(backup, { recursive: true, force: true }).catch(() => {}) - 删除本地文件递归dist/profile-pack.mjs:663
await rm(temporary, { recursive: true, force: true }).catch(() => {}) - 读取本地文件dist/pack-authoring.mjs:108
const info = await lstat(filename) - 读取本地文件dist/pack-authoring.mjs:110
try { return parsePackSource(JSON.parse(await readFile(filename, 'utf8'))) } catch (cause) { throw new Error('Pack source is not valid', { cause }) } - 读取本地文件dist/pack-authoring.mjs:114
try { await lstat(filename); throw new Error(`output already exists: ${filename}`) } catch (error) { - 读取本地文件dist/adapters/official-v1.mjs:149
const resolvedBin = await realpath(manager.dshBin) - 读取本地文件dist/adapters/official-v1.mjs:153
manifest = await readFile(join(resolvedRoot, 'package.json'), 'utf8').then(JSON.parse).catch(() => null) - 读取本地文件dist/adapters/official-v1.mjs:160
const lock = JSON.parse(await readFile(resolve(resolvedRoot, '..', '..', '.package-lock.json'), 'utf8')) - 读取本地文件dist/adapters/repository-config-v1.mjs:113
const content = await readFile(patchFilename(home, profile), 'utf8') - 读取本地文件dist/adapters/repository-config-v1.mjs:121
const current = await readFile(filename, 'utf8') - 读取本地文件dist/cli.mjs:271
privateKey: await readFile(options['private-key'], 'utf8'), - 读取本地文件dist/cli.mjs:290
: await readFile(options['trusted-key'], 'utf8') - 读取密钥环境变量dist/generations.mjs:164
const token = options.token ?? process.env.OMDSH_BOOT_TOKEN - 写入本地文件dist/atomic.mjs:7
await mkdir(directory, { recursive: true }) - 写入本地文件dist/atomic.mjs:16
await rename(temporary, filename) - 删除本地文件dist/atomic.mjs:19
await rm(temporary, { force: true }).catch(() => {}) - 读取本地文件dist/state.mjs:25
text = await readFile(filename, 'utf8') - 写入本地文件dist/state.mjs:45
await mkdir(dirname(filename), { recursive: true }) - 删除本地文件dist/state.mjs:53
await rm(filename, { force: true }) - 读取本地文件dist/state.mjs:59
const lock = JSON.parse(await readFile(filename, 'utf8')) - 删除本地文件dist/state.mjs:65
await rm(filename, { force: true }) - 读取本地文件dist/agent-ecosystem.mjs:349
return JSON.parse(await readFile(filename, 'utf8'))
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 生成可移植配置包
- 预览应用配置
- 回滚上一版本
README
由 DeepSeek 最新模型翻译生成OMDSH Runtime
一个复用官方 Harness Profile、Bundle、Cordis 与包操作的无前端执行层。它只补确定性的 plan/apply、candidate generation、用户确认和 previous generation 恢复,不新增第二套 Loader 或 daemon;DSH Hub Workshop 始终是唯一发现、作者发布、审核与 feed 主数据源。
源码仓库已公开。@ohmydsh/runtime 配置为 npm 公开预览包,只使用 preview dist-tag,预览版本不会隐式移动 latest。
代码边界保持为“一个 Toolkit 仓库、多个稳定模块”:profile-pack 只负责格式、内容摘要、签名和组合检查;pack-authoring 只负责作者清单;license 只负责 SPDX 事实;pack-instances 只负责命名实例;CLI 只是调用这些模块和既有 Runtime/官方 DSH 操作的薄层。Hub 不 import Runtime 源码,双方只交换带版本的 JSON Schema、Registry 快照 ID、锁包和签名结果。等第三方确实需要独立依赖时,可以原样发布这些子路径或拆成 pack-core 包,不需要改 Pack 格式或 CLI。
展开完整文档(README 剩余 1 节)
OMDSH Runtime 一个复用官方 Harness Profile、Bundle、Cordis 与包操作的无前端执行层。它只补确定性的 plan/apply、candidate generation、用户确认和 previous generation 恢复,不新增第二套 Loader 或 daemon;DSH Hub Workshop 始终是唯一发现、作者发布、审核与 feed 主数据源。 源码仓库已公开。@ohmydsh/runtime 配置为 npm 公开预览包,只使用 preview dist-tag,预览版本不会隐式移动 latest。 代码边界保持为“一个 Toolkit 仓库、多个稳定模块”:profile-pack 只负责格式、内容摘要、签名和组合检查;pack-authoring 只负责作者清单;license 只负责 SPDX 事实;pack-instances 只负责命名实例;CLI 只是调用这些模块和既有 Runtime/官方 DSH 操作的薄层。Hub 不 import Runtime 源码,双方只交换带版本的 JSON Schema、Registry 快照 ID、锁包和签名结果。等第三方确实需要独立依赖时,可以原样发布这些子路径或拆成 pack-core 包,不需要改 Pack 格式或 CLI。 可移植 Profile Pack omdsh-profile-pack/v1 是轻量、可审查的 JSON 发行格式。它只记录固定的 Registry 项目与 Release ID、固定到完整 Git commit 的自有源码、Registry 快照、实际观测到的 @deepseek-ai/dsh 版本,以及一个 Agent Preset;不会复制插件包体、凭据、会话、环境文件或本机绝对路径。 新建整合包:既可加入已准入 Release,也可加入自己的固定源码插件。 omdsh pack init research.pack.json --id research --preset code omdsh pack add research.pack.json --release sample@1.2.3 omdsh pack add research.pack.json --source-id my-plugin --package @me/dsh-my-plugin --version 0.1.0 --repository https://github.com/me/dsh-my-plugin --ref --license MIT 先查看所有组件许可证,再绑定 Runtime、Registry、哈希与来源并试跑。 omdsh pack licenses research.pack.json omdsh pack lock research.pack.json --output research-0.1.0.dshpack omdsh pack test research.pack.json --profile web --trust-source 导出当前受管理 Profile,并引用一个官方预设。 omdsh pack export --profile web --preset standard --output web-0.1.0.dshpack 把 Workshop 生成的发行清单绑定到当前 Runtime 与 Registry。 omdsh pack build research-0.1.0.distribution.json --output research-0.1.0.dshpack 只读检查 schema、文件哈希和整包 digest,再对当前 Runtime、Registry、Profile 与信任参数做零 Profile 写入预检。 omdsh pack inspect research-0.1.0.dshpack omdsh pack plan research-0.1.0.dshpack --profile web --trust-source 用 Ed25519 绑定发布者来源,再显式传入可信公钥验证。 omdsh pack sign research-0.1.0.dshpack --private-key publisher.pem --key-id example/releases-2026 --publisher example --source https://github.com/example/research --output research-0.1.0.signed.dshpack omdsh pack inspect research-0.1.0.signed.dshpack --trusted-key publisher.pub 在命名实例中只生成 candidate;激活仍然是独立动作。 omdsh pack apply research-0.1.0.signed.dshpack --instance research --profile web --trusted-key publisher.pub --require-signature omdsh activate --profile web omdsh confirm --profile web omdsh pack instance research 先看版本差异,再准备更新;回滚会重新选择上一个 Profile generation。 omdsh pack diff research-0.2.0.signed.dshpack --instance research omdsh pack update research-0.2.0.signed.dshpack --instance research --trusted-key publisher.pub --require-signature omdsh pack rollback --instance research 源清单刻意保持很小:有序组件清单、一个内置预设、SPDX 许可证表达式和不可变来源。分支、浮动标签、本地路径、安装脚本、密钥和复制的 node_modules 都不会被接受。pack licenses 会列出每个组件的许可证表达式、声明来源、SPDX 链接及人工核对提醒;它是可信事实清单,不是法律意见,也不会替作者自动判断许可证兼容性。 已准入 Registry Release 沿用原有信任;作者自己的源码始终标记为 experimental-fixed-source,生成 candidate 前必须显式传入 --trust-source,完成插件 Registry 准入前不能作为可信社区发行。整合包若只引用已经准入的 Release,不重复每个插件的人审,只做组合检查并对最终 digest 签一次。 内置预设 standard、code、minimal、cordis 只引用官方 Harness 中的 ID。自定义预设仅嵌入 UTF-8 文本,并拒绝符号链接、疑似凭据的文件或内容、二进制数据和本机绝对路径。应用嵌入内容必须显式传入 --trust-preset;覆盖已有自定义预设还必须传入 --replace-preset。 应用整合包时,只会替换当前固定 Registry 快照所管理的插件,以及同一命名整合包实例明确跟踪的固定源码;其他未纳管本地包保持不变。生成的 candidate 仍需单独激活并完成运行确认,原有 previous-generation 恢复流程不变。 它和工作区型 Pack/Skill 投影工具可以共存:后者适合把 Skills、提示词和编辑器配置映射进当前项目,并提供搜索或白名单;这里的 Profile Pack 聚焦可发行边界,固定 DSH Runtime、Registry Release、作者源码 commit、许可证、发布者签名和可回滚的 Profile generation。它不接管 Skill 搜索,也不把另一种 Pack 格式包装成 DSH 插件,因此不会形成第二套 Loader。 为兼容已有文件,未签名 v1 包仍可读取。带签名的 omdsh-profile-pack-envelope/v1 只有在传入发布者公钥且 Ed25519 校验通过后才可执行;--require-signature 可以拒绝旧的未签名输入。命名实例只保存包身份、精确 Release 选择、预设身份、发布者事实和 generation 指针。回滚不承诺撤销数据库、网络、文件系统等外部副作用,嵌入式预设的回滚也仍不属于 Profile generation。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
omdsh-dev/omdsh-runtime
生成可移植配置包并预览应用,支持回滚上一版本
相关插件 · 其他
模型破甲清洗HunYiSage/dsh-purge
⚔️ DeepSeek Harness 网络安全红队工具dsh-purge
★ 16,993已汉化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,269已汉化DSH
70.8
这是你的仓库?认领条目