Agent skill
pi-gateway-plugin-dev
为 pi-gateway 开发 Gateway 插件的实战技能。当需求涉及通过 pi SDK/RPC 扩展网关能力(如模型列表、模型切换、WS 方法、命令、Hook、后台服务)且要求“每个插件独立目录 + plugin.json + src 多文件结构”时使用。
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/pi-gateway-plugin-dev
SKILL.md
Pi Gateway Plugin Dev 技能
用于在 gateway 模式 开发插件,不是 pi extension。
适用边界
- 目标是扩展
pi-gateway的连接层能力(消息通道、HTTP/WS、命令、服务) - 插件加载位置是
~/.pi/gateway/plugins/或plugins.dirs[]指定目录 - 插件必须有
plugin.json,并通过main指向入口文件
以下场景不要用本技能:
- 修改 Agent 思维、提示词、工具执行行为(那是
~/.pi/agent/extensions的职责) - 仅在 CLI/TUI 中运行、不经过 gateway 的功能
强制规范
- 每个插件一个独立目录(
<plugins-root>/<plugin-id>/)。 - 禁止单文件模式:不能只放一个
index.ts就结束。 - 入口文件只做组装,不写核心业务逻辑。
- 业务按职责拆分到
src/commands.ts、src/rpc-methods.ts、src/hooks.ts、src/services.ts、src/types.ts。 - 插件只在 gateway 插件机制里加载,不放到
~/.pi/agent/extensions/。
标准目录
<plugins-root>/<plugin-id>/
plugin.json
src/
index.ts
types.ts
commands.ts
rpc-methods.ts
hooks.ts
services.ts
工作流
- 先判定是 Gateway 插件需求(不是 pi extension)。
- 阅读目录规范:
references/plugin-directory-architecture.md - 阅读 SDK 接口:
references/sdk-capabilities.md - 阅读 RPC 能力映射:
references/rpc-capabilities.md - 如涉及模型能力,读取:
references/model-control-pattern.md - 用脚手架生成插件目录,再填业务逻辑。
- 在
pi-gateway.json里配置plugins.dirs[]并启动验证。
脚手架命令
bash skills/pi-gateway-plugin-dev/scripts/new-plugin.sh ~/.pi/gateway/plugins model-control "Model Control"
生成后会得到完整多文件插件目录,不会退化为单 index.ts。
模型能力实现策略
- 切模型:用
GatewayPluginApi.setModel(sessionKey, provider, modelId)。 - 调思考强度:用
GatewayPluginApi.setThinkingLevel(sessionKey, level)。 - 列模型:当前
GatewayPluginApi不直接暴露getAvailableModels,推荐复用网关内置models.list//api/models。 - 若必须插件内部直连 RPC:先扩展
GatewayPluginApi+createPluginApi+RpcClient映射,见references/rpc-capabilities.md的“扩展路径”。
交付要求
- 输出插件目录树
- 输出
plugin.json和关键源文件 - 说明如何在 gateway 模式加载(
plugins.dirs[]) - 给出最小验证命令(至少覆盖“列模型/切模型”或对应能力)
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?