DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

Zioove /

Zioove/gpt-6-astra-dsh-preset

Verified

DeepSeek Harness (dsh) agent preset + bundle plugin: the GPT-6 / Codex Astra persona on dsh standard toolset, with a preset-local reference skill and a slim spawned-subagent persona

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@7fb567ce

GPT-6 Astra · DeepSeek Harness Agent Preset

中文 | English

把 GPT-6 / Codex「Astra」提示词作为人格层,接到 DeepSeek Harness (dsh) 的 agent 预设上。装好后在 dsh 里选「GPT-6 Astra」即可得到一个带完整编码工具链、但身份 / 语气 / 判断准则 / 自主性按 Astra 原文运行的 agent。

一句话:工具用 dsh standard 的,人格用 Astra 的。

已发布:https://github.com/Zioove/gpt-6-astra-dsh-preset —— 方式 A 一条命令即可安装。


特性

  • 人格按块内联,不是整份塞进去:源文件是一本给多个 Codex 界面用的提示词库, 本预设只取其中两段连续的、真正属于编码 agent 的指令(见「人格是怎么选出来的」)。
  • 工具面保持完整:预设由 dsh 官方 standard 预设整目录派生,文件读写 / 检索 / pwsh / 后台任务 / Skills / 计划 / 目标 / 子代理 / 工作流 / web 工具全部保留。
  • 一段运行环境适配:prompt/harness-bridge.md 把原文里的工具名(functions.exec、 apply_patch、update_plan、request_user_input、skills.list …)映射到本 harness 真实存在的工具,并声明哪些 Codex 产品面(Apps/Connectors、Plugins、request_permissions、 end_conversation …)在这里不存在。
  • 子代理不再背人格:tool-subagent(provider spawn)行带一段 444 字符的子代理人格, 新 spawn 的子代理不会复制整份人格(fork 行刻意保持继承父人格——它的意义就是继承历史并复用 KV cache)。
  • 原文随预设自带:预设内 skills/gpt-6-astra-reference/(由 customSkillDirs + baseUrl 挂载)把被排除的那 ~4,600 行、选块地图和重建方式放进一个按需加载的 skill, 常驻 token 成本为 0。
  • 模型名来自变量:人格通过 {{model}} 引用当前模型名,不硬写(上游范式:一个事实只有 一个归属方)。
  • 可重建:scripts/build.mjs 从 base/ + prompt/ 重新生成 composition。
  • 已挂载校验:composition 通过 agentPresets.standingKeyFor() 真实挂载,18 个 row 全部激活、无 process-global 服务泄漏。

目录结构

.
├── package.json              # 同时是一个 dsh bundle 插件(dsh.bundle.patch)
├── cordis.patch.yml          # bundle patch:insert 一行 host 插件
├── lib/
│   └── index.js              # host 插件:把 preset/(含 skills/)同步进 $DSH_HOME/.agent-presets/
├── preset/
│   ├── agent.cordis.yml      # 可直接安装的 composition(含内联人格,约 60 KB)
│   ├── preset.yml            # 显示名与描述
│   └── skills/
│       └── gpt-6-astra-reference/
│           ├── SKILL.md      # 预设自带的 skill:选块地图、被排除的内容、如何改选块
│           └── reference/GPT-6-Astra_Prompts.md   # 源文档逐字副本(339 KB)
├── base/
│   └── standard.agent.cordis.yml   # 派生的上游基线(dsh 0.1.5-rc.3 的 standard 预设)
├── prompt/
│   ├── GPT-6-Astra_Prompts.md      # 源文档(逐字,未改动)
│   └── harness-bridge.md           # 追加的运行环境适配段
├── scripts/
│   ├── build.mjs             # 选块 + 打补丁 → preset/agent.cordis.yml
│   ├── check.mjs             # 生成物自检(row 完整、persona schema、内置补丁、skill 文件)
│   ├── check-plugin.mjs      # bundle 自检(DSH_HOME、files + skills/、幂等、还原被改文件)
│   ├── ci-check.sh           # 本地 CI:构建可复现 + 变量守卫 + 两个自检
│   ├── install.ps1           # Windows 安装(方式 B)
│   └── install.sh            # macOS / Linux 安装(方式 B)
├── docs/
│   └── notes.md              # 原理、选块依据、schema 迁移坑、升级维护
├── NOTICE.md                 # 提示词文本的来源与归属
└── LICENSE                   # MIT(仅覆盖脚本与配置)

安装

预设按 id 决定目录名,dsh 只会从 ${DSH_HOME:-~/.dsh}/.agent-presets/<id>/ 读取本地预设。

方式 A:通过 dsh 安装(推荐,一条命令,自带更新)

本仓库同时是一个 dsh bundle 插件(package.json 里声明 dsh.bundle.patch, cordis.patch.yml 里 insert 一行 host 插件)。装上之后它会在每次启动时把 preset/ 的 两个文件和整个 skills/ 树同步进预设目录:

