LRAgent 开源策略方案
品牌释义:LRAgent = Left & Right Agent(左膀右臂),寓意 AI 智能体是企业的得力助手。
一、总体定位
| 维度 | 说明 |
|---|---|
| 项目名 | LRAgent |
| 仓库地址 | https://github.com/andyy1976/lragent |
| 官网 | https://eastaiai.com |
| 在线体验 | https://ylxt.chat |
| 联系邮箱 | [email protected] |
| 开源模式 | Open Core(核心开源 + 企业闭源) |
| 核心许可 | MIT License |
| 企业许可 | Business Source License 1.1(BSL 1.1) |
| 目标用户 | 需要构建工业 AI 智能体平台的开发者和企业 |
| 核心价值 | 意图识别引擎 + 规则引擎 + 数字员工框架 + 能力运行时 |
二、Open Core 边界划分
2.1 划分原则
| 问题 | 归属 |
|---|---|
| 是否依赖 ARAS/SCSAI/PLM 才能运行? | → 企业版 |
| 是否面向特定行业(化工、制造、芯片)? | → 企业版 |
| 开发者无需 PLM 后端即可使用? | → 核心版 |
| 是否直接产生商业收入? | → 企业版 |
| 是否为通用框架能力? | → 核心版 |
2.2 核心版(MIT)— 约 60% 代码
服务端核心引擎
| 模块 | 功能 |
|------|------|
| intent-engine.js | L1/L2/L3 意图识别与路由 |
| rule-engine.js / rule-engine-core.js | 规则评估、五维评分 |
| capability-runtime.js | 识别→巡检→优化→修复 流水线 |
| capability-dispatcher.js | 能力调度与参数归一化 |
| agent-state-machine.js | 智能体生命周期状态机 |
| circuit-breaker.js | 调用失败保护 |
| governance-middleware.js | 审计日志与合规钩子 |
| health-inspector.js / health-patrol.js / health-scanner.js | 系统健康监控 |
| safe-tools.js | 自动执行工具白名单 |
| evolution-engine.js | 智能体自进化循环 |
| swarm-orchestrator.js | 多智能体协同 |
| hits-event-bus.js | 智能体间事件总线 |
| prompt-template-manager.js | LLM Prompt 管理 |
| knowledge-indexer.js / knowledge-search.js | 知识库索引与检索 |
| content-engine.js | 内容生成框架 |
| workflow-executor.js | 工作流执行引擎 |
| relationship-resolver.js | 通用关系解析 |
核心路由
| 路由 | 功能 |
|------|------|
| auth.js | 认证 |
| llm.js | LLM API 代理 |
| rule-engine.js / rule-workbench-api.js | 规则引擎端点 |
| intent.js | 意图引擎端点 |
| capability-api.js / capability-pipeline.js | 能力 API |
| digital-staff-routes.js | 数字员工 CRUD 与执行 |
| staff-feedback-routes.js | 反馈与绩效 API |
| audit-log.js | 审计日志 API |
| ai-inspector.js | 数据质量巡检 |
| content-api.js / content-routes.js | 内容管理 |
| open-platform.js | 开放平台 API |
| scheduler-routes.js | 任务调度 |
核心数字员工
数字员工按三层分类:7 个基础员工(平台内置,不可删除)+ 12 个通用员工(社区版可用)+ 行业定制员工(企业版)。
| 层级 | 数量 | 说明 | 许可 |
|------|------|------|------|
| 基础员工 | 7 | 平台核心能力,不可删除 | MIT |
| 通用员工 | 12 | 常用业务场景,社区版完整可用 | MIT |
| 行业定制 | 按需 | PLM/化工/制造/芯片等行业专属 | BSL 1.1 |
基础员工(7个)
| 员工 ID | 名称 | 功能 |
|----------|------|------|
| DS-BOSS-001 | 数据专员 | 通用数据巡检与报告 |
| DS-BOSS-002 | 系统健康监控 | 系统健康检查 |
| DS-DOC-001 | 文档校验员 | 文档质量校验 |
| DS-CONTENT-001 | 内容生成员 | 通用内容创建 |
| DS-SYS-001 | 意图识别员 | 意图路由与分发 |
| DS-SYS-002 | 规则引擎员 | 规则评估与评分 |
| DS-SYS-003 | 治理审计员 | 审计日志与合规 |
通用员工(12个)
| 员工 ID | 名称 | 功能 |
|----------|------|------|
| DS-GEN-001 | 知识检索员 | 知识库检索与问答 |
| DS-GEN-002 | 工作流执行员 | 工作流编排与执行 |
| DS-GEN-003 | 数据分析员 | 数据统计与可视化 |
| DS-GEN-004 | 通知推送员 | 消息通知与提醒 |
| DS-GEN-005 | 日程调度员 | 定时任务与日程管理 |
| DS-GEN-006 | 文件处理员 | 文件解析与转换 |
| DS-GEN-007 | 翻译员 | 多语言翻译 |
| DS-GEN-008 | 代码审查员 | 代码质量检查 |
| DS-GEN-009 | API 集成员 | 第三方 API 对接 |
| DS-GEN-010 | 报表生成员 | 业务报表自动生成 |
| DS-GEN-011 | 智能问答员 | LLM 对话问答 |
| DS-GEN-012 | 任务协调员 | 多员工任务协调 |
前端核心组件
| 组件 | 功能 |
|------|------|
| AiWorkbench.vue | AI 对话工作台 |
| Dashboard.vue | 系统仪表盘 |
| DigitalStaff.vue | 员工管理页 |
| StaffFeedbackCard.vue | 执行反馈卡片 |
| InspectionResult.vue | 数据质量巡检结果 |
| GovernanceTable.vue | 治理审计表 |
| MetaModelBrowser.vue | 对象类型浏览器 |
| BusinessObjectCreate.vue | 对象创建对话框 |
| 所有 composables/use-capability-*.js | 能力 Hooks |
小程序核心模块
| 模块 | 功能 |
|------|------|
| pages/ai-chat/ | AI 对话界面 |
| pages/workbench/ | 工作台 |
| pages/profile/ | 员工详情、执行记录、配置 |
| api/digital-staff.js | API 客户端 |
| i18n/ | 国际化 |
2.3 企业版(BSL 1.1)— 约 40% 代码
PLM 集成
| 模块 | 功能 |
|------|------|
| aras-client.js | ARAS Innovator / SCSAI AML 协议客户端 |
| aras-process-sync.js | 工艺同步 |
| aras-quality-query.js | 质量数据查询 |
| aras-rule-sync.js | 规则同步 |
| aml-asset-library.js / aml-generator.js | AML 资产管理 |
| sciot-rules-bridge.js | Sciot 规则桥接 |
行业专属
| 模块 | 功能 |
|------|------|
| bom-demo-builder.js / bom-process-linker.js | BOM 结构管理 |
| change-chain-engine.js | ECR/ECO 变更管理 |
| enterprise-rules.js | 企业专属规则 |
| phosphorus-asset-service.js / phosphorus-kb-builder.js | 磷化工行业 |
| sccapp-design-engine.js / sccapp-optimize-engine.js | SCCAPP 工程 |
| quality-process-bridge.js | 质量-工艺集成 |
| llm-process-*.js | LLM 驱动的工艺工程 |
行业定制员工
| 员工 ID | 名称 | 功能 |
|----------|------|------|
| DS-ECR-001 | ECR 审核员 | 工程变更审核 |
| DS-VEN-001 | 供应商管理员 | 供应商管理 |
| DS-COST-001 | 成本优化师 | 成本分析与优化 |
| DS-PROC-001 | 采购代理 | 采购订单管理 |
| DS-ARAS-001 | ARAS 创建员 | PLM 对象创建 |
| DS-EQUIP-001 | 设备维护员 | 预测性维护 |
企业路由
| 路由 | 功能 |
|------|------|
| change.js | ECR/ECO 生命周期 |
| bom.js / bom-check.js / bom-import.js | BOM 管理 |
| aml.js / aml-library.js | AML 库 |
| vendor.js | 供应商管理 |
| procurement.js / purchase-order.js | 采购 |
| quality.js | 质量管理 |
| industrial-asset.js | 工业资产 |
| phosphorus-asset.js | 磷化工资产 |
| sccapp.js | SCCAPP 集成 |
| chipwise-routes.js | 芯片设计 |
企业前端
| 组件 | 功能 |
|------|------|
| PartDetailPanel.vue | 零件详情(含 PLM 数据) |
| BomExplorer.vue / BomDetailModal.vue | BOM 可视化 |
| ImpactChart.vue | 变更影响分析图表 |
| ProductList.vue | PLM 产品列表 |
| ChangeManagement.vue | ECR/ECO 管理 |
| VendorManagement.vue | 供应商管理 |
| QualityKpiBoard.vue | 质量 KPI 仪表盘 |
| IndustrialAssetOverview.vue | 工业资产概览 |
| SccappCenter.vue | SCCAPP 中心 |
| ChipWiseEngine.vue | 芯片设计引擎 |
三、双许可证机制
3.1 MIT License(核心)
- 适用范围:核心版全部代码
- 权限:自由使用、修改、分发、商用
- 要求:保留版权声明和许可声明
- 文件:项目根目录
LICENSE
3.2 BSL 1.1(企业)
- 适用范围:企业版全部代码
- 权限:
- ✅ 非生产用途:评估、测试、开发
- ❌ 生产/商用:需获取商业许可证
- 转换日期:2029-01-01 — 届时企业模块自动转为 MIT
- 商业授权联系:[email protected]
- 文件:项目根目录
LICENSE-ENTERPRISE
3.3 许可证选择流程图
新代码写好了
│
├─ 依赖 ARAS/PLM? ──是──→ BSL 1.1
│
├─ 行业专属? ──是──→ BSL 1.1
│
├─ 产生直接收入? ──是──→ BSL 1.1
│
└─ 通用框架能力? ──是──→ MIT
四、开放平台与社区版的关系
4.1 定位区分
| 维度 | 开放平台 (ylxt.chat) | 社区版 (GitHub) |
|------|---------------------|-----------------|
| 目的 | 在线体验,了解能力边界 | 真实使用,私有化部署 |
| 代码 | 全量接口暴露(含企业API) | 仅核心代码(MIT) |
| 数据 | 演示数据,不可用于实际业务 | 用户自有数据,完全可控 |
| 定制 | 不可定制 | 完全可定制 |
| 部署 | SaaS 在线 | 私有化部署 |
| 许可 | 在线体验无需许可 | MIT 自由使用 |
4.2 核心逻辑
开放平台全量开放接口是正确的策略:
- 接口 ≠ 业务:用户可以通过开放平台调用所有 API(含行业定制员工),但仅凭接口体验无法完成实际业务——真实业务需要对接企业 PLM 系统、私有数据、行业规则
- 体验驱动转化:用户在线体验行业能力后,如需实际使用,自然走向私有化部署(社区版起步 → 企业版升级)
- 社区版可真实使用:7 基础 + 12 通用员工 + 核心引擎,开箱即用,无需企业模块即可运行完整业务流程
- 行业能力需企业版:行业定制员工和 PLM 集成模块通过企业版私有分发,社区版 API 调用时返回 403 + 升级提示
4.3 API Key 体系
| 套餐 | 前缀 | 频率限制 | 适用场景 |
|---|---|---|---|
| free | lr_ | 30 次/分钟 | 在线体验 |
| pro | lr_ | 120 次/分钟 | 评估测试 |
| enterprise | lr_ | 600 次/分钟 | 生产使用 |
五、代码隔离与同步机制
5.1 运行时隔离 — enterprise-loader.js
核心版启动时通过 enterprise-loader.js 动态加载企业模块:
启动 → enterprise-loader.tryRequire() →
├─ 模块存在 → 加载并注册路由
└─ 模块不存在 → 标记为 missing,不崩溃
企业 API 被调用但模块缺失时,返回 403 + 升级提示:
{
"success": false,
"error": "This feature requires LRAgent Enterprise Edition",
"upgrade_url": "https://eastaiai.com/enterprise",
"edition": "community"
}
5.2 同步机制 — oss-sync.js + .ossignore
问题:企业代码已在私有 git 历史中,直接推送会泄露。
方案:专用同步脚本,从私有库过滤后推送到公开库。
流程:
私有仓库 (BossAgents)
│
├─ 读取 .ossignore(119 条排除规则)
│
├─ 复制文件到 .oss-sync-temp/(排除企业文件)
│
├─ 内容清理:
│ ├─ server.js: require → safeRequire
│ └─ router/index.js: 移除企业页面 import 和路由
│
└─ git push → 公开仓库 (LRAgent)
使用方式:
# 预览模式(不推送,检查泄露)
node scripts/oss-sync.js
# 实际推送
node scripts/oss-sync.js --push
# 强制推送
node scripts/oss-sync.js --push --force
安全检查:脚本在推送前验证 5 个关键企业文件(aras-client.js、change.js、bom.js、vendor.js、local.yaml、.env)不在同步列表中,发现泄露则中止。
5.3 .ossignore 排除清单(119 条规则)
| 类别 | 规则数 | 示例 |
|---|---|---|
| PLM/ARAS 集成 | 6 | server/utils/aras-client.js |
| 行业路由 | 18 | server/routes/change.js, server/routes/bom.js |
| 行业核心模块 | 12 | server/core/bom-.js, server/core/sccapp-.js |
| 员工配置 | 1 | server/boss-scheduler/profiles/local.yaml |
| 行业前端 | 28 | src/views/PartDetail.vue, src/components/BomExplorer.vue |
| SCIOT 数据包 | 1 | SCIOT/ |
| 敏感数据 | 15 | server/data/*.db, .env |
| 临时/调试 | 12 | scripts/temp/, logs/, *.log |
| 企业安装包 | 1 | enterprise/ |
| 构建产物 | 3 | dist/, node_modules/, release/ |
5.4 功能开关 — feature-flags.json
社区版和企业版通过功能开关区分可用能力:
{
"intent_engine": { "enabled": true, "tier": "core" },
"aras_plm": { "enabled": false, "tier": "enterprise", "requires": "license" },
"bom_management": { "enabled": false, "tier": "enterprise", "requires": "license" }
}
社区版启动时,企业功能 enabled: false,前端隐藏相关入口,API 返回 403。
六、企业模块分发
6.1 分发方式
企业模块不入公开仓库,通过以下渠道分发:
| 渠道 | 方式 |
|------|------|
| 私有 npm 包 | @lragent/enterprise-*(需授权 token) |
| 离线安装包 | enterprise/ 目录 + install-enterprise.js |
| Docker 镜像 | 企业版 Docker 镜像含完整模块 |
6.2 安装脚本
# 使用许可证密钥安装
node enterprise/install-enterprise.js --license=YOUR_LICENSE_KEY
# 手动安装
cp -r enterprise/routes/* server/routes/
cp -r enterprise/core/* server/core/
cp -r enterprise/utils/* server/utils/
cp -r enterprise/views/* src/views/
cp enterprise/profiles/local.yaml server/boss-scheduler/profiles/
6.3 企业模块目录结构
enterprise/
├── README.md # 安装说明
├── install-enterprise.js # 自动安装脚本
├── routes/ # 企业路由
│ ├── change.js
│ ├── bom.js
│ └── vendor.js ...
├── core/ # 企业核心模块
│ ├── aras-process-sync.js
│ └── bom-demo-builder.js ...
├── utils/ # 企业工具
│ └── aras-client.js ...
├── views/ # 企业前端
│ └── PartDetailPanel.vue ...
└── profiles/ # 员工配置
└── local.yaml
七、安全防护
7.1 代码泄露防护
| 防护层 | 措施 |
|--------|------|
| .gitignore | 60+ 条企业模块排除规则,防止意外提交 |
| .ossignore | 119 条同步排除规则,防止推送到公开仓库 |
| oss-sync.js | 推送前自动检查关键文件是否泄露 |
| git 历史 | 企业代码已在私有历史中;公开仓库从全新 git init 开始,无历史泄露 |
| SSH 推送 | 通过 ssh.github.com:443 推送,避免 HTTPS 443 封锁 |
7.2 运行时安全
| 措施 | 说明 |
|---|---|
| safeRequire() | 企业模块不存在时返回 null,不崩溃 |
| enterpriseMiddleware() | 企业 API 缺模块时返回 403 + 升级提示 |
| feature-flags.json | 前端根据 tier 隐藏企业入口 |
| .env 不入仓库 | API 密钥、数据库凭证通过环境变量注入 |
7.3 漏洞报告
- 邮箱:[email protected]
- GitHub Security Advisory:私有提交
- 响应时间:24h 确认 → 72h 评估 → 7d 修复(关键)/ 30d(非关键)
- 披露策略:协同披露,修复后公开
详见 SECURITY.md。
八、社区建设
8.1 当前状态
| 项目 | 状态 |
|---|---|
| GitHub 仓库 | ✅ 已上线 https://github.com/andyy1976/lragent |
| MIT License | ✅ 已添加 |
| BSL 1.1 License | ✅ 已添加 |
| README.md | ✅ 英文首页 |
| CONTRIBUTING.md | ✅ 贡献指南 |
| OPEN-CORE-MAP.md | ✅ 边界清单 |
| SECURITY.md | ✅ 安全策略 |
| feature-flags.json | ✅ 功能开关 |
8.2 待办事项
| 优先级 | 任务 | 说明 |
|---|---|---|
| P0 | GitHub Issue 模板 | bug / feature / license-question |
| P0 | GitHub Discussions | Q&A + Ideas + Show & Tell |
| P1 | X (Twitter) 建号 | @lragent_ai,发技术推文 |
| P1 | 技术博客 | 首篇:LRAgent 架构设计 |
| P1 | Discord 社区 | 开发者实时交流 |
| P2 | Demo 视频 | 3 分钟展示核心功能 |
| P2 | Awesome List | 生态项目收集 |
| P2 | 周报/月报 | 社区进展同步 |
8.3 贡献流程
Fork → Feature Branch → 开发 → Lint + Build → PR → Review → Merge
│
┌─────────────┤
│ │
MIT 代码 边界问题
直接合并 开 Issue 讨论
PR 规范:
- 一个 PR 一个关注点
- 500 行以内
- 新功能加测试
- 公共 API 改动更新文档
- Commit 前缀:
feat:/fix:/docs:/refactor:
九、技术架构概览
┌──────────────────────────────────────────────────────┐
│ LRAgent 架构 │
├──────────────────────────────────────────────────────┤
│ │
│ ┌─────────┐ ┌──────────┐ ┌────────────────────┐ │
│ │ 前端 │ │ 小程序 │ │ 开放平台 API │ │
│ │ Vue 3 │ │ 微信 │ │ REST / WebSocket │ │
│ └────┬─────┘ └────┬─────┘ └────────┬───────────┘ │
│ │ │ │ │
│ ┌────▼─────────────▼──────────────────▼───────────┐ │
│ │ 意图识别引擎 (L1/L2/L3) │ │
│ │ ┌──────────┐ ┌──────────┐ ┌────────────────┐ │ │
│ │ │ 关键词L1 │ │ 规则L2 │ │ LLM 语义 L3 │ │ │
│ │ └──────────┘ └──────────┘ └────────────────┘ │ │
│ └────────────────────┬───────────────────────────┘ │
│ │ │
│ ┌────────────────────▼───────────────────────────┐ │
│ │ 能力运行时 (Capability Runtime) │ │
│ │ Identify → Inspect → Optimize → Repair │ │
│ └────────────────────┬───────────────────────────┘ │
│ │ │
│ ┌────────┬───────────┼───────────┬────────────────┐ │
│ │规则引擎 │ 数字员工 │ 治理审计 │ 内容引擎 │ │
│ │5维评分 │ 自进化 │ 合规钩子 │ 知识检索 │ │
│ └────────┴───────────┴───────────┴────────────────┘ │
│ │ │
│ ┌────────────────────▼───────────────────────────┐ │
│ │ LLM 智能路由 (Smart Router) │ │
│ │ 多模型降级链:主模型 → 备用1 → 备用2 │ │
│ └────────────────────┬───────────────────────────┘ │
│ │ │
│ ┌────────────────────▼───────────────────────────┐ │
│ │ ████████████ 企业模块 (BSL 1.1) ████████████ │ │
│ │ PLM集成 │ BOM管理 │ 变更管理 │ 供应商 │ 质量 │ │
│ └────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────┘
十、关键文件索引
| 文件 | 用途 |
|------|------|
| LICENSE | MIT 许可证 |
| LICENSE-ENTERPRISE | BSL 1.1 许可证 |
| OPEN-CORE-MAP.md | 开源/闭源边界详细清单 |
| CONTRIBUTING.md | 贡献指南 |
| SECURITY.md | 安全漏洞报告流程 |
| feature-flags.json | 功能开关配置 |
| .ossignore | 同步排除清单(119 条规则) |
| scripts/oss-sync.js | OSS 同步脚本 |
| server/enterprise-loader.js | 企业模块动态加载器 |
| enterprise/README.md | 企业模块安装说明 |
| enterprise/install-enterprise.js | 企业模块安装脚本 |
十一、版本规划
| 版本 | 目标 | 时间 |
|---|---|---|
| v0.1 | 核心框架开源(当前) | 2026 Q3 |
| v0.2 | 社区反馈迭代 + 文档完善 | 2026 Q4 |
| v0.3 | 插件系统 + 第三方数字员工市场 | 2027 Q1 |
| v1.0 | API 稳定 + 企业版正式商用 | 2027 Q2 |
最后更新:2026-08-16(统一品牌信息 + 开放平台定位)
BossAgents