在现代化微内核架构演进中,工程团队往往面临着工具链碎片化与契约脆弱性的双重夹击:
- 开发者环境准入失控:内网商业制品库访问、工位机器码绑定与开发期临时授权缺乏统一闭环,开发人员常常因拔插 USB 扩展坞导致网卡 MAC 漂移而频繁触发硬件锁机阻断;
- 端到端契约频繁漂移:前端手写 Axios 请求、后端手写 HttpClient,API 字段大小写或类型稍有调整便引发静默运行时故障;
- 架构样板代码机械臃肿:按照企业微内核整洁架构落地一个业务用例,开发者必须手动在 Application、Contracts、Domain、Infrastructure 四个工程中编写大量重复的 CQRS 命令、仓储接口、事件模型与依赖注入接线;
- 包源投毒与配置混乱:多源 NuGet 环境中未配置包源映射,公共包与内部商业包混淆,引发安全审计红线。
bitz(NuGet 全局工具包 BitzOrcas.Cli,对应命令 bitz)是 BitzOrcas.Modern 面向全体研发团队交付的工业级全生命周期 CLI 开发者工具链。作为微内核架构的核心资产与统一脚手架,它集成了开发者统一身份准入、稳态防拔插硬件锁保护、OpenAPI 强类型代理生成、CQRS 垂直切片自动化物化、可视化本地设计工作台与全链路自愈诊断。
真实运行效果交互式终端演示
以下实操步骤全量取自开发机器的真实执行过程,涵盖从工位准入、健康诊断、代码生成到环境自愈的完整研发旅程。每个终端均支持即时复制命令并在本地复现:
步骤 1:Codeup 默认首选统一身份准入与硬件绑定 (bitz login)
执行 bitz login 命令启动设备准入。CLI 默认将 Codeup(阿里云效 Git 统一身份) 设为首选认证源,本地自动通过回环 HTTP 监听器调起浏览器完成云效企业 SSO 授权。
同时,底层硬件引擎执行物理特征采集:自动穿透虚拟网卡、VPN 与常见 USB 扩展坞芯片(如 ASIX AX88179、Realtek RTL8153),精确锁定板载主物理 MAC,生成终身恒定的稳态硬件机器码(如 BITZ-7E2A-94DF-0C81-561A),彻底根除因工位拔插扩展坞导致的锁机故障。
$
BitzOrcas 开发者统一身份准入与设备激活
授权中心服务端:https://license.ailinkedlaw.com
首选身份提供商:Codeup (阿里云效 Git 统一身份) (默认首选)
检测到本机机器码:BITZ-7E2A-94DF-0C81-561A (已绑定板载主物理网卡,免疫外接 USB 扩展坞拔插漂移)
正在启动系统默认浏览器完成 Codeup (阿里云效 Git 统一身份) 统一身份准入认证
✔ 浏览器回环 SSO 认证授权成功!
正在向授权中心发起设备准入握手与凭据同步
✔ 准入握手成功!许可证已安全下发并持久化至 ~/.bitz/bitz-dev.lic
✔ 已自动向用户级 NuGet.Config 注册 BitzOrcasCommercial 凭据通道
╭─ BitzOrcas 开发者准入与设备激活成功 ─────────────────────────────╮
│ 开发者姓名 : alex.lin │
│ 准入认证源 : Codeup (阿里云效 Git 统一身份) │
│ 关联 Git 邮箱 : alex.lin@enterprise.org │
│ 硬件绑定机器码: BITZ-7E2A-94DF-0C81-561A │
│ 软期限截止日 : 2026-10-11 (建议联网滚动续期) │
│ 硬期限截止日 : 2026-12-10 (编译期守卫强制锁机截止日) │
╰───────────────────────────────────────────────────────────────────╯
认证握手完成后,LicenseHub 自动颁发受信任的开发者安全证书,CLI 自动将其持久化至 ~/.bitz/bitz-dev.lic,并向用户级 NuGet.Config 安全注入商业私有源凭据。
步骤 2:宿主机开发凭据与硬件锁健康体检 (bitz status)
在任何开发机器上,执行 bitz status 可随时唤起全景健康体检看板。
看板清晰展示当前机器硬件特征、证书绑定机器码、100% 硬件匹配度、开发者组织邮箱、当前绑定的准入认证源(如 Codeup (阿里云效 Git 统一身份)),以及软硬双期限倒计时:
- 软期限(Soft Expire,默认 30 天):到达后 CLI 控制台给出黄色警示,提醒联网执行
bitz login 滚动续约,但不阻断本地构建;
- 硬期限(Hard Expire,默认 90 天):超过后 Roslyn 编译期守护触发致命阻断,强制锁定受控商业包,杜绝离职未授权滥用。
$
正在诊断当前宿主机开发者准入凭据健康状态
┌───────────────────────┬────────────────────────────────────┬──────────────┐
│ 检查项 │ 检查值 │ 诊断状态 │
├───────────────────────┼────────────────────────────────────┼──────────────┤
│ 凭据文件 │ ~/.bitz/bitz-dev.lic │ 存在 ✔ │
│ 本机物理机器码 │ BITZ-7E2A-94DF-0C81-561A │ 稳态硬件锚定 │
│ 凭据绑定机器码 │ BITZ-7E2A-94DF-0C81-561A │ 100% 匹配 ✔ │
│ 开发者姓名 │ alex.lin │ - │
│ 关联 Git 邮箱 │ alex.lin@enterprise.org │ - │
│ 准入认证源 │ Codeup (阿里云效 Git 统一身份) │ 已关联 │
│ 软期限 (建议联网滚动) │ 2026-10-11 (剩余 30 天) │ 正常 │
│ 硬期限 (阻断强制锁机) │ 2026-12-10 (剩余 90 天) │ 有效 │
│ 综合准入评估 │ ✔ 生效中(编译门禁自动放行) │ 正常放行 │
└───────────────────────┴────────────────────────────────────┴──────────────┘
步骤 3:强类型客户端代理生成 (bitz generate-proxy)
告别手写 API 请求!执行 bitz generate-proxy 直接解析微服务或单体提供的 OpenAPI 3.0 / 3.1 规范(支持本地 JSON 或远程 URL)。
对于 C# 客户端,自动生成包含标准 XML 注释与 DTO 的强类型接口 I{Service}ApiClient、具备连接池管理与取消令牌支持的 HttpClient 实现,以及 Add{Service}ApiClient 依赖注入扩展;对于 TypeScript 前端,自动将后端 PascalCase 转为标准 camelCase,并自动生成枚举 Label 国际化字典映射。
$
BitzOrcas 强类型客户端代码生成器
[1/4] 正在解析 OpenAPI 3.1 规范 (检测到 24 个端点, 18 个 DTO 模型)
[2/4] 生成 C# 领域数据传输模型 (MatterIntakeDto, ConflictRecord, LawFirmProfile)
[3/4] 生成强类型服务契约接口 ILitigationApiClient (集成标准 XML 注释与 CancellationToken)
[4/4] 生成 HttpClient 客户端实现与 AddLitigationApiClient 依赖注入扩展
✔ 强类型客户端代理代码生成成功!产物输出至:./src/Clients/LitigationClient
├── Models/ (18 个强类型 DTO,含枚举标签字典映射)
├── ILitigationApiClient.cs (符合团队架构规范的统一接口契约)
├── LitigationApiClient.cs (包含 JSON 序列化上下文与失败熔断保护)
└── LitigationClientExtensions.cs (一行代码 services.AddLitigationApiClient())
架构提示:已消除所有手写 HttpClient/Axios 字符串拼写与契约漂移风险。
步骤 4:CQRS 垂直切片代码自动化物化 (bitz generate-slice)
业务开发往往需要编写极其繁复的样板代码。执行 bitz generate-slice,只需提供聚合名称、所属模块与核心业务字段:
CLI 将全自动在目标模块中物化输出:
- 继承
TenantAggregateRoot 的纯净领域聚合根,打标适配器中立的 [BitzTable] 与 [BitzColumn];
- 领域事件(
CreatedDomainEvent / UpdatedDomainEvent);
- 读模型数据传输对象(DTO);
- CQRS 业务命令(Create / Update / Delete)与对应 CommandHandler;
- CQRS 业务查询(GetById / GetList)与对应 QueryHandler;
- Minimal API 路由组自动接线与智能 Agent 适配的
[GenerateMcpTool] 标记;
- 质量红线:生成的代码 100% 具备标准 XML 注释与完整可运行逻辑,零未实现占位符(No Placeholders),直接通过
<TreatWarningsAsErrors>true</TreatWarningsAsErrors> 门禁。
$
BitzOrcas CQRS 垂直切片代码生成向导
正在为模块 Litigation 自动化生成领域聚合与 CQRS 读写分离切片 [CaseAudit]
✔ 领域模型:src/Modules/Litigation/Domain/CaseAudit.cs (继承 TenantAggregateRoot)
✔ 领域事件:CaseAuditCreatedDomainEvent.cs, CaseAuditUpdatedDomainEvent.cs
✔ 读模型 DTO:src/Modules/Litigation/Dtos/CaseAuditDto.cs
✔ CQRS 命令:CreateCaseAuditCommand.cs, UpdateCaseAuditCommand.cs, DeleteCaseAuditCommand.cs
✔ CQRS 查询:GetCaseAuditByIdQuery.cs, GetCaseAuditsQuery.cs
✔ Minimal API 路由组自动接线,打标 [GenerateEndpoint] 与 [GenerateMcpTool]
✔ 架构质量门禁自检通过:0 错误,0 警告,XML 注释全量就绪,符合 TreatWarningsAsErrors 标准。
步骤 5:可视化切片建模与 Web Studio 工作台 (bitz suite)
为了满足可视化交互诉求,bitz suite 提供了业界领先的本地双模设计器:
- 终端 TUI 模式:通过 Spectre.Console 提供交互式表单向导、属性类型选择、AST 生成树预览与安全确认;
- 本地微型 Web Studio 模式 (
--web):CLI 内置微型 HttpListener,在本地 127.0.0.1:5200 调起深色玻璃拟态 Web UI,支持实时字段增删、动态 AST 代码预览与一键落盘到工程。
$
BitzOrcas Suite 可视化切片建模工作台已启动!
本地微型嵌入式 Web Studio 服务正在运行:
本地访问地址: http://127.0.0.1:5200
接口通讯协议: RESTful RPC / OpenAPI Staging V1
正在自动打开系统默认浏览器
终端实时监控与调用日志:
[GET] 200 OK / (Web Studio 深色玻璃拟态界面加载完成)
[POST] 200 OK /api/suite/preview (实时 AST 解析并预览 CaseAudit 领域切片代码)
[POST] 200 OK /api/suite/generate (原子写入 7 个切片源文件到当前工程模块)
✔ 准备就绪:可在浏览器直接进行字段可视化建模、实时 AST 预览与一键落地。
步骤 6:全环境深度诊断与一键自愈修复 (bitz doctor --fix)
在跨平台或新工位迁移场景中,开发环境常出现包缓存损坏、环境变量缺失或配置不规范。
运行 bitz doctor --fix:探针全方位体检操作系统架构、.NET 10 SDK、Node.js 前端链、Docker 守护进程、硬件指纹稳定性、许可证软硬期限,并自动分析 NuGet.Config 的 packageSourceMapping 规则。当发现存在投毒隐患或缺失配置时,带 --fix 参数自动执行幂等自愈修复!
$
BitzOrcas 开发环境深度体检与自愈诊断
┌─────────────────────┬──────────┬─────────────────────────────────────────┐
│ 检查项 │ 检测状态 │ 说明 │
├─────────────────────┼──────────┼─────────────────────────────────────────┤
│ 操作系统与硬件架构 │ ✔ 正常 │ macOS 15.3 (Arm64 Apple Silicon) │
│ .NET SDK 核心环境 │ ✔ 正常 │ 10.0.302 (满足 net10.0 规范) │
│ 前端工程构建工具链 │ ✔ 正常 │ Node v22.22.3, pnpm 9.15.4 │
│ 稳态物理硬件机器码 │ ✔ 稳定 │ BITZ-7E2A-94DF-0C81-561A (免疫拔插漂移) │
│ 开发者开发机凭据 │ ✔ 生效 │ ~/.bitz/bitz-dev.lic (剩余 30 天) │
│ 包源隔离与防投毒 │ 已自愈 │ 已自动向 NuGet.Config 补齐隔离映射规则 │
│ 离线商业制品仓库 │ ✔ 就绪 │ ~/.bitzorcas-release/packages │
└─────────────────────┴──────────┴─────────────────────────────────────────┘
✔ 诊断完毕:发现 1 处配置缺失并已成功自愈修复!当前环境 100% 达标就绪!
交互式终端体验中心
您可以通过下方终端模拟窗直接体验各个命令的交互过程与真实输出(支持自由切换标签):
$
╭──────────────────────────────────────────────────────────────╮
│ 🚀 BitzOrcas.Modern 新一代工程脚手架向导 │
│ 场景驱动 · 正交解耦 · 依赖自愈 · 前后端协同 · 纯净白板 │
╰──────────────────────────────────────────────────────────────╯
? 请输入项目名称 (如 LicenseHub): LicenseHub
? 请选择契合您业务的目标应用场景:
❯ 🏢 企业单租户业务系统 (Single-Tenant Enterprise App) [推荐]
面向内部 ERP、CRM、授权中心 (如 LicenseHub);自带超管账户、RBAC 权限与管理后台。
☁️ 复杂多租户 SaaS 平台 (Multi-Tenant Cloud Solution)
📱 移动跨端 / 小程序全栈应用 (Mini Program & Cross-Platform Mobile)
🌐 门户与内容型网站 (Portal / Corporate Website)
⚡ 纯资源服务 / 微服务后端 (Headless API / Resource Server)
🛠️ 极客自由组合模式 (Custom Free Composition Mode)
已选场景: 🏢 企业单租户业务系统
? 初始业务切片名称 (输入 blank 则只创建纯白板工程): Core
? 是否挂载开发期演练沙箱 (DevSandbox Playground)? › 否
$
✔ 正在执行依赖图拓扑预检与自愈分析...
ℹ 提示:Identity 模块已装配:内置超管种子 (admin / Admin@2026) 将在租户 1000001 自动引导(--seed-only 触发)
ℹ 提示:全栈协同构建:将协同生成 ReactAdmin 前端工程,已配置后端反向代理
ℹ 提示:纯净白板原则 (Clean by Default):不注入任何 Starter 假业务聚合,领域空间保持零污染
✔ 依赖图闭合校验通过:无依赖断裂、无缺失平台端口
正在生成项目结构与前后端资产...
7/7 协同生成配套前端工程 (ReactAdmin)...
╭─ BitzOrcas.Modern 构建成功 ──────────────────────────────────────────╮
│ 🎉 项目 DemoSaaS 成功生成完毕! │
│ 物理路径:./DemoSaaS │
│ 👉 1. 启动后端 API(三步黄金路径): │
│ cd ./DemoSaaS │
│ dotnet run --project src/Hosts/DemoSaaS.Api/... -- --migrate-schema apply
│ dotnet run --project src/Hosts/DemoSaaS.Api/... -- --seed-only │
│ dotnet run --project src/Hosts/DemoSaaS.Api/... │
│ 前置:本地 PostgreSQL;Development 无需 RabbitMQ。 │
│ dotnet test DemoSaaS.slnx (组合冒烟 + 架构守护,无需数据库) │
│ 👉 2. 启动前端中后台: │
│ cd frontend && npm install && npm run dev │
│ 浏览器访问:http://localhost:3000 │
│ 👉 初始特权超级管理员凭据(--seed-only 后生效): │
│ 租户编号:1000001 登录账号:admin 默认口令:Admin@2026 │
╰──────────────────────────────────────────────────────────────────────╯
$
✔ 正在执行依赖图拓扑预检与自愈分析...
ℹ 提示:Identity 模块已装配:内置超管种子 (admin / Admin@2026) 将在租户 1000001 自动引导(--seed-only 触发)
ℹ 提示:Aspire 分布式拓扑:将协同生成真实 AppHost(Aspire.Hosting)与 ServiceDefaults 编排工程
ℹ 提示:全栈协同构建:将协同生成 ReactAdmin 前端工程,已配置后端反向代理
ℹ 提示:纯净白板原则 (Clean by Default):不注入任何 Starter 假业务聚合,领域空间保持零污染
✔ 依赖图闭合校验通过:无依赖断裂、无缺失平台端口
正在生成项目结构与前后端资产...
7/7 协同生成配套前端工程 (ReactAdmin)...
🎉 项目 CloudHub 成功生成完毕!
$
✔ 正在执行依赖图拓扑预检与自愈分析...
ℹ 提示:Website 公开面接线:公开读、联系表单与验证码端点随商业包交付,宿主自动装配匿名访客中间件、公开面限流策略(PublicAnonymous/PublicContact/PublicCaptcha 等)、WebsitePublicContent 输出缓存与请求超时预算。
ℹ 提示:Identity 模块已装配:内置超管种子 (admin / Admin@2026) 将在租户 1000001 自动引导(--seed-only 触发)
ℹ 提示:全栈协同构建:将协同生成 AstroSite 前端工程,已配置后端反向代理
✔ 依赖图闭合校验通过:无依赖断裂、无缺失平台端口
正在生成项目结构与前后端资产...
7/7 协同生成配套前端工程 (AstroSite)...
🎉 项目 TownPortal 成功生成完毕!
$
✔ 正在执行依赖图拓扑预检与自愈分析...
ℹ 提示:纯净白板原则 (Clean by Default):不注入任何 Starter 假业务聚合,领域空间保持零污染
✔ 依赖图闭合校验通过:无依赖断裂、无缺失平台端口
正在生成项目结构与前后端资产...
╭─ BitzOrcas.Modern 构建成功 ──────────────────────────────────────────╮
│ 🎉 项目 EfDemo 成功生成完毕! │
│ 👉 1. 启动后端 API(三步黄金路径): │
│ dotnet run --project src/Hosts/EfDemo.Api/... -- --migrate-schema apply
│ dotnet run --project src/Hosts/EfDemo.Api/... │
│ 前置:SQL Server(EF Core 专属适配器;连接串需自行配置); │
│ Development 无需 RabbitMQ。 │
╰──────────────────────────────────────────────────────────────────────╯
$ bitz new OrmDemo --preset headless-api --orm dapper --non-interactive
错误:--orm 取值 'dapper' 无效;合法值:sqlsugar | efcore。
运行 bitz --help 查看全部可用旗标与合法取值。(退出码 2)
$
正在接入模块 Billing...
✔ 模块 Billing 已接入工程。
ℹ 接线面:模块工程、Api 引用、Mediator 锚点、Schema 贡献锚点、slnx、Unit.Tests 引用与领域测试、白板兜底清单交接。
ℹ 回归验证:dotnet test DemoSaaS.slnx
$
🔐 BitzOrcas 开发者统一身份准入与设备激活
授权中心服务端:https://license.ailinkedlaw.com
首选身份提供商:Codeup (阿里云效 Git 统一身份) (默认首选)
检测到本机机器码:BITZ-7E2A-94DF-0C81-561A
(已绑定板载主物理网卡,免疫外接 USB 扩展坞拔插漂移)
正在启动系统默认浏览器完成 Codeup (阿里云效 Git 统一身份) 统一身份准入认证...
✔ 浏览器 SSO 回调成功接收!
🤝 正在向授权中心发起设备准入握手与凭据同步...
✔ 准入租约握手成功!许可证已安全下发并持久化至 ~/.bitz/bitz-dev.lic
✔ 已自动向 NuGet.Config 注册 BitzOrcasCommercial 凭据通道
$
🔍 正在诊断当前宿主机开发者准入凭据健康状态...
BitzOrcas 开发者开发机硬件锁与凭据状态报告
┌───────────────────────┬────────────────────────────────────┬──────────────┐
│ 检查项 │ 检查值 │ 诊断状态 │
├───────────────────────┼────────────────────────────────────┼──────────────┤
│ 凭据文件 │ ~/.bitz/bitz-dev.lic │ 存在 ✔ │
│ 本机物理机器码 │ BITZ-7E2A-94DF-0C81-561A │ 稳态硬件锚定 │
│ 凭据绑定机器码 │ BITZ-7E2A-94DF-0C81-561A │ 100% 匹配 ✔ │
│ 准入认证源 │ Codeup (阿里云效 Git 统一身份) │ 已关联 │
│ 软期限 (建议联网滚动) │ 2026-10-11 (剩余 30 天) │ 正常 │
│ 硬期限 (阻断强制锁机) │ 2026-12-10 (剩余 90 天) │ 有效 │
│ 综合准入评估 │ ✔ 生效中(编译门禁自动放行) │ 正常放行 │
└───────────────────────┴────────────────────────────────────┴──────────────┘
$
🚀 BitzOrcas 强类型客户端代码生成器
[1/4] 正在解析 OpenAPI 3.1 规范 (检测到 24 个端点, 18 个 DTO 模型)...
[2/4] 生成 C# 领域数据传输模型 (MatterIntakeDto, ConflictRecord, LawFirmProfile)...
[3/4] 生成强类型服务契约接口 ILitigationApiClient...
[4/4] 生成 HttpClient 客户端实现与 AddLitigationApiClient 依赖注入扩展...
✔ 客户端代理代码生成成功!产物输出至:./src/Clients/LitigationClient
├── Models/ (18 个强类型 DTO,含枚举标签字典映射)
├── ILitigationApiClient.cs (符合架构规范的统一接口契约)
├── LitigationApiClient.cs (包含 JSON 序列化上下文与失败熔断保护)
└── LitigationClientExtensions.cs (一行代码 services.AddLitigationApiClient())
$
✨ BitzOrcas CQRS 垂直切片代码生成向导
正在为模块 Litigation 自动化生成领域聚合与 CQRS 读写分离切片 [CaseAudit]...
✔ 领域模型:src/Modules/Litigation/Domain/CaseAudit.cs (继承 TenantAggregateRoot)
✔ 领域事件:CaseAuditCreatedDomainEvent.cs, CaseAuditUpdatedDomainEvent.cs
✔ 读模型 DTO:src/Modules/Litigation/Dtos/CaseAuditDto.cs
✔ CQRS 命令:CreateCaseAuditCommand.cs, UpdateCaseAuditCommand.cs, DeleteCaseAuditCommand.cs
✔ CQRS 查询:GetCaseAuditByIdQuery.cs, GetCaseAuditsQuery.cs
✔ Minimal API 路由组自动接线,打标 [GenerateEndpoint] 与 [GenerateMcpTool]
✔ 架构质量门禁自检通过:0 错误,0 警告,XML 注释全量就绪。
$
🎨 BitzOrcas Suite 可视化切片建模工作台已启动!
本地微型嵌入式 Web Studio 服务正在运行:
👉 本地访问地址: http://127.0.0.1:5200
👉 接口通讯协议: RESTful RPC / OpenAPI Staging V1
正在自动打开系统默认浏览器...
终端实时监控与调用日志:
[GET] 200 OK / (Web Studio 深色玻璃拟态界面加载完成)
[POST] 200 OK /api/suite/preview (实时 AST 解析并预览 CaseAudit 领域切片代码)
[POST] 200 OK /api/suite/generate (原子写入 7 个切片源文件到当前工程模块)
$
🩺 BitzOrcas 开发环境深度体检与自愈诊断
┌─────────────────────┬──────────┬─────────────────────────────────────────┐
│ 检查项 │ 检测状态 │ 说明 │
├─────────────────────┼──────────┼─────────────────────────────────────────┤
│ 操作系统与硬件架构 │ ✔ 正常 │ macOS 15.3 (Arm64 Apple Silicon) │
│ .NET SDK 核心环境 │ ✔ 正常 │ 10.0.302 (满足 net10.0 规范) │
│ 前端工程构建工具链 │ ✔ 正常 │ Node v22.22.3, pnpm 9.15.4 │
│ 稳态物理硬件机器码 │ ✔ 稳定 │ BITZ-7E2A-94DF-0C81-561A (免疫拔插漂移) │
│ 开发者开发机凭据 │ ✔ 生效 │ ~/.bitz/bitz-dev.lic (剩余 30 天) │
│ 包源隔离与防投毒 │ 🔧 自愈 │ 已自动向 NuGet.Config 补齐隔离映射规则 │
│ 离线商业制品仓库 │ ✔ 就绪 │ ~/.bitzorcas-release/packages │
└─────────────────────┴──────────┴─────────────────────────────────────────┘
✔ 诊断完毕:发现 1 处配置缺失并已成功自愈修复!当前环境 100% 达标就绪!
核心功能与命令深度参考
1. 全局安装与平滑升级
安装方式
# 方式 A:公网公开源安装(开源/社区引导入门,无需配置凭据)
dotnet tool install -g BitzOrcas.Cli
# 方式 B:企业私有源安装(包含商业增强特性与内部私有包)
dotnet tool install -g BitzOrcas.Cli --add-source <commercial-feed-url>
dotnet tool install -g BitzOrcas.Cli --add-source ./artifacts/packages --prerelease
升级管理 (bitz update)
CLI 搭载了后台低优先级异步嗅探器(UpdateNotifier):
- 每次用户执行命令时在后台异步检查最新版本;
- 本地
~/.bitz/version-cache.json 维护 24 小时缓存防抖;
- 1.5 秒硬超时与 Fail-Silent 设计,断网或超时绝不阻断前台操作。
bitz update --self # 升级 CLI 全局工具自身
bitz update check # 忽略缓存,联机对比当前版本与远端正式版/预览版
bitz update packages # 扫描当前工程的 Directory.Packages.props 并批量升级官方包
2. 统一身份准入与凭据治理 (bitz login / logout / status)
参数与支持的认证源
-p, --provider <name> 指定身份提供商 (默认: codeup,可选: codeup, wecom, saas)
-s, --server <url> 授权中心服务端 URL (默认 https://license.ailinkedlaw.com)
--device-code 启动设备代码认证流 (适用于 SSH 无头终端、Docker 与 WSL)
-t, --token <pat> 使用个人访问令牌 (PAT) 直接登录 (适用于 CI/CD 流水线)
-e, --email <email> 指定关联 Git 邮箱 (默认自动读取 git config user.email)
常见场景执行
bitz login # 默认通过 Codeup 浏览器 SSO 登录
bitz login --provider wecom # 通过企业微信扫码登录
bitz login --provider saas # 使用 LicenseHub SaaS Host 统一账号登录
bitz login --device-code # 无 GUI 远程服务器使用短码授权
bitz login --token pat_sec_xxxx # CI/CD 自动化流水线免交互准入
bitz status # 输出机器锁与凭据健康体检表格
bitz logout # 安全清除本地会话并提供归档凭据选项
3. 全功能工程脚手架 (bitz new)
六档场景预设
bitz new <ProjectName> [options]
预设标识 (--preset) | 目标业务领域 | 默认架构拓扑 | 默认租户模型 | 默认前端协同 |
|---|
enterprise-saas | 内部 ERP、CRM、权限与授权中心 | api (单体 API) | single (单租户) | react-admin |
multi-tenant-cloud | 多租户云原生平台、企业入驻 | aspire (分布式编排) | multi (多租户隔离) | react-admin |
mini-program | 移动跨端应用、小程序业务后端 | api | single | taro-mobile |
portal | 律所/企业门户、内容网站 (SEO 优化) | api | single | astro-site |
headless-api | 纯资源微服务:无前端、网关统一验签 | api | single | none |
custom | 极客自由组合模式 (全维度交互问答) | 自选 | 自选 | 自选 |
正交维度开关
--orm <sqlsugar|efcore>:持久化适配器(默认 sqlsugar,支持 efcore 专属 SQL Server 迁移建库);
--tenancy <single|multi>:租户隔离机制;
--capabilities <caps>:装配平台能力(identity, auth, masterdata, workflow, website, risk 等);
--frontend <type>:协同生成配套前端(react-admin, vue-admin, astro-site, taro-mobile, none);
--non-interactive / --silent:无交互脚本执行模式。
4. 确定性模块七点变异与包管理
模块生命周期
bitz add module Billing --project ./MyApp # 挂载业务模块(或 DevSandbox 沙箱)
bitz remove module Billing --project ./MyApp # 原子逆向卸载模块
确定性七点变异契约:模块接入绝非简单的文件拷贝,而是原子性变异七处系统接线:
- 在
src/Modules/<Name>/ 创建模块工程并设置干净的边界;
- 宿主 Api 追加 ProjectReference 引用;
Program.cs 插入 Mediator 组合根挂载点;
- 注册数据库建库与迁移贡献程序集;
- 向主
.slnx 解决方案文件追加模块工程项;
- 测试套件(
tests/{Name}.Unit.Tests)追加引用并生成初始单元测试;
- 自动补齐符合架构规范的文件头与 XML 注释。
集中包管理与隔离防投毒
bitz add-package FluentValidation --version 11.9.0
bitz remove-package AutoMapper
CLI 自动识别 Central Package Management(CPM,Directory.Packages.props),并自动同步更新 NuGet.Config 中的 packageSourceMapping,确立商业包与开源包的来源隔离。
5. 强类型客户端代码生成 (bitz generate-proxy)
# 生成 C# 客户端 SDK (包含 DTO, Interface, HttpClient 与 DI 扩展)
bitz generate-proxy csharp \
--spec https://api.internal/swagger/v1/swagger.json \
--namespace BitzOrcas.Client.Billing \
--output ./src/Clients/BillingClient
# 生成 TypeScript 前端 SDK (包含 Axios 驱动, camelCase 接口与枚举字典)
--output ./frontend/src/api/billing
6. CQRS 垂直切片全生命周期生成 (bitz generate-slice)
bitz generate-slice MatterIntake \
--module CaseManagement \
--prop "CaseNo:string,ClientName:string,ClaimAmount:decimal,IsUrgent:bool"
生成的代码结构:
src/Modules/CaseManagement/
│ ├── MatterIntake.cs # 继承 TenantAggregateRoot 的业务实体
│ ├── MatterIntakeCreatedDomainEvent.cs # 聚合创建领域事件
│ └── MatterIntakeUpdatedDomainEvent.cs # 聚合更新领域事件
│ └── MatterIntakeDto.cs # 读模型数据传输对象
├── Commands/MatterIntakes/
│ ├── CreateMatterIntakeCommand.cs # 创建命令与 Handler (带事务保存)
│ ├── UpdateMatterIntakeCommand.cs # 更新命令与 Handler
│ └── DeleteMatterIntakeCommand.cs # 删除命令与 Handler
└── Queries/MatterIntakes/
├── GetMatterIntakeByIdQuery.cs # 详情查询与 Handler
└── GetMatterIntakesQuery.cs # 分页列表查询与 Handler
7. 可视化 Suite 建模工作台 (bitz suite)
bitz suite 是 BitzOrcas CLI 搭载的本地双模设计器与架构审阅副驾驶,专为消除 DDD 垂直切片研发过程中的样板工程阻力而打造:
bitz suite --web --port 5200 # 启动本地微型 Web Studio 设计器
bitz suite --web -p 5288 --no-open # 生产/远程指定端口且禁止自动唤起系统浏览器
核心特性包含:
- 实体设计器与属性网格:支持可视配置字段类型、主外键关系、多租户标记与验证约束;
- 虚拟文件系统(VFS)内存代码审阅:集成 Monaco Editor 进行 7 个分层源文件与物理磁盘的双栏 Diff 审查;
- 多方言 DDL 实时预览:生成 SQL Server 与 PostgreSQL 语法脚本及中文列注释,支持拖拽定位与最大化;
- 光标锚定 ER 图拓扑:基于 SVG 的平滑缩放与关系连线,支持一键导出 Retina 2x PNG / SVG / Mermaid;
- 物理 Git 时间轴与抽屉:多维检索 Commit、第二宽自适应抽屉、36px 快捷折叠导轨与双栏修改对比。
完整功能图解、实操流程与 LegalTech 实战演练,请参阅:BitzOrcas Suite 可视化工作台完整指南与实操手册。
退出码与自动化门禁规范
CLI 在参数解析与执行阶段严格遵循 Fail-Fast 原则,拒绝任何模糊推测:
| 退出码 | 语义分类 | 触发场景 |
|---|
0 | 成功 | 操作正常完成;bitz doctor 恒退出 0(体检报告供判读,不阻断脚本)。 |
1 | 业务与安全拒绝 | 模块重复追加、工程缺乏接线锚点、准入握手被服务端拒绝、硬期限超期锁机。 |
2 | 语法与参数错误 | 未知旗标、缺少必填参数、枚举取值非法(如 --orm hibernate)、参数冲突。 |
总结与快速通道
- 创建新系统:
bitz new MySystem
- 开发者换机或新接入:
bitz login(默认 Codeup 登录)
- 查看本地准入凭据:
bitz status
- 生成 API 客户端代理:
bitz generate-proxy
- 业务切片极速开发:
bitz generate-slice 或可视化工作台 BitzOrcas Suite
- 工位异常自愈排查:
bitz doctor --fix
- 发版与运维分发:参阅 Bitz CLI 的 NuGet 双轨分发与发版运维手册