npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@meiyukichan/openpowers

v1.0.3

Published

OpenPowers CLI - plugin-based development toolkit

Readme

OpenPowers

OpenSpec + SuperPowers 演进而来,专为 Claude Code 打造,在同一个会话中自由切换不同供应商模型,并提供结构化 SDD+TDD 开发工作流的插件系统。

OpenPowers 是一个面向 Claude Code 的插件化开发工具包。它在 Claude Code 中提供一套完整的 SDD(规范驱动开发)+ TDD(测试驱动开发) 工作流,并通过内置的 Anthropic API 代理,实现在同一个会话中自由切换多个 AI 模型供应商的能力。


目录


安装与初始化

环境要求

  • Node.js >= 20
  • Claude Code(需提前安装)

安装

npm i -g @meiyukichan/openpowers

初始化

openpowers init

一行命令即可完成插件安装。初始化完成后,打开 Claude Code,输入 /openpowers:workflow 即可开始使用。


快速开始

第 1 步:打开 Web UI 管理面板

openpowers ui

浏览器将自动打开 http://localhost:3939

第 2 步:添加你的模型供应商

在 Web UI 中点击 添加供应商,填写:

  • 供应商名称(如 DeepSeek、Kimi)
  • API Key
  • Base URL
  • 模型映射(Sonnet 模型名、Opus 模型名、Haiku 模型名)

也可以从预置模板中一键导入。

第 3 步:启用供应商

在供应商卡片上点击 启用,该供应商将作为默认调用目标。

第 4 步:启用代理

在 Web UI 中点击 开启代理,或者使用下面的CLI命令:

openpowers enable

启用后,Claude Code 的所有 API 请求将通过 OpenPowers 代理自动转发到你选择的活跃供应商。

注意!OpenPowers 不同阶段自动切换模型功能,必须先开启代理。

第 5 步:启动工作流

在 Claude Code 中输入:

/openpowers:workflow {你的需求}

然后工作流将引导你完成从探索到归档的完整开发流程。


四大核心模块

1. Marketplace — Claude Code 插件

OpenPowers 作为一个 Claude Code 插件安装后,会向 Claude Code 注入 12 个技能(Skills)生命周期钩子(Hooks) 以及核心的 工作流命令

核心命令

| 命令 | 说明 | |------|------| | /openpowers:workflow | 启动 6 阶段结构化开发工作流 |

12 个技能一览

| 技能 | 类型 | 说明 | |------|------|------| | openpowers-workflow | 命令 | 6 阶段 SDD+TDD 工作流入口 | | openpowers-explore | 探索 | 并发分派多个探索子代理,深入调查代码库、仓库资料、参考文档、已有规格等 | | openpowers-brainstorm | 思考 | 头脑风暴助手,梳理需求与方案思路 | | openpowers-propose | 提案 | 一键生成提案、设计文档与规格说明 | | openpowers-plan | 规划 | 补充技术规格 Schema 文档,基于规格生成可执行实施计划 | | openpowers-review | 审查 | 分派审查子代理,依次审查提案和计划的完整性与可行性,自动修复问题 | | openpowers-sdd | 实现 | 子代理驱动开发,按拓扑顺序逐个派发实现子代理并经过两阶段复审 | | openpowers-tdd | 测试 | TDD 强制执行,先写测试再写实现 | | openpowers-finalize | 收尾 | 自动 Git 提交、推送并同步 Codebase 文档 | | openpowers-codebase | 文档 | Codebase 集成,提供 explore、generate、synchronize 三大指令 | | openpowers-cleancode | 质量 | 查询编码规范,在生成代码前输出聚焦的规范指南 | | openpowers-commit | 工具 | 自动暂存、生成 Conventional Commits 消息并安全推送 |

openpowers-codebase 详解

openpowers-codebase 将项目的源代码组织为分层结构化的代码文档树(Codebase),支持大模型按层级导航检索。文档树结构如下:

{codebaseDir}/
├── toc.md                          ← 总索引(Overview,≤500 行)
├── {module-a}/
│   ├── toc.md                      ← 模块索引
│   ├── {submodule-1}/
│   │   ├── toc.md                  ← 子模块索引
│   │   ├── spec-xxx.md
│   │   └── spec-yyy.md
│   ├── {submodule-2}/
│   │   └── ...
│   └── spec-zzz.md                 ← 模块直属 Spec
└── ...

通过 instruction 参数选择三大操作:

| 指令 | 用途 | 核心流程 | |------|------|------| | explore | 按业务/功能/代码关键词查询相关实现 | 模块定位 → 子模块匹配 → Spec 验证 → 输出源码摘要 + 上下游调用链 | | generate | 从零生成项目 Codebase 文档树 | 全局扫描分模块 → 逐模块发现子模块/Spec → 生成 Spec 文档 → 逐级生成 toc.md → 综合审查 | | synchronize | 将增量代码变更同步回文档树 | 确定 Codebase 状态 → 定位目标 Spec → 创建/更新/删除 Spec → 自底向上更新 toc → 索引可达性校验 |

  • explore 依赖已生成的文档树,不生成新文档;查询结果包含 Spec 摘要 + 直接源码 + 上游调用方 + 下游依赖
  • generate 自动跳过测试文件(*.test.ts__tests__/** 等),模块/子模块规模有上限控制(≤50 子项 / 5-50 Spec)
  • synchronize 严格增量原则,仅处理用户提供的变更文件列表,不扩大范围;首次初始化时自动切换到 generate 流程

Hooks 生命周期钩子

OpenPowers 通过 Claude Code 的 Hook 机制,在 Agent 工具调用前后自动干预:

  • PreToolUse:在子代理启动前,根据当前工作流阶段自动切换对应的模型供应商
  • PostToolUse:在子代理完成后,捕获输出并记录日志
  • UserPromptSubmit:用户提交提示词时自动初始化会话

这意味着 你无需手动切换模型 —— 工作流在探索、提案、规划、编码等不同阶段会自动选择配置的 AI 模型。


2. CLI 命令行系统

openpowers CLI 是工作流的命令行支撑系统,提供初始化、配置管理、变更追踪、会话调度等全套工具。

openpowers [command] [options]

命令总览

| 命令 | 说明 | |------|------| | openpowers init | 初始化 OpenPowers 插件,安装完成后自动启动 UI 服务 | | openpowers ui [--restart] | 启动 Web UI 管理面板并在浏览器中打开 | | openpowers launch | 启动后端服务(不打开浏览器) | | openpowers active | 探测后端服务状态,若未运行则自动启动(自愈) | | openpowers enable | 开启 Anthropic API 代理,将 Claude Code 请求路由至活跃供应商 | | openpowers disable | 关闭代理,恢复原始 Claude Code 设置 | | openpowers remove [-y] | 卸载 OpenPowers 插件及其所有配置 | | openpowers recover | 当 Claude Code 配置出现问题时,恢复默认设置 | | openpowers config list | 列出当前完整合并配置(JSON 格式) | | openpowers config show <key...> | 按路径查询配置项(支持 codebases 虚拟键) | | openpowers config mode <lite\|standard\|max> | 一键应用实验性功能预设 | | openpowers config set <key> <value> [--global] | 写入单键配置(自动推断类型) | | openpowers agents list [--session <id>] | 列出模型供应商表格或会话阶段-模型映射 | | openpowers agents show <stage> --session <id> | 查看某阶段的模型名称 | | openpowers agents switch <name> [--session <id>] | 全局/会话级切换模型供应商 | | openpowers agents init --session <id> --cwd <path> | 初始化会话配置文件 | | openpowers change list | 列出所有活跃变更及其进度 | | openpowers change new <name> --desc <描述> | 创建新的变更目录 | | openpowers change status <name> | 查看变更的制品管线状态(JSON) | | openpowers change archive <name> | 归档已完成变更 | | openpowers change instruction <name> --proposal\|--design\|--specs | 获取制品生成指令 | | openpowers change feature <name> --status\|--next\|--start\|--complete | 功能生命周期管理 | | openpowers change stage <name> --session <id> --status <st> [--title\|--input\|--output] | 更新变更的阶段进度 | | openpowers schedule restart | 重启 cron 调度器 | | openpowers schedule stop | 停止 cron 调度器 |


3. Web UI 管理面板

openpowers ui [--restart]

一个可视化的 Web 管理界面,运行在 http://localhost:3939,提供:

  • 模型供应商管理 — 添加、编辑、删除、搜索模型供应商
  • 活跃供应商切换 — 一键设为首选供应商
  • 供应商模板系统 — 预置 12 个供应商模板,开箱即用
  • 代理开关控制 — 可视化启用/禁用 Anthropic API 代理
  • 一键重置 — 恢复到默认配置

4. 多模型供应商代理

这是 OpenPowers 最核心的能力 —— 在 Claude Code 的同一个会话中实现真正的多供应商多代理协同架构。

它如何为你工作

/openpowers:workflow 工作流中,不同阶段会自动切换到你预先配置的模型供应商。比如:

  • 探索阶段:可使用性价比高的模型(如 DeepSeek)
  • 提案 / 审查阶段:可切换到最强的推理模型(如 Claude Opus)
  • 编码实现阶段:可使用平衡型的模型,甚至为每个子代理指定不同供应商
  • 收尾归档阶段:可使用轻量快速的模型

你只需在 Web UI 和配置中预设好各阶段想用的供应商,之后一切自动切换,无需手动干预。

核心特性

  • 不同阶段,不同模型:探索、提案、编码等各阶段自动选用最合适的供应商模型
  • 一个会话,多个供应商:无需切换工具,在同一对话中即可调度 DeepSeek、Claude、Kimi 等多家 AI
  • 即开即用,无需改代码:开启代理后 Claude Code 体验完全不变,供应商切换在后台自动完成

配置的阶段-模型映射

{
  "switchProviders": {
    "workflow": "deepseek-v4-pro",
    "explore": "MiniMax-M2.7",
    "propose": "glm-5.0",
    "plan": "MiniMax-M2.7",
    "review": "mimo-v2.5-pro",
    "coding": "deepseek-v4-pro",
    "finalize": "deepseek-v4-pro"
  }
}
  • 模型名来自你在Web UI配置的供应商的模型名,默认为default,使用启用供应商的默认模型
  • 配置文件路径为 {当前项目}/.claude/openpowers.json

CLI 命令参考

openpowers init

openpowers init

初始化 OpenPowers 插件。自动完成插件安装和 UI 服务启动,安装后可直接使用 /openpowers:workflow


openpowers ui

# 启动 UI 管理面板
openpowers ui

# 重启 UI 管理面板
openpowers ui --restart

http://localhost:3939/openpowers/ui 启动 Web 管理面板。--restart 会先终止已有进程再重新启动。


openpowers launch

openpowers launch

在后台启动 OpenPowers 后端服务,不打开浏览器。若服务已在运行则提示。


openpowers active

openpowers active

探测后端服务状态。若服务已在运行,输出 "active";若未运行,自动启动服务(自愈机制)。


openpowers enable

openpowers enable

启用 Anthropic API 代理。自动同步 Claude Code 设置,将所有 API 请求路由至本地代理。


openpowers disable

openpowers disable

禁用代理,恢复原始 Claude Code 设置或回退至直接供应商配置。


openpowers remove

# 交互式卸载
openpowers remove

# 跳过确认
openpowers remove -y

卸载 OpenPowers 插件及其所有配置。


openpowers recover

openpowers recover

当 Claude Code 配置出现问题时,恢复默认设置。


openpowers config

# 查看完整配置(合并默认+项目覆盖)
openpowers config list

# 按路径查询
openpowers config show language
openpowers config show project.sourcecode
openpowers config show project.codebase
openpowers config show exploration.repository
openpowers config show codebases

# 一键应用功能预设(lite / standard / max)
openpowers config mode standard

# 写入配置(自动推断类型:字符串、数字、布尔)
openpowers config set experimental.review.code true
openpowers config set language english --global

config show codebases 是虚拟键,自动将 project.codebase.pathexploration.codebase 合并为一个统一列表。

config mode 预设: | 模式 | explore | openpowers review | specs review | code review | |------|---------|-------------------|--------------|-------------| | lite | 关闭 | 关闭 | 关闭 | 关闭 | | standard | 开启 | 关闭 | 关闭 | 开启 | | max | 开启 | 开启 | 开启 | 开启 |


openpowers agents

# 列出所有模型供应商(表格)
openpowers agents list

# 查看会话的阶段-模型映射
openpowers agents list --session <session-id>

# 查看某阶段使用的模型
openpowers agents show plan --session <session-id>

# 全局切换供应商(按供应商名或模型名)
openpowers agents switch DeepSeek

# 会话级切换
openpowers agents switch kimi2.6 --session <session-id>

# 初始化会话设置
openpowers agents init --session <session-id> --cwd /path/to/project
  [--change <change-name>] [--prompt <text>]

openpowers change

# 列出所有活跃变更及其进度
openpowers change list

# 创建新变更
openpowers change new my-feature --desc "添加用户登录功能"

# 查看变更状态
openpowers change status my-feature

# 获取制品生成指令
openpowers change instruction my-feature --proposal

# 管理功能生命周期
openpowers change feature my-feature --status
openpowers change feature my-feature --next
openpowers change feature my-feature --start feat-1
openpowers change feature my-feature --complete feat-1

# 更新阶段进度(由 Hook 调用)
openpowers change stage explore --session <id> --status done --title "探索结果"

# 归档已完成变更
openpowers change archive my-feature

openpowers schedule

# 重启 cron 调度器
openpowers schedule restart

# 停止 cron 调度器
openpowers schedule stop

需要在 OpenPowers 后端服务运行的状态下使用。


工作流详解

/openpowers:workflow 提供从创意到交付的 6 阶段完整开发流程:

创意 → 1.Explore → 2.Propose → 3.Plan → 4.Review → 5.SDD → 6.Finalize

阶段 1:Explore(探索)

使用 openpowers-explore 技能根据 exploreType 并发分派多个探索子代理,深入调查项目的代码结构、参考文档、仓库资料、已有规格等。

产出:探索结果写入 explore-design/ 目录

供应商:自动使用 explore 阶段配置的模型


阶段 2:Propose(提案)

先使用 openpowers-brainstorm 进行需求头脑风暴与对齐,然后使用 openpowers-propose 一键生成完整提案制品:

  • proposal.md — 变更的目的、范围和影响
  • design.md — 技术设计决策
  • specs/**/*.md — 详细功能规格说明

此阶段结束后会让用户选择工作流模式(Lite / Standard / Max)以控制后续阶段的审查级别。

产出:提案三件套

供应商:自动使用 propose 阶段配置的模型


阶段 3:Plan(规划)

分派规划子代理,基于规格文档生成可执行的实施计划 plan.json,支持依赖拓扑排序。

产出plan.json(可选 api.yamldatabase.md

供应商:自动使用 plan 阶段配置的模型


阶段 4:Review OpenPowers Artifacts(审查制品)

使用 openpowers-review 技能审查提案、设计、规格和计划的完整性与可行性。

产出:审查反馈与修改建议

供应商:自动使用 review 阶段配置的模型


阶段 5:SDD — 子代理驱动开发

使用 openpowers-sdd 技能,按 plan.json 中的特征(Feature)列表,依拓扑顺序为每个特征独立分派实现子代理。每个子代理内部强制执行 openpowers-tdd(先写测试再写实现),并经过规格合规审查代码质量审查两阶段复审。

产出:测试用例 + 实现代码 + 审查通过报告

供应商:每个子代理可独立配置不同供应商模型


阶段 6:Finalize(收尾)

使用 openpowers-finalize 技能自动完成:

  • 集成测试
  • Codebase 文档同步
  • 变更归档
  • Git 提交与推送

供应商:自动使用 finalize 阶段配置的模型


从中断处恢复

工作流支持中断恢复。启动时会自动检测已有制品,跳过已完成的阶段,从当前进度继续执行,不丢失已有产出物。


配置系统

OpenPowers 支持全局默认配置和项目级覆盖配置:

  • 项目配置:在项目根目录的 .claude/openpowers.json 中编写,仅对当前项目生效
  • 默认配置:未在项目配置中覆盖的项,自动使用全局默认值

配置项参考

{
  // 输出语言
  "language": "chinese",

  // 各阶段自动切换的模型供应商
  "switchProviders": {
    "workflow": "default",          // 工作流调度
    "explore": "default",           // 探索阶段
    "propose": "default",           // 提案阶段
    "plan": "default",              // 规划阶段
    "review": "default",            // 审查阶段
    "coding": "default",            // 编码阶段
    "finalize": "default"           // 收尾阶段
  },

  // 项目设置
  "project": {
    "sourcecode": "./",            // 源码目录
    "codebase": {                  // 项目 Codebase 设置
      "enable": false,
      "path": "docs/codebase"
    }
  },

  // 探索配置
  "exploration": {
    "codebase": [],                // 探索时查询的额外 Codebase 路径列表
    "repository": [                // 探索时参考的项目仓库列表
      {
        "type": "directory",
        "path": "./openpowers/",
        "description": "OpenPowers 制品目录,用于跨变更全局历史参考"
      }
    ],
    "reference": [],               // 探索时参考的外部资料列表
    "specification": []            // 探索时参考的规格文档列表
  },

  // 实验性特性
  "experimental": {
    "explore": true,               // 是否开启探索阶段
    "websearch": true,             // 是否开启 Web 搜索
    "context7": true,              // 是否开启 Context7
    "review": {
      "openpowers": false,         // 是否审查 OpenPowers 制品
      "propose": false,            // 是否开启提案审查
      "plan": false,               // 是否开启计划审查
      "specs": false,              // 是否开启规格审查
      "code": true,                // 是否开启代码检视
      "acceptance": true           // 是否开启验收审查
    },
    "prompt": {
      "reviewCode": null           // 代码检视自定义提示词(skill 名或内容)
    },
    "coverage": "70%",             // 要求项目达到的测试覆盖率
    "budget": true,                // 是否开启预算管理
    "factor": 1                    // 计划文档生成的特性个数因子(features < factor * specs)
  },

  // 增强配置
  "enhancement": {
    "context": null,               // 增强上下文
    "rules": {
      "design": [],                // 设计阶段增强规则
      "specs": [],                 // 规格阶段增强规则
      "implement": []              // 实现阶段增强规则
    },
    "memory": {
      "schedule": "14 18 * * *"    // 记忆调度 cron 表达式
    }
  }
}

许可证

MIT © 2026 Meiyukichan


OpenPowers — 让 Claude Code 拥有同一会话多供应商模型切换调度能力,用结构化工作流交付高质量代码。