Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 6 additions & 4 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,12 @@

## 当前基线(2026-10-01)

- 当前包版本 0.2.1;PR #4 已保留历史合并,发布点为 084a767aa3055d5cb0e06ddf4fb42dda4156458c。npm latest=next=0.2.1、annotated tag 与公开 GitHub Release 均已核对该发布点,双渠道独立实装和各 28 项服务栈通过。市场 PR #6296 已转为可审查,上游两个检查通过,尚未收录,详见 docs/release-report-0.2.1.md。

- 主工作目录:`C:/Users/Mashed Potato/Desktop/npm/dsh-git-plugin`;先确认所在 checkout,避免把改动写到另一 worktree。
- 适配已提交:`8181856`,包含严格 TypeScript 迁移、DSH 0.2.0-rc.2 适配、Git 参数安全/超时/钩子目录修复、测试与文档。
- 源码为 `src/index.ts`;`npm run build` 生成 `lib/index.js`、`lib/index.d.ts`,构建产物随 Git 提交并用于 npm 安装。保持 ESM 与现有命令/工具行为。
- 当前版本为 `0.2.0`,CHANGELOG 日期 2026-10-01;PR #2 已以 merge commit 保留历史合并,统一发布点为 `c83f3322950b0892022d6b3efd1e4f6edbed5be8`。远端 annotated tag `v0.2.0`、公开 GitHub Release 与 npm 0.2.0 的 gitHead 均指向它,tarball 与双渠道实装产物一致。npm latest=next=0.2.0,双渠道发布完成;不重复 publish 或移动 tag。证据见 `docs/release-report-0.2.0.md`。
- `0.2.0` 历史发布,CHANGELOG 日期 2026-10-01;PR #2 已以 merge commit 保留历史合并,统一发布点为 `c83f3322950b0892022d6b3efd1e4f6edbed5be8`。远端 annotated tag `v0.2.0`、公开 GitHub Release 与 npm 0.2.0 的 gitHead 均指向它,tarball 与双渠道实装产物一致。当时 npm latest=next=0.2.0,双渠道发布完成(当前标签已推广至 0.2.1);不重复 publish 或移动 tag。证据见 `docs/release-report-0.2.0.md`。
- 已验证:严格类型检查、26 项测试、构建产物一致性,以及 **Linux Node 20.20.2 / 22.23.3 的隔离矩阵**(WSL2 Ubuntu 24.04;修复后 build/check/test 通过;修复候选 922408d 的提交后干净产物门与完整 Linux 矩阵已通过)。仅 DSH `0.2.0-rc.2` 有适配验证记录;服务栈/profile 验证不等于真实模型会话验证。完整证据见 `docs/validation-report-0.2.0.md`。
- 发布点 GitHub Actions Ubuntu Node 20/22 已通过;npm 0.2.0 与固定 GitHub tag 的独立 profile 安装/启用/schema,以及官方 peer 下各 28 项服务栈验证已通过。Linux 完整 DSH 服务栈、真实模型会话及除 `0.2.0-rc.2` 外的 DSH 版本仍待验证;允许范围不等于实测范围。
- 包 01 复查发现并修复了一个真实缺陷:截止时间/宽限定时器曾被 `unref`,在被等待的 promise 只由该定时器推进时超时会被跳过(Linux 上稳定复现)。修复和重建的 `lib/`、验证脚本加固已提交为 `922408d`;该 SHA 的 Linux Node 20/22 干净检出产物门与完整矩阵已通过。
Expand All @@ -32,20 +34,20 @@

## 后续顺序与发布

- P1:`0.2.0` 双渠道发布已完成;当前优先准备下个补丁版本的 bundle 自动启用与市场收录,补验证并核对安装包与发布流程,GUI 不混入此阶段。
- P1:`0.2.1` 双渠道发布、bundle 自动启用、README 展示与市场收录申请已完成;市场 PR #6296 等待上游审查合并及目录同步,之后核验市场搜索与实际安装。GUI 另开阶段。
- P2:[Issue #1](https://github.com/MashedPotato817/dsh-git-plugin/issues/1) 的 Web 只读 Git 面板:状态、diff、历史;先评估 DSH 既有变更审阅与 client slots。
- P3:再考虑 stage/commit/branch/stash 等写操作,核对 DSH 权限与审批及恢复方式。
- 版本文件、CHANGELOG、源码、编译配置、测试和 `lib/` 一起纳入发布提交;确保 tag、Release、npm gitHead 与包内产物对应同一提交。
- 同一版本只 `npm publish --tag next` 一次;验证通过后用 `npm dist-tag add dsh-git-plugin@<版本> latest` 推广。需要修改已发布内容时提升版本。
- `AGENTS.md`、`docs/`、`.agent-teams/` 不进入 npm files;当前开发分支的 files 包含 lib、README、LICENSE、cordis.patch.yml 与 assets/readme/hero.svg(7 个实际文件)。原 0.2.0 发布包仍为 5 文件,不可覆盖;缓存与独立测试目录保持忽略。
- 本地 commit 已获持续授权:每个任务或可审阅阶段完成验证后,立即执行 commit,不再请求用户认可。合并、推送、打 tag、发布及社区消息仍按各自授权执行;已有授权不重复询问。结束报告提交 SHA、文件与原因、验证结果、未验证项和工作区状态。

## README 与市场安装准备(0.2.1 发布中)
## README 与市场安装(0.2.1 已发布)

- README 保持简洁的产品首页:用途、能力、最短安装步骤、使用示例与文档入口。配置细节、源码安装、架构、测试和发布流程放 CONTRIBUTING.md / docs;代理维护约束放 AGENTS.md。无需为一次文档调整新增 skill。
- 精简时保留已发布版本的真实启用方式、提交全部改动和 stash 的含义,以及实际验证宿主版本;不将开发中 bundle、未实现 GUI 或市场草稿描述为已经发布/收录。

- `feat/readme-market-ready` 优化 README 并新增 bundle patch 自动注册;用户已授权推送、保留历史合并、发布 0.2.1 与社区收录 PR。版本文件已提升至 0.2.1,正在发布验证;未成功 publish / 目录合并前不宣称已发布/收录。不能重发 0.2.0。
- README 与 bundle 自动注册已进入 main,用户已授权全部上线步骤;npm latest=next=0.2.1,GitHub Release 已公开,双渠道验证通过。市场 PR #6296 尚待审查/合并,不宣称已收录;不能重发 0.2.0 / 0.2.1。
- 市场图片声明在根 screenshots.json,指向原创能力横幅;实际界面尚未实现时不得将示意图当作功能截图。该声明由目录读取 GitHub,无需进入 npm files。
- 市场来源是 `awesome-dsh-plugin/awesome-dsh-plugin`;条目、验证和旧 profile 迁移见 `docs/marketplace-submission.md`。老 insert 与新 bundle 同时启用会出现两个插件行,必须迁移为按 id 覆盖;DSH 0.2.0-rc.2 对旧依赖升级不自动补 bundle 层。

Expand Down
11 changes: 6 additions & 5 deletions docs/marketplace-submission.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@
- 实际公开目录:<https://awesome-dsh-plugin.com/plugins.json>;本轮查询 updated=2026-09-30,未发现 URL 精确匹配本仓库的条目。不要将相似的 `dsh-git-plugins` 当成本插件。
- 已具备:公开仓库、MIT 许可证、实际实现、GitHub `dsh-plugin` topic、npm 对应关键词、0.2.0 双渠道发布与安装证据。
- 发布的 `0.2.0` 不含 `dsh.bundle`,需要手动启用;目录的收录 CI 明确要求 bundle。
- 本分支补齐 `dsh.bundle.patch`、根 `cordis.patch.yml`、patch 导出、打包内容与市场展示图片声明,供下一版本使用;**尚未发布新 npm 版本,尚未提交社区收录 PR,尚未宣称已上架**。
- 0.2.1 的 bundle、patch、导出、打包内容和图片声明已进入公开 main;npm 0.2.1 已发布并通过双渠道实装,latest=next=0.2.1。GitHub tag v0.2.1 已推送,Release 已公开;npm gitHead 与 tag 均指向 084a767aa3055d5cb0e06ddf4fb42dda4156458c。
- [收录 PR #6296](https://github.com/awesome-dsh-plugin/awesome-dsh-plugin/pull/6296) 已提交;PR check 与 Submission gate 均通过,已转为可审查状态,仍待上游合并与目录同步,尚未上架。完整线上证据见 [0.2.1 发布记录](release-report-0.2.1.md)。

## 收录条目

Expand Down Expand Up @@ -67,7 +68,7 @@ bundle patch 只插入本插件自己的行:

不改日常 profile,不通过重复 insert 掩盖迁移问题。

## 本轮验证结果
## 开发阶段验证记录(发布前)

使用桌面版提供的 DSH CLI `0.2.0-rc.2`,在临时独立 `DSH_HOME` 中以 headless 模板验证;未运行模型会话,未修改日常 profile。

Expand All @@ -85,16 +86,16 @@ bundle patch 只插入本插件自己的行:
| 迁移为 id 覆盖 | dump-config 只剩一行,timeoutMs=120000 保留,schema 可解析 |
| 横幅与文档 | SVG 实际渲染检查、XML / YAML 解析、相对链接与标题锚点核对通过;screenshots.json 指向现有 SVG |

临时 tarball 沿用工作树中的 0.2.0 版本号,只用于本地验证;与注册表已发布的 0.2.0 内容不同,不能拿它重发同一版本。真正发布时提升版本并同步 lock 与 CHANGELOG。收录必需的 bundle 声明仍需进入公开默认分支。npm 发布不是上游收录硬条件;本插件已有 npm 0.2.0,市场优先使用经过仓库关联核验的 npm 包时,应先发布带 bundle 的新版本,避免用户得到仍需手动启用的旧包。当前尚未执行市场 UI 搜索与一键安装。
临时 tarball 沿用工作树中的 0.2.0 版本号,只用于本地验证;与注册表已发布的 0.2.0 内容不同,不能拿它重发同一版本。真正发布时提升版本并同步 lock 与 CHANGELOG。收录必需的 bundle 声明现已进入公开默认分支。npm 发布不是上游收录硬条件;本插件已发布带 bundle 的 npm 0.2.1,且 latest=next=0.2.1,市场优先使用的 npm 版本已具备自动注册配置。当前尚未执行市场 UI 搜索与一键安装。

## 执行安排

| 工作 | 负责人 | 验收 |
|---|---|---|
| README、bundle、展示图片与发布包准备 | 本仓库维护者 / coding agent | 独立 profile 自动注册、配置覆盖、卸载清理、打包文件完整 |
| 进入本仓库默认分支 | 本仓库维护者 | PR 审查与当前 SHA CI 通过;原 v0.2.0 tag 不移动 |
| 下个 npm 版本(保证现有 npm 优先渠道自动启用) | 本仓库维护者 | 提升补丁版本,版本/lock/CHANGELOG 一致,发布后实装验证;不是目录收录硬条件 |
| npm 0.2.1(已发布并推广 latest,现有 npm 优先渠道自动启用) | 本仓库维护者 | 提升补丁版本,版本/lock/CHANGELOG 一致,发布后实装验证;不是目录收录硬条件 |
| 社区目录 PR | 本仓库维护者发起,上游维护者审查 | 仅新增本插件的 YAML;默认分支 bundle 已可读取 |
| 市场可发现性验收 | 本仓库维护者 | plugins.json 出现本仓库,市场搜索能找到,确认实际 install spec |

新版本发布与向社区提交 PR 使用各自明确授权。本轮的本地开发与收录材料不能替代“已经在市场可搜到”的证据。GitHub README 可随源码 PR 更新,npm 已发布版本里的 README 不会因此被覆盖。
用户已明确授权新版本发布与社区 PR;现已实际发布/提交。本地与 PR 验证不能替代“已经在市场可搜到”的证据,仍须等待目录维护者审查与合并。GitHub README 可随源码 PR 更新,npm 已发布版本里的 README 不会因此被覆盖。
55 changes: 40 additions & 15 deletions docs/release-report-0.2.1.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,51 @@
# 0.2.1 发布记录

日期:2026-10-01(Asia/Shanghai)。本报告仅记录实际完成的操作;待执行事项分别标注。
日期:2026-10-01(Asia/Shanghai)。报告区分实际发布、标签推广、GitHub Release 与目录审查,不互相替代。

## 范围与当前状态
## 当前状态

- README 精简为产品首页,原创横幅、徽章与快速上手;工程说明迁移至 CONTRIBUTING.md,代理约束保留 AGENTS.md。
- 新增 bundle manifest、根 cordis.patch.yml 及导出,随包分发;新安装可自动注册。旧 profile 需迁移,不能同时保留旧 insert 与新 bundle。
- 市场收录 YAML 与 screenshots.json 已准备,图片是能力示意图。尚未提交目录 PR,尚未收录。
- 本次未修改 src/index.ts / lib 运行逻辑、依赖版本或兼容范围;实测宿主仍仅 DSH 0.2.0-rc.2。
- 用户已明确授权上线:推送、PR 保留历史合并、0.2.1 双渠道发布、市场收录申请;本地 commit 持续授权。
- 候选、当前 SHA CI、最终发布点、npm 与 tag/Release 一致性、双渠道实装:待本次执行后记录。
- [PR #4](https://github.com/MashedPotato817/dsh-git-plugin/pull/4) 已以 merge commit 合并,保留历史。
- 最终版本提交:aea3815e32cf9036df05a2c6c0c270960d716048;CHANGELOG 日期在 publish 前定稿。
- 统一发布点:084a767aa3055d5cb0e06ddf4fb42dda4156458c;parents 为 eaadaf755a7513f2e56b129c3c45223734a609d6 与上述最终提交,两者发布树完全一致。
- npm 0.2.1 已成功发布到 next,注册表 gitHead 对应发布点;只成功 publish 一次。首次无交互请求需要 EOTP,一次浏览器会话返回 404 未创建版本,后续官方挑战通过并成功发布。
- latest 已通过官方浏览器认证推广,注册表 latest=next=0.2.1;没有再次 publish。
- annotated tag v0.2.1 已推送且指向发布点;[GitHub Release](https://github.com/MashedPotato817/dsh-git-plugin/releases/tag/v0.2.1) 已公开(非预发布),publishedAt=2026-10-01T07:32:31Z。
- GitHub 默认分支的 README、SVG、screenshots.json、manifest 和 patch 与本地发布点逐字节一致;搜索 topics 为 deepseek/deepseek-harness/dsh/dsh-plugin/git/git-plugin,简介与 npm 入口已核对。
- [市场 PR #6296](https://github.com/awesome-dsh-plugin/awesome-dsh-plugin/pull/6296) 已转为可审查状态,仅新增 data/plugins/MashedPotato817__dsh-git-plugin.yml;上游 [PR check](https://github.com/awesome-dsh-plugin/awesome-dsh-plugin/actions/runs/36828910934) 与 Submission gate 均已通过,尚未合并或收录。公开目录 updated=2026-09-30,共 4,400 条;本轮精确 URL 查询匹配 0 条。

## 验证
latest 推广期间的 404 已定位到本机 npm 12.0.2 的认证轮询:dist-tag 写请求的 PUT 选项被传入官方认证 done 端点。使用临时 preload 仅将该端点的轮询改为 GET,保留标签写请求的 PUT;官方浏览器认证随后成功。未修改全局 npm、插件运行时代码或账号设置,临时 helper 随验证目录清理。

候选工作树(Windows Node 24.19.0):npm ci/build/check、node --check、26 项回归全部通过(0 failed / cancelled);实物 npm pack 含 7 文件,bundle patch 与横幅在包内,版本/lock 三处均为 0.2.1。src/lib 与 0.2.0 发布后基线无差异。
## 已执行的验证

桌面 DSH CLI 0.2.0-rc.2、独立 DSH_HOME/headless profile:本地候选 tarball 新装自动加入 bundle 一次,配置恰有一个启用行;schema 无 diagnostics,五字段默认值匹配。覆盖 timeoutMs=90000 后重复安装仍仅一行且配置保留。卸载移除依赖、bundle 和插件行;用户自定义 id 覆盖会保留并提示找不到条目,清理测试覆盖行后可恢复空 patch,不能误称宿主会删除用户配置。
| 检查 | 结果 |
|---|---|
| Windows Node 24.19.0 候选 | npm ci/build/check、语法、26 项测试通过,0 failed / cancelled |
| 候选 dd06ec0 的独立干净克隆 | ci/build 后 git diff --exit-code lib、类型、语法、26 项测试全部 exit 0 |
| [PR SHA CI](https://github.com/MashedPotato817/dsh-git-plugin/actions/runs/36828223058) | Ubuntu Node 20/22 均通过,head aea3815 |
| [main 发布点 CI](https://github.com/MashedPotato817/dsh-git-plugin/actions/runs/36828379872) | Ubuntu Node 20/22 均通过,head 084a767 |
| 官方 DSH 0.2.0-rc.2 服务栈 | 候选 28 项 PASS,覆盖命令、工具、提示词、启停清理与真实 preCommit 超时 |
| 候选 bundle 生命周期 | 独立 profile 新装自动注册一次;schema 五字段默认值匹配;timeoutMs=90000 重装保留;卸载移除依赖/bundle/插件行 |
| npm dsh-git-plugin@0.2.1 实装 | 独立 profile 自动注册一次,启用行唯一,schema 无诊断;实际安装入口在官方 peer 下 28 项 PASS |
| github:MashedPotato817/dsh-git-plugin#v0.2.1 实装 | 同上,实际安装入口在官方 peer 下 28 项 PASS |
| 注册表 tarball | 7 文件,所有文件逐字节与发布点一致;npm/GitHub 实装 lib、patch、hero 哈希一致 |

独立安装官方 DSH 0.2.0-rc.2:scripts/verify-real-dsh.mjs 实际 28 项 PASS、ALL CHECKS PASSED(exit 0),覆盖命令、工具、提示词、参数边界、启停清理与真实钩子超时。
服务栈验证的临时副本只改变被测入口路径,指向实际安装的 lib/index.js;临时 Node resolve hook 将 SDK peer dsh-tools 绑定至独立官方宿主入口,没有修改实际安装包。此结果不能作为无宿主独立 Node 支持或真实模型会话证据。

候选 dd06ec0ad670025e8c687c649627225f62e98c1f 的独立干净克隆:npm ci/build、重建后 git diff --exit-code lib、严格类型、语法及 26 项测试全部 exit 0(0 failed / cancelled)。当前 SHA 的 GitHub Actions 与双渠道发布实装尚待执行。
卸载后 DSH 保留用户的 id/config 覆盖,并可能提示目标条目不存在;清理该自定义覆盖行后恢复空 patch。不能宣称宿主自动删除用户配置。

## 未验证边界
## 产物一致性

真实模型会话、Linux 完整 DSH 宿主及其他 DSH 版本未验证;Web Git 面板尚未实现。市场 PR 的提交/CI/合并/目录同步是不同状态,不互相替代。
注册表 tarball:f5a55b4bc806c411049fbf7fb743d4cde48df69a(SHA-1),38,665 bytes unpacked、7 文件:LICENSE、README.md、assets/readme/hero.svg、cordis.patch.yml、lib/index.js、lib/index.d.ts、package.json。

| 文件 | SHA-256(发布点 / 注册表 / npm 与 GitHub 实装一致) |
|---|---|
| lib/index.js | `5a914e5e23f570881e647658da3dcc54005d5c828e72edf006153a164edf48ce` |
| lib/index.d.ts | `9989f1e02fdce6274a0a0994094b2e7a56d8aa86636ac82a3b01833163445a86` |
| cordis.patch.yml | `5e87b7a971fb0c5b5944dff6f1f96eb27340aeb61d0743a821707c70d5e9fc2c` |
| assets/readme/hero.svg | `562b4ea41fbfc24192e4171d51e9de41c7c485283a4bfacfd7c6d013e20caeff` |

## 边界与收尾

真实模型会话、Linux 完整 DSH 宿主及其他 DSH 版本未验证;Web Git 面板尚未实现。目录 PR 提交、CI、审查合并与市场目录同步是不同状态,不把申请写成已上架。没有收集密码、OTP 或恢复码;没有修改日常 DSH profile。

独立官方宿主、候选/渠道 profile、tarball、临时验证器、认证 helper 与目录 fork 克隆已全部清理:本轮拥有的临时目录 dsh-release-021-g3i0qe2o 已删除。原仓库、远端 fork 与日常 DSH profile 保留。最终 evidence 单独通过文档 PR 提交,不移动 v0.2.1 或覆盖 npm 包。
Loading