Beaver 是以「海狸筑坝」为隐喻的 TypeScript 插件化与流程自动化 单体仓库:用 Nx 管理多包,覆盖插件内核、Action 编排、Shell/Web/浏览器扩展等场景。
- 插件系统:注册、依赖解析、生命周期(如 init / destroy)、统一由
PluginManager调度。 - 流程与自动化:基于 Action 的任务编排,可衔接 Shell、文件、Git、下载等能力。
- 产品形态:Next.js Web 端(arteffix-web)、浏览器扩展(arteffix-extension)等与核心库协同。
更细的 API 与模块说明见各子目录下的 README.md 及源码注释。
- Node.js:建议与仓库一致(
package.json中@types/node等约束可参考),推荐使用 Node 18+。 - 包管理: pnpm(仓库根目录安装与脚本均按 pnpm 约定)。
# 安装依赖
pnpm install
# 仅构建核心库(可按需增减项目名)
nx build beaver-kernel
nx build action-core
nx build shell-flow
# 启动 Web 开发服务(Next.js dev)
nx dev arteffix-web
# 运行单包测试示例
nx test beaver-kernel
nx test action-core
nx test shell-flow一次性构建多个目标可使用:
pnpm exec nx run-many -t build --projects=beaver-kernel,action-core,shell-flow查看依赖与任务图:
pnpm exec nx graph| 包 | 说明 |
|---|---|
| beaver-kernel | 插件内核:注册、依赖、生命周期、自动初始化 |
| action-core | Action 基础库:编排、中断、重试等 |
| action-flow | 动作流程:定义、执行与状态 |
| shell-flow | 面向 Shell 的流程编排与命令执行 |
| 包 | 说明 |
|---|---|
| arteffix-web | Next.js 管理界面 |
| arteffix-extension | 浏览器扩展 |
| arteffix-shell | Shell 相关集成 |
| arteffix-ai | AI / 终端相关能力 |
| 包 | 说明 |
|---|---|
| action-download | 下载相关 Action |
| download | 下载能力库(Rollup 构建) |
| action-drive | 驱动相关 |
| action-exec | 执行相关 |
| action-fs | 文件系统 |
| action-git | Git |
| action-io | IO |
| action-parse | 解析 |
| action-shell | Shell |
| 包 | 说明 |
|---|---|
| shell-conda | Conda 环境相关 |
| system-info | 系统信息 |
| arteffix-utils | 通用工具 |
| arteffix-library | 共享库与资源 |
| interceptor | 拦截器 |
| types | 类型定义库 |
实现符合约定的插件,通过 PluginManager.register 注册;支持声明依赖、自动初始化及生命周期钩子。具体接口与示例见 beaver-kernel。
欢迎通过 Issue / PR 反馈。改动前建议阅读目标包的 README 与既有代码风格。
本项目源代码公开,可在许可条件允许范围内自由使用、修改与再分发;禁止商业使用(定义与例外以英文许可全文为准)。商业用途须事先取得版权方书面授权。
**完整许可条款(英文)**见仓库根目录 LICENSE(Beaver Non-Commercial Source License)。