🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

五面智能体 gulagala001/oh-my-agents-above-all

DeepSeek Harness
gulagala0014 天前有提交已提供中文文档扫描:含敏感能力

在 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 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · vision
装得上吗
本站尚未做安装检查
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 4 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
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/插件版本、实际入口、最小复现步骤,以及预期和实际表现;日志与截图先移除私人数据。

返回顶部 · 版本与下载 · 反馈

文档结构与贡献
预览分享卡片长什么样 ↓gulagala001/oh-my-agents-above-all
分享 · DeepSeek Harness Hub
gulagala001/oh-my-agents-above-all

在 DSH 中选择五种不同的智能体工作方式。DeepSeek Harness 插件

这是你的仓库?认领条目

回到顶部