dsh plugin --profile web add github:Zioove/gpt-6-astra-dsh-preset
# 然后重启 dsh web(bundle 层在下次启动时加载)

也可以直接从本地目录装:dsh plugin --profile web add ./gpt-6-astra-dsh-preset

  • 升级:dsh plugin --profile web update dsh-preset-gpt-6-astra
  • 卸载:dsh plugin --profile web remove dsh-preset-gpt-6-astra (已落盘的预设目录会保留,需要时自己删 <DSH_HOME>/.agent-presets/gpt-6-astra/)
  • 该插件零依赖(只用 node 内置模块)、幂等(逐文件比字节)、不会因为失败而拖垮启动 (出错只打日志)。它以仓库为准,会覆盖同名的本地改动(含 skills/),但从不删除文件。
  • 若 pnpm 提示需要 allowBuilds,那只会出现在带 prepare/postinstall 的包上, 本包没有安装脚本,正常情况不需要授权。

方式 B:克隆后运行安装脚本

pwsh -File scripts/install.ps1          # Windows(-Force 覆盖)
bash scripts/install.sh                 # macOS / Linux(FORCE=1 覆盖)

方式 C:手动复制

把 preset/ 整个目录复制到 %DSH_HOME%\.agent-presets\gpt-6-astra\ (或 ~/.dsh/.agent-presets/gpt-6-astra/):

.agent-presets/gpt-6-astra/agent.cordis.yml
.agent-presets/gpt-6-astra/preset.yml
.agent-presets/gpt-6-astra/skills/…          # 可选:参考 skill

零拷贝(进阶)

dsh-agent-presets 的 row 支持 roots 配置(扫描顺序里靠前的 root 优先),所以也可以把 克隆下来的仓库直接挂成一个预设 root——把 preset/ 重排成 presets/gpt-6-astra/agent.cordis.yml,再在 profile 的 cordis.patch.yml 或宿主配置里给 agent-presets row 加:

- id: agent-presets
  config:
    roots:
      - path: ~/src/gpt-6-astra-dsh-preset/presets
        trust: user

path 支持 ~,相对路径按进程 cwd 解析,所以请用绝对路径或 ~。


验证与重建

node scripts/build.mjs        # 选块 + 打补丁,重建 preset/agent.cordis.yml
node scripts/check.mjs        # 自检:row 完整、persona schema、内置补丁、skill 文件
node scripts/check-plugin.mjs # bundle 自检:DSH_HOME 解析、files + skills/、幂等
bash scripts/ci-check.sh      # 以上 + 构建可复现校验 + 提示词变量守卫(本地 CI)

preset/agent.cordis.yml 是生成物:改选块、改适配段或同步 base/ 之后必须重跑 build.mjs 并提交结果,否则 CI 会在 git diff --exit-code 上失败。


使用

  1. 重开或刷新 dsh Web GUI,在会话的预设选择器里选 GPT-6 Astra。

  2. 想让它成为新会话的默认预设,在 settings.yaml 里写:

    agent-presets:
      default: gpt-6-astra
    

    (该值每次解析时读取,改完不需要重启 dsh。)


人格是怎么选出来的(重要)

源文档 prompt/GPT-6-Astra_Prompts.md 的标题就是 “Collected prompts and templates”: 它是给多个 Codex 界面用的提示词库(5,051 行),不是一份系统提示词。本预设只内联 两段连续的、真正属于编码 agent 的指令:

块 源文档行 内容
## Base model instruction template → # Apps (Connectors) 之前 5–157 模型层:身份、权限姿态、自主性与持久性、Personality 与写作风格、与用户沟通、把活干完的规则、使用 skills
## Engine default base instruction template → 文件末尾 4,775–5,051 引擎层:组装好的 Codex CLI 基础指令(How you work / AGENTS.md / Responsiveness / Planning / Task execution / Validating / Ambition vs precision / 进度汇报 / 最终答复结构 / Tool Guidelines)

其余约 4,600 行刻意排除,因为它们是对别的模型说的:# Classification 结尾写的是 "Output that single token immediately and nothing else."(分类器),还有 Guardian 审查模板、 批准与 request_permissions 片段、浏览器确认策略、code review rubric、realtime backend、 桌面 UI 片段、编排与压缩模板。它们没有丢——就在 preset/skills/gpt-6-astra-reference/reference/ 里,按需加载。

还有一个纯粹技术上的理由:第 362 行有 {{ tenant_policy_config }}。dsh 的提示词插值是 严格的,未注册的 {{...}} 组会让整轮请求失败;而 dsh-persona 没有 interpolate: false(只有用 ctx.systemPrompt.section({ interpolate: false }) 注册的段才有), 所以整份内联在这个 schema 下根本挂不上。

改选块:编辑 scripts/build.mjs 里的 SELECTION(起止标题锚点),重跑 build + check。 锚点找不到时构建会报错退出。


