DSH Plugins Marketplace

DSH Plugins

Plugins

/

agent-stash

A

agent-stash

Manifest valid

Personal Agent Skills, pi extensions, and DeepSeek Harness plugins

hasBundlePatch

agent-stash

CI Sync init prompts License Last commit pi package DSH plugin Node.js pnpm TypeScript

自用的 Agent Skills、pi 扩展与 DSH(DeepSeek Harness)插件合集。

目录

路径内容
src/pi 与 DSH 共用的实现
pi/extensions/pi 扩展,由 package.json 的 pi.extensions 声明
dsh/DSH 插件源码、cordis.patch.yml、本地化文案与图标
dist/DSH 插件的构建产物,由 pnpm build 生成,随仓库提交
vendor/init-prompts/从上游仓库同步的 /init prompt、许可证与 manifest.json,由脚本生成,不手动修改
scripts/同步脚本

安装

pi

pi install git:github.com/Alice39s/agent-stash

只在当前会话试用:

pi -e git:github.com/Alice39s/agent-stash

DSH

DeepSeek Harness 桌面版:在「插件」页点「添加插件」,填入 github:Alice39s/agent-stash 后安装。

命令行:把仓库作为 bundle 装进某个 profile,例如 Web 界面使用的 web:

dsh plugin --profile web add github:Alice39s/agent-stash

dist/ 已随仓库提交,安装时不需要构建。DSH 的斜杠命令目前只在 Web 界面与桌面版里可用。

/init

让 agent 分析当前项目并写出 AGENTS.md,prompt 取自其他 coding agent 的开源实现。pi 与 DSH 的用法相同。

/init                         使用默认预设
/init kimi-code               使用 kimi-code 预设
/init opencode 重点写测试流程    使用 opencode 预设并附加额外指令
/init 用中文写                 第一个词不是预设名时,整段文字作为默认预设的额外指令

pi:

  • 输入 /init 后,补全菜单列出每个预设及其上游来源,默认预设标出 (default)。
  • 选中预设后,菜单提示可以继续输入 [extra prompt]。

DSH:

  • 命令菜单列出全部预设,默认预设标出 (default)。
  • 输入框提示可用的预设名,例如 [codex|kimi-code|opencode] [extra prompt]。
  • 预设列表在 DSH 加载插件时生成,修改配置后要重启 DSH 才会更新。

内置预设

预设上游文件许可证
codex(默认)openai/codexcodex-rs/tui/assets/prompt_for_init_command.mdApache-2.0
kimi-codeMoonshotAI/kimi-codepackages/agent-core-v2/src/features/sessionInit/profile/init.mdMIT
opencodeanomalyco/opencodepackages/core/src/plugin/command/initialize.txtMIT

每个预设对应的上游 commit 记录在 vendor/init-prompts/manifest.json。

额外指令与占位符

模板里的占位符在发送前替换:

  • ${path}:当前项目目录。DSH 里取会话的当前工作目录。
  • $ARGUMENTS:额外指令。

模板没有 $ARGUMENTS 时,额外指令追加到 prompt 末尾的 ## Additional instructions from the user 小节。

配置

配置文件按以下顺序读取,后读的覆盖先读的。

pi:

  1. ~/.pi/agent/agent-stash/init.json(设置了 PI_CODING_AGENT_DIR 时为 $PI_CODING_AGENT_DIR/agent-stash/init.json)
  2. <项目>/.pi/agent-stash/init.json,仅在项目受信任时读取

DSH:

  1. $DSH_HOME/agent-stash/init.json(未设置 DSH_HOME 时为 ~/.dsh/agent-stash/init.json)
{
  "defaultPreset": "team",
  "presets": {
    "team": {
      "file": "./team-init.md",
      "description": "团队的 AGENTS.md 模板"
    }
  }
}
  • defaultPreset:不写预设名时使用的预设,默认为 codex。
  • presets:自定义预设。file 是相对配置文件所在目录的路径,同名预设覆盖内置预设。description 显示在补全菜单里,不写时显示文件路径。

配置格式错误或默认预设不存在时,/init 直接报错。

上游同步

.github/workflows/sync-init-prompts.yml 每天运行一次,也可以手动触发。它拉取各上游默认分支最新 commit 中的 prompt 与根目录的 LICENSE、NOTICE 文件,运行检查后向 chore/sync-init-prompts 分支开 PR。

仓库需要在 Settings → Actions → General 中开启「Allow GitHub Actions to create and approve pull requests」,workflow 才能创建 PR。

本地同步:

GITHUB_TOKEN=<token> pnpm sync:init-prompts

上游列表在 scripts/sync-init-prompts.ts 的 SOURCES 中维护。

开发

pnpm install
pnpm check    # oxfmt --check、oxlint 类型检查与 vitest
pnpm build    # 用 tsdown 生成 dist/dsh/init.js
pnpm format

改动 src/ 或 dsh/ 后要运行 pnpm build 并提交 dist/。CI 会重新构建,dist/ 与源码不一致时失败。

许可证

本仓库使用 Apache License 2.0。vendor/init-prompts/ 下的文件沿用各自上游的许可证,许可证原文与上游 prompt 放在同一目录。

Comments

Loading…