dsh-loopx-plugin
loopx-project/loopxLoopX——面向长周期 Agent 的提供商中立、本地优先状态内核与控制平面:在 DeepSeek Harness 执行层之上持久化 Goal、Todo、门禁、证据、配额、恢复与交接状态;插件负责引导安装 CLI 与技能、准入有界的同会话续跑,并为精确绑定的工作循环提供本地 GoalBar。
提供 Claude Code 风格的 /init 命令与工具,生成极简 CLAUDE.md,并将 AGENTS.md 以相对软链指向它。
给 DeepSeek Harness(DSH) 加上 Claude Code 风格的 /init 命令的官方机制插件(profile bundle)。
安装后,对 agent 说 /init 即可通过「访谈 → 侦查代码库 → 补缺口 → 写文件」的工作流生成:
CLAUDE.md — 极简的项目级 agent 指引(含 Claude Code 标准文件头);AGENTS.md — 不生成第二份内容,而是创建一条指向 CLAUDE.md 的相对软链接,让读 AGENTS.md 的工具(含 DSH 自身、Cursor、Codex 等)和读 CLAUDE.md 的工具共享同一份事实来源。Claude Code 的 /init 没有一行"生成逻辑"——它是 type: 'prompt' 的内置命令,getPromptForCommand() 只返回一段静态工作流提示词,其余全部由模型用普通工具(读写文件、提问、子代理)完成。本插件沿用完全相同的架构:
init 的模型 Tool(经 ctx.tools.register 挂入工具注册表);execute() 零参数、零业务逻辑,返回工作流提示词;NEW_INIT 八阶段流程(逆向自 claude-code-map 的 src/commands/init.ts),按 DSH 能力裁剪为七阶段,并新增 Phase 5: AGENTS.md 软链。| 阶段 | 内容 |
|---|---|
| 1 访谈 | 问范围:项目 CLAUDE.md / 个人 CLAUDE.local.md / 两者 |
| 2 侦查 | 读 manifest、README、CI、已有的 CLAUDE.md / AGENTS.md / .cursor rules 等 |
| 3 补缺口 | 只问代码答不了的问题,不标"推荐" |
| 4 写 CLAUDE.md | 每行过"删掉会导致 agent 犯错吗"测试;已有文件走 diff 不覆盖 |
| 5 软链 AGENTS.md | ln -s CLAUDE.md AGENTS.md;已存在常规文件时先 diff、经确认再替换,绝不静默删内容 |
| 6 CLAUDE.local.md | 可选个人偏好文件 + 自动加 .gitignore |
| 7 总结 | 回顾产物,提醒可随时重跑 |
本包是一个标准的 DSH profile bundle(package.json 声明 dsh.bundle.patch,与官方 @deepseek-ai/dsh-base、社区 dsh-context 等插件同一机制)。用 DSH 自带的 dsh plugin 命令安装(内部转发 pnpm,并把本包加入 profile 的 bundle 层):
# 方式一:从 npm 安装(推荐)
dsh plugin --profile web add dsh-init
# 方式二:从 GitHub 安装
dsh plugin --profile web add github:evanfang0054/dsh-init
# 方式三:从本地仓库安装(web profile;GUI 部署的默认 profile)
dsh plugin --profile web add /path/to/dsh-init
然后重启 DSH(bundle 层在进程启动时加载)。
验证安装成功:
cat ~/.dsh/profiles/web/package.json | grep dsh-init
# "dsh.profile.bundles" 数组里出现 "dsh-init" 即已挂载
卸载:
dsh plugin --profile web remove dsh-init
从本地路径安装时,pnpm 会自动以 link(软链) 方式挂入——仓库里改完代码,重启 DSH 即生效,无需重新 add。
dsh plugin add = 在 ~/.dsh/profiles/<profile>/ 里跑 pnpm add <spec>,然后根据安装结果把声明了 dsh.bundle 的包写进该 profile 清单的 dsh.profile.bundles 层栈;cordis.patch.yml 按层栈顺序应用(本包只插入一行 - id: dsh-init / name: dsh-init),后写的层覆盖同 id 行;@deepseek-ai/dsh-tools。安装并重启后,插件向会话注册两个面(同一套工作流):
/init:输入 / 即可在补全列表看到 init(Claude Code 同款体验)。选中回车后,工作流提示词作为你的下一个用户回合注入,agent 立即开始访谈与生成。/init <附加要求> 可附带补充说明。init:直接用自然语言说"初始化这个项目",agent 调用工具拿到工作流提示词开始执行。git config core.symlinks true。AGENTS.md.bak。dsh plugin add <spec> 更新到新版本。发布由 GitHub Actions 全自动完成(与 dsh-mermaid-zoom 同一套模式):推送 v* tag 触发流水线——语法检查 → 插件加载冒烟测试 → npm publish(token 取自仓库 secret NPM_TOKEN)。也支持在 Actions 页面手动触发(workflow_dispatch)。
npm run release # = npm version patch(bump + commit + tag)+ git push --follow-tags
推完 tag 后 CI 自动发布到 npm,进度见仓库 Actions 页。
前置配置(仓库维护者):
gh secret set NPM_TOKEN --body <npm token>,token 与~/.npmrc无关,仅存于 GitHub 仓库 secret。
MIT