bestony-pi-preset
Bestony's personal Pi coding agent preset — skills, extensions, prompts, and themes.
Package details
Install bestony-pi-preset from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:bestony-pi-preset- Package
bestony-pi-preset- Version
0.0.63- Published
- Sep 22, 2026
- Downloads
- 5,606/mo · 2,184/wk
- Author
- bestony
- License
- MIT
- Types
- extension, skill, theme, prompt
- Size
- 138.1 MB
- Dependencies
- 23 dependencies · 0 peers
Pi manifest JSON
{
"skills": [
"./skills",
"node_modules/@dietrichgebert/ponytail/skills",
"node_modules/pi-web-access/skills",
"node_modules/pi-init/skills/init/SKILL.md",
"node_modules/@quintinshaw/pi-dynamic-workflows/skills/workflow-authoring",
"node_modules/@quintinshaw/pi-dynamic-workflows/skills/workflow-patterns"
],
"themes": [
"./themes"
],
"prompts": [
"./prompts"
],
"extensions": [
"./extensions",
"node_modules/@dietrichgebert/ponytail/pi-extension/index.js",
"node_modules/@lanlance/pi-recap/extensions/recap.ts",
"node_modules/@narumitw/pi-goal/src/index.ts",
"node_modules/@narumitw/pi-plan-mode/dist/index.ts",
"node_modules/pi-web-access/index.ts",
"node_modules/pi-xai-oauth/extensions",
"node_modules/pi-mcp-adapter/index.ts",
"node_modules/pi-cache-optimizer/index.ts",
"node_modules/pi-session-name/src/index.ts",
"node_modules/@tintinweb/pi-tasks/src/index.ts",
"node_modules/@tintinweb/pi-subagents/src/index.ts",
"node_modules/@quintinshaw/pi-dynamic-workflows/extensions/workflow.ts",
"node_modules/commandcode-go-for-pi/index.ts",
"node_modules/@mohndoe/pi-atlas/src/index.ts",
"node_modules/pi-dsml/extensions/index.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
bestony-pi-preset
Bestony 的 Pi coding agent preset。
通过 Pi Package 打包并分发个人常用的 extensions / skills / prompts / themes,安装后即可在 Pi 中自动加载。
Security: Pi packages 拥有完整系统权限。Extensions 可执行任意代码,skills 可指示模型执行任意操作。安装第三方包前请先审阅源码。
安装
# 从 git 安装
pi install git:github.com/bestony/bestony-pi
pi install https://github.com/bestony/bestony-pi
# 从 npm 安装
pi install npm:bestony-pi-preset
仅当前会话试用(不写入 settings):
pi -e /path/to/bestony-pi
pi -e git:github.com/bestony/bestony-pi
安装到项目级(写入 .pi/settings.json,可团队共享):
pi install -l npm:bestony-pi-preset
卸载 / 管理
pi remove npm:bestony-pi-preset # 或对应 source
pi list
pi update --extensions
pi config # 启用/禁用具体资源
内置依赖(bundled pi packages)
安装本 preset 时会一并带上下列 Pi 包,并自动加载其 extensions / skills:
| 包 | 提供 |
|---|---|
| pi-web-access | Web 搜索 / URL 抓取 / GitHub / YouTube 等扩展 + librarian skill |
| pi-init | init skill(生成/更新 AGENTS.md) |
| pi-mcp-adapter | MCP 协议适配扩展 |
| pi-cache-optimizer | Prompt/KV cache 命中优化 |
| pi-session-name | 自动生成会话标题并同步终端标题状态 |
| @lanlance/pi-recap | Claude Code-style session recap / status line above the Pi status bar |
| @mohndoe/pi-atlas | 在 Pi 内查看 agent 用量与花费(cost / 语言 / 模型 / 项目 / 工具,数据来自 session 日志) |
| @dietrichgebert/ponytail | pi-extension + skills for status line and agent-mode tooling |
| @narumitw/pi-goal | Autonomous single-objective /goal completion extension |
| @narumitw/pi-plan-mode | Codex 风格的只读 /plan 协作模式 |
| pi-xai-oauth | xAI OAuth provider / authenticated Grok model catalog |
| @tintinweb/pi-subagents | Claude Code 风格的自主 sub-agents |
| @tintinweb/pi-tasks | Claude Code-style task tracking and coordination |
| @quintinshaw/pi-dynamic-workflows | 动态 workflow(workflow 工具、/workflows 等) |
| commandcode-go-for-pi | Command Code Go/GOAT provider(commandcode 模型目录、reasoning 控制、/cc-usage 用量查询) |
| pi-dsml | 把 DeepSeek 以纯文本返回的 DSML tool call 还原为真实 tool call 并执行 |
它们声明在 dependencies + bundledDependencies 中,资源通过 pi.extensions / pi.skills 的 node_modules/... 路径引用。
包结构
bestony-pi/
├── package.json # pi manifest + pi-package keyword
├── README.md
├── extensions/ # .ts / .js 扩展
├── skills/ # SKILL.md 技能目录
├── prompts/ # .md 提示词模板
└── themes/ # .json 主题
package.json 中的 pi 字段声明资源路径:
{
"name": "bestony-pi-preset",
"keywords": ["pi-package"],
"pi": {
"extensions": ["./extensions"],
"skills": ["./skills"],
"prompts": ["./prompts"],
"themes": ["./themes"]
}
}
路径相对于包根目录;数组支持 glob 与 !exclusions。
若省略 pi manifest,Pi 会从同名约定目录自动发现资源。
开发
- 在对应目录添加资源:
extensions/*.ts— 扩展skills/<name>/SKILL.md— 技能prompts/*.md— 提示词themes/*.json— 主题
- 本地加载验证:
pi -e .
# 或
pi install .
- 用
pi config检查资源是否被加载。
依赖约定
- 运行时第三方依赖放在
dependencies(pi install会执行npm install) - 若 import Pi 核心包,放入
peerDependencies且版本为"*",不要打包:@earendil-works/pi-ai@earendil-works/pi-agent-core@earendil-works/pi-coding-agent@earendil-works/pi-tuitypebox
- 部分第三方包对 Pi 核心包的 peer range 已过期(如
@mohndoe/pi-atlas要求@earendil-works/pi-tui >=0.74.0 <0.77.0,而本 preset 跟随 Pi 运行时 0.84.x)。 仓库根目录.npmrc因此设置force=true,让npm ci容忍这类冲突但不丢弃 peer 树。 不要改用legacy-peer-deps(会从 lock 中移除整个@earendil-works/*peer 子树)。
自动发布
发布使用 npm Trusted Publisher(OIDC),无需在仓库中配置 NPM_TOKEN。Workflow 文件:.github/workflows/daily-release.yml。
触发方式
| 触发 | 行为 |
|---|---|
push 到 main |
自动发布。若当前 package.json 版本已在 npm 上存在,则自动 patch 升版、创建 chore(release): x.y.z commit、annotated vX.Y.Z tag 和 GitHub Release 并推回远端 |
每日北京时间 0:00(cron: 0 16 * * * UTC) |
用 npm-check-updates 更新依赖;有变更才升版发布;无变更则跳过 |
| 手动 Run workflow | 同日更逻辑;可勾选 force_publish 强制发一版 |
Bot 自己的 chore(release): 提交不会再次触发发布,避免循环。
版本规则
- 你已手动升版且该版本尚未发布 → 直接按该版本发布
- 你未升版(版本已在 npm 上)→ CI 自动 patch 并帮你推送 release commit
手动触发
- GitHub → Actions → Release → Run workflow
- 可选勾选
force_publish
首次启用前请确认:
- npm 包 Settings → Trusted Publisher 指向
bestony/bestony-pi/daily-release.yml - 仓库 Settings → Actions → Workflow permissions 为 Read and write
License
MIT