本预设相对 standard 的刻意改动

build.mjs 里有一个显式的 PATCHES 列表,每处改动都写明了它覆盖的是上游哪个事实、为什么。 锚点在新版 standard 里找不到(或匹配多处)时构建会报错退出,不会静默丢掉改动:

改动 为什么
skill-filesystem 加 customSkillDirs(!!js + baseUrl 指向 preset 自己的 skills/) 让被排除的原文与选块说明随预设自带、按需加载;这是 shipped cordis 预设用的同一套机制
tool-subagent(spawn)加 444 字符 persona 人格是常驻成本,新 spawn 的子代理不需要完整版本;fork 不加,因为它要继承历史并复用父级 KV cache

原理

dsh 的系统提示是按段拼装的,dsh-persona 这个 row 提供两个段:

段 order 本预设内容
deployment:persona-prefix 0 两段 Astra 指令 + 运行环境适配段
deployment:persona-suffix 10200 Your working directory is {{cwd}}.

顺序是 identity-first(与 Claude Code / Codex 的惯例一致):harness 身份段(−100)→ 人格(0)→ 各工具 row 自己的指导(100–199)→ 工作目录尾段(10200)。也就是说 dsh 的工具 指导排人格之后,冲突时以 harness 的工具说明为准。

composition 里三条 isolate realm 规则(planning / compaction / delegation)是 dsh 对「预设自有服务」的硬要求,本仓库原样保留,未做改动。


成本提示

人格段常驻系统提示,约 44 K 字符 ≈ 11k token,每次请求都会带上。相比整份内联 (339 KB ≈ 85k token)已经是 1/8,而且:

  • spawn 子代理只付 ~100 token 的人格,不再复制整份;
  • 参考 skill 与原文在被读取前不产生任何 token 成本。

升级维护(重要)

dsh 会改 row 的 config schema。本仓库踩过的坑:

  • dsh ≤ 0.1.4:dsh-persona 的字段是 text: <string>。
  • dsh 0.1.5-rc.3 起:字段改为 prefix(必填)与 suffix;旧写法会以 invalid config: $.prefix missing required value 挂载失败。如果这个预设同时是默认预设, 症状就是新建对话直接失败、磁盘上不产生 session 目录。

升级 dsh 后请重新同步基线并重建:

# 1) 用新版 shipped standard 替换 base/
cp "$DSH_INSTALL/node_modules/@deepseek-ai/dsh-agent-presets/presets/standard/agent.cordis.yml" \
   base/standard.agent.cordis.yml
# 2) 重建 + 自检
node scripts/build.mjs
node scripts/check.mjs
# 3) 安装/更新,并在 GUI 里新建一次会话确认
dsh plugin --profile web update dsh-preset-gpt-6-astra     # 方式 A
#   或 bash scripts/install.sh / pwsh -File scripts/install.ps1 -Force

第 2 步是 standard 被改写时的报警点:PATCHES 的锚点会被检查,上游把 model / skill / subagent 的 row 重排会让构建带着补丁名失败,而不是静默退回上游行为。

shipped 预设目录位置与预设 id 也会随版本变化(例如 0.1.5 起目录移到 node_modules/@deepseek-ai/dsh-agent-presets/presets/,预设 code 更名为 ptc)。


已知限制

  • 原文提到的 Codex 产品面(Apps / Connectors、Plugins、Artifacts、request_permissions、 end_conversation、Guardian 审查、realtime backend)在 dsh 中不存在,适配段已明确排除; 需要跨会话记忆时使用本机记忆服务(OpenViking)的工具。
  • 原文写的是 OpenAI 的产品体系,本预设只把它当人格与行为准则使用,不改变模型路由、也不代表 OpenAI 或 DeepSeek 的任何官方立场;{{model}} 说明真正在回答的模型是谁。
  • 人格文本一旦改动,系统提示前缀即变化,会重建 KV cache。
  • spawn 子代理的人格比父代理短。想让子代理恢复完整人格:删掉 preset/agent.cordis.yml 里 spawn 行的 persona: 并重建。

贡献者

  • 作者:Zioove —— 预设 composition、bundle 插件、选块与运行环境适配、构建/自检脚本、文档。
  • 贡献者:T0mor1 —— 仓库协作者。

本仓库的每条提交的作者都是 Zioove;仓库归属 Zioove,T0mor1 拥有协作者权限。


许可与归属

  • 本仓库的脚本、配置、文档:MIT,见 LICENSE。
  • prompt/GPT-6-Astra_Prompts.md(以及 preset/skills/.../reference/ 里的同一份文本): 是 OpenAI GPT-6 / Codex 产品面的提示词文本,版权归 OpenAI,仅作技术研究与互操作研究收录, 不在 MIT 授权范围内。详见 NOTICE.md。
—/ 5

No ratings yet

Verified DSH bundle

Commit 7fb567ce817e

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout