@vicfei/dsh-super-agent 0.6.0 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -1
- package/README.zh-CN.md +7 -1
- package/dist/executor.js +15 -8
- package/dist/executor.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -125,7 +125,9 @@ Auto-merge (default **off**) closes the loop with structural brakes — every co
|
|
|
125
125
|
- no allowed-list reviewer's latest stance is CHANGES_REQUESTED (a one-person veto until re-reviewed)
|
|
126
126
|
- the merge PUT is pinned to the approved SHA — if the head moved, it re-evaluates next cycle
|
|
127
127
|
|
|
128
|
-
**
|
|
128
|
+
> **Sole operators, note:** the approval bullet is why delivery should run under GitHub App auth (next section). With a personal token the agent's PRs are authored by *you* — and GitHub never lets you approve your own PR, so the merge gate can never be satisfied. Team setups can approve each other; a single operator needs the bot identity.
|
|
129
|
+
|
|
130
|
+
**GitHub App auth (required for auto-merge when you operate alone).** By default everything rides a personal token (`GITHUB_TOKEN`): replies post as *you*, and rate limits are per-user. Configure a GitHub App instead and the agent acts as its own principal: PRs and replies carry the App's bot identity (the gate already caps bots at inferred — they can never issue explicit requests), so you become the legitimate approver; limits are per-installation, and installation tokens rotate hourly — no long-lived secret in the environment:
|
|
129
131
|
|
|
130
132
|
1. Create a user-owned App at [github.com/settings/apps/new](https://github.com/settings/apps/new) — permissions: **Issues: read & write, Pull requests: read & write, Contents: read & write, Metadata: read**; no webhook/subscription needed (everything is polled)
|
|
131
133
|
2. Install it on your repo, then set the environment: `GITHUB_APP_ID`, `GITHUB_APP_PRIVATE_KEY` (the PEM, `\n`-escaped — or `GITHUB_APP_PRIVATE_KEY_PATH`), optionally `GITHUB_APP_INSTALLATION_ID` (auto-discovered from `--repo` when omitted)
|
|
@@ -156,6 +158,10 @@ The distinction is levels: inside the DSH plugin ecosystem, 25+ plugins guard in
|
|
|
156
158
|
- [dsh-superagent-prototype](https://github.com/deepseek-ai/dsh-superagent-prototype) (MIT) — docs 000–008 are the specification this project follows; the admission-table semantics, observe mode and ticket stages are adapted from docs 002 and 003 with gratitude.
|
|
157
159
|
- [deepseek-harness](https://github.com/deepseek-ai/deepseek-harness) (MIT) — the runtime the official prototype runs on; this project deliberately does not require it.
|
|
158
160
|
|
|
161
|
+
## FAQ
|
|
162
|
+
|
|
163
|
+
**How does "any CLI executor" compare to the official DSH-only prototype?** This repo is broader on that axis — the executor is a subprocess boundary (prompt file + env + exit code), so `claude`, `codex`, `aider`, `opencode`, a DSH profile, or any shell command works as the worker. The official prototype trades that breadth for deeper DSH-session integration (session lifecycle, interaction within a session). Here, human interjection happens at the ticket level (needs-person, stop) — never inside the worker's session.
|
|
164
|
+
|
|
159
165
|
## Contributing
|
|
160
166
|
|
|
161
167
|
Issue-first, English, tests green — the full walkthrough is in [CONTRIBUTING.md](CONTRIBUTING.md).
|
package/README.zh-CN.md
CHANGED
|
@@ -125,7 +125,9 @@ Auto-merge(默认**关闭**)用结构性刹车把闭环走完——每个条件
|
|
|
125
125
|
- 没有任何 allowedList 评审的最新立场是 CHANGES_REQUESTED(一人否决,直到重审)
|
|
126
126
|
- 合并请求锁定被审批的那个 SHA——头提交变了就下周期重评
|
|
127
127
|
|
|
128
|
-
|
|
128
|
+
> **单人运营者注意:**"审批"那一条正是交付要走 GitHub App 认证(下一节)的原因。用个人令牌时,agent 的 PR 作者*是你本人*——而 GitHub 永远不允许你批准自己的 PR,合并门槛就永远凑不齐。团队可以互批;单人必须靠 bot 身份。
|
|
129
|
+
|
|
130
|
+
**GitHub App 认证(单人使用 auto-merge 时为必需)。** 默认一切走个人令牌(`GITHUB_TOKEN`):回复以*你本人*身份发出,限额按用户算。改配 GitHub App 后,agent 以自己的主体身份行动:PR 和回复都带 App 的 bot 身份(门禁本就把 bot 封顶在 inferred——bot 永远发不出 explicit 请求),你由此成为合法审批人;限额按安装计,installation token 每小时轮换——环境里不再有长效密钥:
|
|
129
131
|
|
|
130
132
|
1. 在 [github.com/settings/apps/new](https://github.com/settings/apps/new) 创建用户级 App——权限只需 **Issues: read & write、Pull requests: read & write、Contents: read & write、Metadata: read**;不需要 webhook/订阅(全部轮询)
|
|
131
133
|
2. 安装到你的仓库,然后设环境变量:`GITHUB_APP_ID`、`GITHUB_APP_PRIVATE_KEY`(PEM 内容,`\n` 转义——或 `GITHUB_APP_PRIVATE_KEY_PATH` 指文件)、可选 `GITHUB_APP_INSTALLATION_ID`(省略时从 `--repo` 自动发现)
|
|
@@ -149,6 +151,10 @@ Auto-merge(默认**关闭**)用结构性刹车把闭环走完——每个条件
|
|
|
149
151
|
- [dsh-superagent-prototype](https://github.com/deepseek-ai/dsh-superagent-prototype)(MIT)——其 000–008 文档即本项目遵循的规格;准许表语义、观察模式与工单阶段改编自其 docs 002 与 003,致谢。
|
|
150
152
|
- [deepseek-harness](https://github.com/deepseek-ai/deepseek-harness)(MIT)——官方原型的运行底座;本项目刻意不依赖它。
|
|
151
153
|
|
|
154
|
+
## 常见问题
|
|
155
|
+
|
|
156
|
+
**“任意 CLI 执行器”相比官方 DSH-only 原型如何权衡?** 本仓库在这一维度上更宽——执行器只是一个子进程边界(prompt 文件 + 环境变量 + 退出码),`claude`、`codex`、`aider`、`opencode`、DSH profile 或任何 shell 命令都能当 worker。官方原型用这份宽度换取更深的 DSH session 集成(会话生命周期、会话内交互)。在本仓库,人的介入发生在工单层(needs-person、stop)——从不在 worker 会话内部。
|
|
157
|
+
|
|
152
158
|
## 参与贡献
|
|
153
159
|
|
|
154
160
|
英文 issue 优先、测试全绿——完整流程见 [CONTRIBUTING.md](CONTRIBUTING.md)。
|
package/dist/executor.js
CHANGED
|
@@ -51,14 +51,21 @@ export class Executor {
|
|
|
51
51
|
const branch = `dsh/ticket-${ticket.id}`;
|
|
52
52
|
const repoDir = resolve(this.cfg.repoDir);
|
|
53
53
|
mkdirSync(dir, { recursive: true });
|
|
54
|
-
//
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
54
|
+
// docs/003: prepare once — a resumed ticket reuses its existing worktree. `worktree add`
|
|
55
|
+
// refuses when the branch is already checked out at this path, which is the resume case,
|
|
56
|
+
// not an error (found live in the v0.6 dogfood, issue #36). baseSha then means "diff base
|
|
57
|
+
// for THIS run": only new commits count as deliverable.
|
|
58
|
+
const headBranch = (await sh(`git -C ${JSON.stringify(dir)} symbolic-ref -q --short HEAD`, { timeoutMs: 10_000 })).output.trim();
|
|
59
|
+
if (headBranch !== branch) {
|
|
60
|
+
// -B makes re-adding after a manual branch reset idempotent (branch reset instead of "already exists").
|
|
61
|
+
const prepare = this.cfg.prepare ?? `git worktree add -B {branch} {dir}`;
|
|
62
|
+
const prep = await sh(prepare.replaceAll("{dir}", JSON.stringify(dir)).replaceAll("{branch}", branch), {
|
|
63
|
+
cwd: repoDir,
|
|
64
|
+
timeoutMs: 10 * 60 * 1000, // prepare gets ten minutes (docs/003)
|
|
65
|
+
});
|
|
66
|
+
if (prep.code !== 0)
|
|
67
|
+
throw new Error(`prepare failed (exit ${prep.code}): ${prep.output.trim().slice(0, 300)}`);
|
|
68
|
+
}
|
|
62
69
|
const promptFile = join(dir, "DSH_PROMPT.md");
|
|
63
70
|
writeFileSync(promptFile, renderPrompt(ticket, trigger, repo));
|
|
64
71
|
const baseSha = (await sh(`git -C ${JSON.stringify(dir)} rev-parse HEAD`, { timeoutMs: 10_000 })).output.trim();
|
package/dist/executor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vicfei/dsh-super-agent",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.1",
|
|
4
4
|
"description": "Admission control, observe mode & tickets for any CLI coding agent \u2014 independent implementation of the DeepSeek Super-agent design",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|