在 DSH 中选择五种不同的智能体工作方式。DeepSeek Harness 插件
32.6/100
综合分
4
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/11/3 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add gulagala001/oh-my-agents-above-all该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 103 处,展示前 94 条)
- 读取本地文件src/cursor-rules.mjs:17
const stat = await fs.lstat(current); - 读取本地文件src/cursor-rules.mjs:25
if (!within(root, await fs.realpath(file))) throw failure('resolved path escapes workspace'); - 读取本地文件src/cursor-rules.mjs:26
const actual = await fs.lstat(file); - 读取本地文件src/cursor-rules.mjs:80
try { resolved = await fs.realpath(target); break; } - 读取本地文件src/cursor-rules.mjs:101
const root = await fs.realpath(cwd), rules = []; let entries = 0, bytes = 0; - 读取本地文件src/cursor-rules.mjs:109
const stat = await fs.lstat(directory); - 读取本地文件src/checkpoints.mjs:46
const root = await fs.realpath(session.header.cwd), stat = await fs.lstat(root); - 读取本地文件src/checkpoints.mjs:55
let stat; try { stat = await fs.lstat(current); } catch (error) { if (error.code === 'ENOENT') return { parents, missing: true }; throw error; } - 读取本地文件src/checkpoints.mjs:57
if (!inside(root, await fs.realpath(current))) fail('UNSAFE_PATH', 'A checkpoint parent resolves outside the workspace'); - 读取本地文件src/checkpoints.mjs:67
const entry = await fs.lstat(target); - 读取本地文件src/checkpoints.mjs:73
const bytes = await boundedRead(handle), after = await handle.stat(), named = await fs.lstat(target); - 写入本地文件src/checkpoints.mjs:116
await fs.mkdir(target, { recursive: true, mode: 0o700 }); - 读取本地文件src/checkpoints.mjs:117
const stat = await fs.lstat(target); - 写入本地文件src/checkpoints.mjs:165
await fs.rename(temporary, metadataPath(state.sessionId)); - 删除本地文件src/checkpoints.mjs:167
} finally { if (temporaryCreated) await fs.rm(temporary, { force: true }); } - 删除本地文件src/checkpoints.mjs:179
await fs.unlink(target); - 删除本地文件src/checkpoints.mjs:200
} finally { if (temporaryCreated) await fs.rm(temporary, { force: true }); } - 删除本地文件src/checkpoints.mjs:246
if (before.kind === 'absent') { await check(state, file, session, guard); guard(); await fs.unlink(target); applied(); return; } - 写入本地文件src/checkpoints.mjs:258
await fs.rename(temporary, target); - 删除本地文件src/checkpoints.mjs:264
try { await fs.rm(temporary, { force: true }); } - 读取本地文件src/presets/pi/branches.mjs:13
const source = readFileSync(new URL('./sources/packages/coding-agent/src/core/compaction/branch-summarization.ts', import.meta.url), 'utf8'); - 读取本地文件src/presets/pi/branches.mjs:14
const utils = readFileSync(new URL('./sources/packages/coding-agent/src/core/compaction/utils.ts', import.meta.url), 'utf8'); - 写入本地文件src/presets/pi/branches.mjs:103
mkdirSync(directory, { recursive: true, mode: 0o700 }); - 写入本地文件src/presets/pi/branches.mjs:108
try { writeFileSync(descriptor, JSON.stringify({ version: 1, text })); } finally { closeSync(descriptor); descriptor = undefined; } - 写入本地文件src/presets/pi/branches.mjs:109
renameSync(temporary, file); - 删除本地文件src/presets/pi/branches.mjs:111
} finally { if (created) rmSync(temporary, { force: true }); } - 读取本地文件src/presets/grok/monitor.mjs:7
const source = readFileSync(new URL('./sources/crates/codegen/xai-grok-tools/src/implementations/grok_build/monitor/tool.rs', import.meta.url), 'utf8' - 读取本地文件src/presets/grok/scheduler.mjs:8
const source = file => readFileSync(new URL(base + file, import.meta.url), 'utf8'); - 发起网络请求src/presets/zcode/scheduler.mjs:163
const decision = await approval.request({ agent: scope.agent, toolName: exec.name, callId: exec.callId, - 读取本地文件src/host/preset-activation.mjs:18
const value = JSON.parse(readFileSync(file, 'utf8')); - 写入本地文件src/host/preset-activation.mjs:110
mkdirSync(directory, { recursive: true, mode: 0o700 }); - 写入本地文件src/host/preset-activation.mjs:112
try { writeFileSync(temporary, JSON.stringify(next) + '\n', { mode: 0o600, flag: 'wx' }); renameSync(temporary, file); } - 写入本地文件src/host/preset-activation.mjs:112
try { writeFileSync(temporary, JSON.stringify(next) + '\n', { mode: 0o600, flag: 'wx' }); renameSync(temporary, file); } - 删除本地文件src/host/preset-activation.mjs:113
finally { rmSync(temporary, { force: true }); } - 读取本地文件src/updates.mjs:8
const OMD_BRIDGE = JSON.parse(readFileSync(new URL('./host/compatibility.json', import.meta.url), 'utf8')).omdBridge; - 读取本地文件src/updates.mjs:10
const RUNNING_VERSION = JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8')).version; - 读取本地文件src/host/compatibility.mjs:7
const policy = JSON.parse(readFileSync(new URL('./compatibility.json', import.meta.url), 'utf8')); - 读取本地文件src/host/compatibility.mjs:43
const { version } = JSON.parse(readFileSync(path, 'utf8')); - 读取本地文件src/host/search-compat.mjs:22
const canonical = await realpath(source); - 读取本地文件src/host/search-compat.mjs:28
try { await access(canonical, constants.X_OK); return null; } - 写入本地文件src/host/search-compat.mjs:33
await mkdir(root, { recursive: true, mode: 0o700 }); - 读取本地文件src/host/search-compat.mjs:34
const metadata = await lstat(root); - 写入本地文件src/host/search-compat.mjs:40
await writeFile(executable, bytes, { flag: 'wx', mode: 0o500 }); - 写入本地文件src/host/search-compat.mjs:41
await chmod(executable, 0o500); - 删除本地文件递归src/host/search-compat.mjs:42
return { source, executable, dispose: () => rm(temporary, { recursive: true, force: true }) }; - 删除本地文件递归src/host/search-compat.mjs:44
await rm(temporary, { recursive: true, force: true }); - 读取本地文件src/host/working-directory.mjs:17
const [directory, root] = await Promise.all([realpath(localCwd), realpath(localRoot)]); - 读取本地文件src/presets/codex/prompt.mjs:3
const original = readFileSync(new URL('./sources/instructions_template.md', import.meta.url), 'utf8') - 读取本地文件src/presets/codex/prompt.mjs:102
return readFileSync(new URL('./sources/compact.md', import.meta.url), 'utf8') - 读取本地文件src/presets/grok/prompt.mjs:10
const template = readFileSync(new URL('./sources/crates/codegen/xai-grok-agent/templates/prompt.md', import.meta.url), 'utf8'); - 读取本地文件src/presets/grok/prompt.mjs:11
const childTemplate = readFileSync(new URL('./sources/crates/codegen/xai-grok-agent/templates/subagent_prompt.md', import.meta.url), 'utf8'); - 读取本地文件src/presets/grok/prompt.mjs:137
const summaryTemplate = readFileSync(new URL('./sources/crates/common/xai-grok-compaction/src/code_compaction/templates/full_replace_summary_prompt.tx - 读取本地文件src/presets/cursor/prompt.mjs:3
const original = readFileSync(new URL('./sources/cursor-agent-sample.md', import.meta.url), 'utf8') - 读取本地文件src/presets/pi/prompt.mjs:11
const source = readFileSync(new URL('./sources/packages/coding-agent/src/core/system-prompt.ts', import.meta.url), 'utf8'); - 读取本地文件src/presets/pi/prompt.mjs:100
const compactionSource = readFileSync(new URL('./sources/packages/coding-agent/src/core/compaction/compaction.ts', import.meta.url), 'utf8'); - 读取本地文件src/host/grok-schedule-transaction.mjs:13
const binding = JSON.parse(readFileSync(new URL('../presets/grok/source.json', import.meta.url), 'utf8')).schedulerAdapter.transactionCompatibility; - 读取本地文件src/host/grok-schedule-transaction.mjs:26
const manifest = JSON.parse(readFileSync(require.resolve('@deepseek-ai/dsh-schedule/package.json'), 'utf8')); - 读取本地文件src/host/grok-schedule-transaction.mjs:27
if (!binding.reviewedVersions.includes(manifest.version) || hash(readFileSync(require.resolve('@deepseek-ai/dsh-schedule'))) !== implementationSha256 - 读取本地文件src/host/pi-loop.mjs:7
const binding = JSON.parse(readFileSync(new URL('../presets/pi/source.json', import.meta.url), 'utf8')).nativeLoopAdapter; - 读取本地文件src/host/pi-loop.mjs:14
const manifest = JSON.parse(readFileSync(require.resolve(binding.package + '/package.json'), 'utf8')); - 读取本地文件src/host/pi-loop.mjs:15
if (!binding.reviewedVersions.includes(manifest.version) || hash(readFileSync(require.resolve(binding.package))) !== binding.implementationSha256) - 发起网络请求src/host/pi-loop.mjs:22
const request = async (value, signal) => hooks.request(value, signal); - 发起网络请求src/presets/pi/extensions/pi-api.mjs:54
return runtime.request(context, method, args, voidAction); - 写入本地文件src/presets/grok/pdf-images.mjs:34
await writeFile(input, bytes, { flag: 'wx', mode: 0o600, signal }); - 删除本地文件递归src/presets/grok/pdf-images.mjs:96
await cleanupAll([() => converter?.dispose(), async () => { if (directory) await rm(directory, { recursive: true, force: true }); }]); - 读取本地文件src/presets/grok/document-files.mjs:20
const root = await realpath(directory); - 读取本地文件src/presets/grok/document-files.mjs:21
if (!inside(resolve(directory), image.path) || !inside(root, await realpath(image.path))) - 读取本地文件src/presets/grok/document-files.mjs:23
const before = await lstat(image.path); - 读取本地文件src/git-review.mjs:46
const root = await fs.realpath(executionContext.getStore()?.cwd ?? session.header.cwd), repo = await fs.realpath((await git(root, ['rev-parse', '--sho - 读取本地文件src/git-review.mjs:48
const gitDir = await fs.realpath((await git(root, ['rev-parse', '--absolute-git-dir'])).trim()); - 读取本地文件src/git-review.mjs:50
const canonicalPolicyRoot = policyRoot && await fs.realpath(policyRoot); - 读取本地文件src/git-review.mjs:63
let stat; try { stat = await fs.lstat(current); } catch (error) { if (absent && error.code === 'ENOENT') return undefined; throw error; } - 读取本地文件src/git-review.mjs:66
const stat = await fs.stat(target); - 读取本地文件src/git-review.mjs:68
const bytes = await fs.readFile(target); - 执行外部命令来自配置/变量src/host/cursor-editor.mjs:49
const child = spawn(command, args, { shell: false, detached: true, stdio: 'ignore', windowsHide: false }); - 读取本地文件src/host/cursor-editor.mjs:73
await access(file, platform === 'win32' ? constants.F_OK : constants.X_OK); - 读取本地文件src/host/cursor-editor.mjs:74
if (!(await stat(file)).isFile()) continue; - 读取本地文件src/host/cursor-editor.mjs:75
found.push({ ...editor, executable: await realpath(file) }); break; - 读取本地文件src/host/cursor-editor.mjs:83
const base = await realpath(root), target = resolve(base, file); - 读取本地文件src/host/cursor-editor.mjs:88
const info = await lstat(path); - 读取本地文件src/host/cursor-editor.mjs:93
if ((await stat(target)).size > 2 * 1024 * 1024) throw Error('文件超过精确定位的 2 MiB 上限。'); - 写入本地文件src/host/pi-extensions.mjs:58
mkdirSync(dirname(file), { recursive: true, mode: 0o700 }); - 写入本地文件src/host/pi-extensions.mjs:63
writeFileSync(descriptor, JSON.stringify(value) + '\n'); - 写入本地文件src/host/pi-extensions.mjs:65
renameSync(temporary, file); owned = false; - 删除本地文件src/host/pi-extensions.mjs:69
if (owned) try { rmSync(temporary, { force: true }); } catch (error) { failures.push(error); } - 写入本地文件src/host/preferences.mjs:23
mkdirSync(dirname(file), { recursive: true, mode: 0o700 }); - 写入本地文件src/host/preferences.mjs:25
try { writeFileSync(temporary, JSON.stringify(value), { mode: 0o600, flag: 'wx' }); renameSync(temporary, file); } - 写入本地文件src/host/preferences.mjs:25
try { writeFileSync(temporary, JSON.stringify(value), { mode: 0o600, flag: 'wx' }); renameSync(temporary, file); } - 删除本地文件src/host/preferences.mjs:26
finally { rmSync(temporary, { force: true }); } - 读取本地文件src/host/preferences.mjs:30
try { readFileSync(fileFor(id)); return true; } - 读取本地文件src/host/preferences.mjs:34
try { return preferenceSchema.parse(JSON.parse(readFileSync(fileFor(id), 'utf8'))); } - 删除本地文件src/host/preferences.mjs:39
rmSync(transferFor(id), { force: true }); - 删除本地文件src/host/preferences.mjs:41
remove(id) { rmSync(fileFor(id), { force: true }); rmSync(transferFor(id), { force: true }); }, - 读取本地文件src/host/preferences.mjs:43
try { return JSON.parse(readFileSync(transferFor(id), 'utf8')); }
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/libreoffice-kit@deepseek-ai/cordis@deepseek-ai/cordis-plugin-group@deepseek-ai/cordis-plugin-include@deepseek-ai/cordis-plugin-loader@deepseek-ai/dsh@deepseek-ai/dsh-agent-loop@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-llm@deepseek-ai/dsh-mcp-client@deepseek-ai/dsh-schedule@deepseek-ai/dsh-scope给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DSH 深度代理预设:Codex、Grok Build、Cursor、Pi、ZCode,主题与可选 OMD 增强
README
由 DeepSeek 最新模型翻译生成Oh My Agents Above All
在 DSH 中选择五种不同的智能体工作方式。DeepSeek Harness 插件
简体中文 · English
开始使用 · 完整文档 · 反馈
快速开始
适用环境: DSH 0.2.1-rc.5, Node.js 22.19+.
使用 DSH 已配置的模型与凭据。五个预设提供来源提示词、工作流程和主题适配,不附带对应产品的官方账号或专有云端服务。
1. 安装
打开实际使用的 DSH 实例,在 插件 → + 添加插件 中粘贴:
https://github.com/gulagala001/oh-my-agents-above-all/releases/download/v0.2.1-rc.5.omaa.0.17.7/oh-my-agents-above-all-0.2.1-rc.5.omaa.0.17.7.tgz
等当前任务结束后,按宿主提示启用或完整重启该实例,沿用原配置档与数据。其他宿主、升级和卸载见安装指南 · SHA256SUMS.
2. 先试这一件事
默认关闭全部预设。先到 设置 → OMAA 按需开启,再在新会话中选择;不会替换宿主默认预设,全部关闭时会话、工具和主题保持原样。
展开完整文档(README 剩余 1 节)
Oh My Agents Above All 在 DSH 中选择五种不同的智能体工作方式。DeepSeek Harness 插件 简体中文 · English 开始使用 · 完整文档 · 反馈 快速开始 适用环境: DSH 0.2.1-rc.5, Node.js 22.19+. 使用 DSH 已配置的模型与凭据。五个预设提供来源提示词、工作流程和主题适配,不附带对应产品的官方账号或专有云端服务。 1. 安装 打开实际使用的 DSH 实例,在 插件 → + 添加插件 中粘贴: https://github.com/gulagala001/oh-my-agents-above-all/releases/download/v0.2.1-rc.5.omaa.0.17.7/oh-my-agents-above-all-0.2.1-rc.5.omaa.0.17.7.tgz 等当前任务结束后,按宿主提示启用或完整重启该实例,沿用原配置档与数据。其他宿主、升级和卸载见安装指南 · SHA256SUMS. 2. 先试这一件事 默认关闭全部预设。先到 设置 → OMAA 按需开启,再在新会话中选择;不会替换宿主默认预设,全部关闭时会话、工具和主题保持原样。 新建会话,选择 Codex · OMAA 或其他预设,输入: 只读检查这个项目的 README 和目录结构,列出开始开发前需要确认的事项。 成功标志: 会话使用所选预设的工作方式与主题,并通过 DSH 原生工具返回实际项目内容。 五种工作方式,共用你的 DSH 环境 OMAA 为 Codex、Grok Build、Cursor、Pi Coding Agent 和 ZCode 提供独立的来源提示词、工作流程与明暗主题。模型、原生工具循环、会话和权限由 DSH 负责,无需安装五个官方客户端。 | 预设 | 适合的工作与实际能力 | | Codex | 连续代码工作;真实 Git 范围、文件/块操作、持久批注、编辑器定位和审阅续改。 | | Grok Build | 计划与执行、实时 stdout 监控、原生 interval 调度。 | | Cursor | MDC/项目规则、Ask/Plan、文件检查点、多范围审阅、持久行批注、本机编辑器定位与批量反馈续改。 | | Pi | 精简默认工具、SYSTEM/模板/规则、逐条 steer、原生分支导航、扩展草稿/收尾续跑与消息事件。 | | ZCode | 保存并复用工作流、TypeScript Actor、静态执行图、文件/Git/命令 facade 与产物面板。 | 主题可跟随预设、指定另一套或恢复 DSH 原生外观;明暗模式与宿主同步。不同预设保留自身行为差异,详细范围见产品文档。 审阅变更,并保留下一步 Codex 预设可查看 Unstaged、Staged、Commit、Branch 和 Last turn,按文件或块暂存、取消暂存、撤回,并保存跨重启的行批注、定位本机编辑器、单条或批量反馈续改。已阅/已发送/已解决状态分别保存;操作遵守宿主权限,过期比较会被拒绝。 Cursor 的「代码审阅」覆盖工作区、暂存、提交、分支与会话回合;行级批注保存在本地,批量反馈后由当前会话继续修改。检查点恢复核对冲突并保留消息,不是任意 shell 操作的全工作区快照。Pi 分支使用原生会话树,共享目录,切换分支不会回滚文件。 工作台操作 · 五套界面实拍 兼容与来源边界 OMAA 0.17.7 精确匹配 DSH 0.2.1-rc.5;rc.1 继续使用已有 0.16.5 固定包。两种宿主不能混用安装包。预设不是对应官方产品的完整运行层,不包含其专有云代理、官方账号或全部私有 API。 Pi 本地扩展默认白名单为空,仅执行用户明确指定的绝对路径;已支持 API 与未支持边界见 Pi 文档。ZCode 工作流沿用 DSH 的模型、隔离执行、权限与原生子会话,不冒称原厂完整 journal/replay。 常见问题 为什么换预设后模型没变? 预设调整工作方式与主题,实际模型仍由 DSH 的模型选择负责。请选择有对应工具与输入能力的模型。 能使用原产品的账号或云端功能吗? OMAA 使用 DSH 的模型与凭据,不登录或代理五个官方客户端。可用功能以各预设的产品文档为准。 升级或卸载会删除会话吗? 升级保留原 profile 与数据目录。卸载插件不会主动删除 DSH 会话和工作区文件;偏好、检查点和 Pi 扩展白名单位于 DSH_HOME/omaa,不自动清除。安装与维护 贡献与许可 贡献说明 · 架构 · 来源资料 原创代码采用 Apache-2.0。第三方代码与材料保留各自许可和署名,特别是 Cursor 样本的授权边界;详见 LICENSING.md 与 THIRD_PARTY_NOTICES.md。 文档与支持 | 我想做什么 | 去哪里 | | 安装、升级、卸载 | 安装指南 | | 了解使用方法与边界 | 使用文档 | | 查看版本变化 | Releases | | 反馈问题 | Issues | 反馈时请提供完整 DSH/插件版本、实际入口、最小复现步骤,以及预期和实际表现;日志与截图先移除私人数据。 返回顶部 · 版本与下载 · 反馈 文档结构与贡献
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
gulagala001/oh-my-agents-above-all
在 DSH 中选择五种不同的智能体工作方式。DeepSeek Harness 插件
相关插件 · 视觉能力
智能体工作台Devin-AXIS/iPolloWork
企业级、本地优先的智能体工作台,面向个人和智能体团队——一个工作区,容纳多个智能体引擎;一套统一体系,管理插件和技能;支…
★ 7,359已汉化DSH
72
开源设计工作台nexu-io/open-design
OpenDesign:首个协作式 AI 设计智能体工作区
★ 105,514已汉化DSH
71.8
多智能体编码工作区spacering-net/codeg
多智能体协作的 AI 编程工作区:汇总 Claude Code、Codex、OpenCode、Pi、Grok Build 等来源的会话。支持桌面应用、自托管服务器或 Docker。
★ 4,289已汉化DSH
71.6
GPT 图像提示词库freestylefly/awesome-gpt-image-2
Prompt as Code | GPT Image 2 / 2.5 提示词与案例库,530+ 个案例、20+…
★ 34,534已汉化DSH
71.5
架构图生成器tt-a1i/archify
把你想理解、规划或分享的事,变成可以互动的可视化作品。
★ 92,675已汉化DSH
71.2
AI 用量桌面小部件Javis603/token-monitor
EN | 简 | 繁 | KO | JA | PT
★ 3,522已汉化DSH
71
这是你的仓库?认领条目