chore: 从零开始重构(首个提交)
This commit is contained in:
commit
b878fd6f41
|
|
@ -0,0 +1,30 @@
|
||||||
|
.git
|
||||||
|
.idea
|
||||||
|
.vscode
|
||||||
|
.serena
|
||||||
|
.aps
|
||||||
|
|
||||||
|
.env
|
||||||
|
.env.local
|
||||||
|
.env.*.local
|
||||||
|
|
||||||
|
.venv
|
||||||
|
venv
|
||||||
|
__pycache__/
|
||||||
|
**/__pycache__/
|
||||||
|
*.py[cod]
|
||||||
|
.pytest_cache/
|
||||||
|
|
||||||
|
node_modules/
|
||||||
|
**/node_modules/
|
||||||
|
apps/web/dist/
|
||||||
|
apps/desktop/
|
||||||
|
*.tsbuildinfo
|
||||||
|
|
||||||
|
server/data/
|
||||||
|
demand/
|
||||||
|
|
||||||
|
*.log
|
||||||
|
.codex-*.log
|
||||||
|
Thumbs.db
|
||||||
|
.DS_Store
|
||||||
|
|
@ -0,0 +1,86 @@
|
||||||
|
# ============================================================
|
||||||
|
# APS 智能体 · 环境配置模板(复制为 .env 后填写,.env 已被 gitignore)
|
||||||
|
# 密钥只存环境,绝不入库(plan.md §14.4)
|
||||||
|
# ============================================================
|
||||||
|
|
||||||
|
# ---- 大模型 Provider(OpenAI 兼容;配置后开放问答/意图语义更强)----
|
||||||
|
# 可选:deepseek | kimi | moonshot | doubao | openai | compatible
|
||||||
|
# 留空或密钥缺失时:快路 + 项目盘点离线作答(仍可分析数据,不甩「听不懂」)
|
||||||
|
LLM_PROVIDER=
|
||||||
|
# API 密钥
|
||||||
|
LLM_API_KEY=
|
||||||
|
# 接口地址(可覆盖默认):
|
||||||
|
# deepseek → https://api.deepseek.com/v1
|
||||||
|
# kimi → https://api.moonshot.cn/v1
|
||||||
|
# doubao → https://ark.cn-beijing.volces.com/api/v3 (模型填接入点 ID)
|
||||||
|
# openai → https://api.openai.com/v1
|
||||||
|
# 其它兼容网关 → 填完整 /v1 根路径,LLM_PROVIDER=compatible
|
||||||
|
LLM_BASE_URL=
|
||||||
|
# 模型名:deepseek-chat / moonshot-v1-8k / gpt-4o-mini / 豆包 endpoint id 等
|
||||||
|
LLM_MODEL=
|
||||||
|
|
||||||
|
# ---- 运行形态(桌面 ~/.aps,Web 用仓库 data)----
|
||||||
|
# desktop | web(默认 web)
|
||||||
|
APS_MODE=web
|
||||||
|
# 显式主目录(覆盖默认:desktop→%USERPROFILE%\.aps,web→server/data)
|
||||||
|
# APS_HOME=
|
||||||
|
# Skill 单文件兼容(测试用);正式为 APS_HOME/skills/<id>/manifest.json
|
||||||
|
# APS_SKILLS_PATH=
|
||||||
|
# Web 端演示数据懒播种:1=租户首次打开工作区且无项目时自动创建演示项目(镜像默认开)
|
||||||
|
# APS_WEB_DEMO_SEED=1
|
||||||
|
|
||||||
|
# ---- 后端服务 ----
|
||||||
|
APS_PORT=8000
|
||||||
|
APS_WORLD_PATH=server/data/world.json
|
||||||
|
|
||||||
|
# ---- 用户认证与租户隔离(JMS) ----
|
||||||
|
# jms:调用真实 JMS 登录接口;unconfigured:关闭 Web 认证和业务 API
|
||||||
|
# 统一登录开关:1=启用 Web 登录/桌面授权; 0=本地免登录管理员(仅限开发/演示)
|
||||||
|
APS_AUTH_ENABLED=1
|
||||||
|
APS_AUTH_PROVIDER=jms
|
||||||
|
APS_AUTH_COOKIE_SECURE=0
|
||||||
|
APS_AUTH_TTL_SECONDS=28800
|
||||||
|
# 门禁审批队列与一次性执行凭据(file 默认兼容;database 显式启用共享 MySQL)
|
||||||
|
APS_APPROVAL_BACKEND=file
|
||||||
|
# APS_APPROVAL_PATH=
|
||||||
|
# database 后端必须显式配置 APS_DATABASE_URL,且不得同时配置 APS_APPROVAL_PATH;连接失败不回退 file
|
||||||
|
# SQLite 仅限测试:APS_APPROVAL_DATABASE_ALLOW_SQLITE=1(共享部署禁止使用)
|
||||||
|
APS_APPROVAL_TTL_SECONDS=86400
|
||||||
|
APS_EXECUTION_GRANT_TTL_SECONDS=300
|
||||||
|
APS_APPROVAL_INITIATOR_ROLES=planner,approver,admin
|
||||||
|
APS_APPROVAL_ROLES=planner,approver,admin
|
||||||
|
APS_APPROVAL_VIEW_ROLES=planner,approver,admin,auditor
|
||||||
|
JMS_AUTH_BASE_URL=
|
||||||
|
# 可选:固定为单一租户(部署时写死企业,用户仍可手填名称校验)
|
||||||
|
# 公开租户列表已取消;登录页手填企业名称直接提交
|
||||||
|
JMS_AUTH_TENANT_CODE=
|
||||||
|
JMS_AUTH_TENANT_NAME=
|
||||||
|
# 至少 32 个随机字符,只用于签名本系统的 HttpOnly 会话,不发送给 JMS
|
||||||
|
JMS_AUTH_SESSION_SECRET=
|
||||||
|
# 可选:固定 JMS 登录响应中的 tokenName;配置后会严格校验
|
||||||
|
# JMS_AUTH_TOKEN_NAME=
|
||||||
|
JMS_AUTH_TIMEOUT_SECONDS=10
|
||||||
|
# 可选:企业自己的账号申请页面;未配置时提示联系企业管理员开通
|
||||||
|
# JMS_AUTH_ACCOUNT_REQUEST_URL=https://example.com/account-request
|
||||||
|
|
||||||
|
# ---- 桌面客户端授权 ----
|
||||||
|
# Web 用户认证与桌面授权相互独立。正式环境接入授权中心前保持 unconfigured(默认拒绝)。
|
||||||
|
# mock 仅用于本地桌面开发,内置六类可跨开发设备复用的 APS-*-DEMO 授权码。
|
||||||
|
APS_LICENSE_PROVIDER=unconfigured
|
||||||
|
# APS_MOCK_LICENSE_CODES={"MY-HOUR-CODE":"hour","MY-PERM-CODE":"permanent"}
|
||||||
|
# mock 模式必须显式配置随机签名密钥和租户标识;npm run dev:desktop 会为本地开发自动生成。
|
||||||
|
# APS_MOCK_LICENSE_SECRET=
|
||||||
|
# APS_MOCK_LICENSE_TENANT_UUID=
|
||||||
|
|
||||||
|
# ---- 现场数据目录(可选;未配置时不绑定任何机器目录)----
|
||||||
|
# KANGNI_DATA_DIR=
|
||||||
|
# KANGNI_ROUTE_XLSX=
|
||||||
|
# RUIYANG_DEMO_DIR=
|
||||||
|
|
||||||
|
# ---- 数据库 ----
|
||||||
|
# 未配置时继续使用 APS_DB_PATH 指定的 SQLite;接入 jms_mes 后填写 MySQL URL
|
||||||
|
# APS_DATABASE_URL=mysql+pymysql://user:password@127.0.0.1:3306/jms_mes?charset=utf8mb4
|
||||||
|
APS_DB_PATH=server/data/master.db
|
||||||
|
|
||||||
|
# 生产环境填写实际前端来源,逗号分隔
|
||||||
|
APS_CORS_ORIGINS=http://localhost:5173,http://127.0.0.1:5173
|
||||||
|
|
@ -0,0 +1,77 @@
|
||||||
|
# ============================================================
|
||||||
|
# APS 智能体 · Git 忽略清单
|
||||||
|
# ============================================================
|
||||||
|
# ---- Python ----
|
||||||
|
__pycache__/
|
||||||
|
*.py[cod]
|
||||||
|
.venv/
|
||||||
|
.sidecar-venv/
|
||||||
|
venv/
|
||||||
|
.pytest_cache/
|
||||||
|
# ---- Node / 前端 ----
|
||||||
|
node_modules/
|
||||||
|
*.tsbuildinfo
|
||||||
|
apps/web/dist/
|
||||||
|
apps/desktop/release/
|
||||||
|
apps/desktop/node_modules/
|
||||||
|
build/
|
||||||
|
dist/sidecar/
|
||||||
|
dist/sbom/
|
||||||
|
# ---- 环境与密钥(密钥绝不入库)----
|
||||||
|
.env
|
||||||
|
# ---- 运行时数据(世界状态由种子自动生成)----
|
||||||
|
server/data/
|
||||||
|
# 用户级桌面目录(勿提交)
|
||||||
|
.aps/
|
||||||
|
# ---- 需求材料(原始 docx/ppt/pdf 与本地提取文本,不入库)----
|
||||||
|
demand/
|
||||||
|
# ---- Pi 兜底 PoC:运行产物与本机配置不入库(代码/文档/测试脚本入库)----
|
||||||
|
poc/pi-fallback/runtime/node_modules/
|
||||||
|
poc/pi-fallback/runtime/pi-home/
|
||||||
|
poc/pi-fallback/runs/
|
||||||
|
poc/pi-fallback/smoke/site*/
|
||||||
|
poc/pi-fallback/smoke/*.log
|
||||||
|
poc/pi-fallback/smoke/*.sse
|
||||||
|
poc/pi-fallback/probes/*.out
|
||||||
|
poc/pi-fallback/probes/*.marker
|
||||||
|
# ---- 本地运行日志(勿提交)----
|
||||||
|
.codex-*.log
|
||||||
|
_shots/*.log
|
||||||
|
_shots/v2-discard/
|
||||||
|
# ---- IDE / 系统 ----
|
||||||
|
.idea/
|
||||||
|
.vscode/
|
||||||
|
.serena/
|
||||||
|
Thumbs.db
|
||||||
|
.DS_Store
|
||||||
|
|
||||||
|
# ---- Local build, test, and generated delivery artifacts ----
|
||||||
|
*.log
|
||||||
|
*.err.log
|
||||||
|
*.bak*
|
||||||
|
.pytest-*.txt
|
||||||
|
.tmp-*
|
||||||
|
apps/desktop/build-logs/
|
||||||
|
outputs/
|
||||||
|
artifacts/
|
||||||
|
apps/*.dxf
|
||||||
|
tests/golden/_*.json
|
||||||
|
beihai-shipyard-aps-data/
|
||||||
|
|
||||||
|
# ---- Generated presentation and media drafts (do not commit) ----
|
||||||
|
/video/
|
||||||
|
/_refs/
|
||||||
|
*.mp4
|
||||||
|
*.mov
|
||||||
|
*.avi
|
||||||
|
*.mkv
|
||||||
|
*.webm
|
||||||
|
*.wmv
|
||||||
|
*.m4v
|
||||||
|
*.mp3
|
||||||
|
*.wav
|
||||||
|
/APS智能体演讲稿*.md
|
||||||
|
/APS智能体演示讲解稿.md
|
||||||
|
/Pi-Agent兜底能力详细方案.md
|
||||||
|
/Pi-Agent接入计划.md
|
||||||
|
/Pi-Agent接入详细计划.md
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
# 多系统智能体平台 · 重构分支
|
||||||
|
|
||||||
|
> 本分支**从零开始**,不继承原仓库的提交历史。
|
||||||
|
|
||||||
|
## 这是什么
|
||||||
|
|
||||||
|
原 `main` 是「APS 产品 + 内嵌智能体层」的混合实现。本次重构把它拆成两件事:
|
||||||
|
|
||||||
|
- **平台**:客户端 + 平台服务 + Core + 引擎适配 + Provider 契约。从零重写,TypeScript / Node。
|
||||||
|
- **APS**:作为独立业务系统,以现有代码搬迁适配(Python),通过 Provider 契约接入平台。
|
||||||
|
|
||||||
|
## 分支约定
|
||||||
|
|
||||||
|
| 分支 | 用途 |
|
||||||
|
| --- | --- |
|
||||||
|
| `rewrite/platform`(本分支) | 重构实现;提交历史从首个提交开始 |
|
||||||
|
| `main` | 原实现,只读参考;切换前另存为 `legacy/main` 并设为只读 |
|
||||||
|
|
||||||
|
- 旧代码参考用 `git show main:<path>`,或另开 worktree 检出 `main`。
|
||||||
|
- 移植旧逻辑时在提交信息里写明来源,例如 `移植自 main:server/aps_domain/flex.py`——孤儿历史下 `git blame` 追不到来源。
|
||||||
|
- 切换时以本分支强推覆盖 `main`(`--force-with-lease`);切换前必须先把 `main` 备份为 `legacy/main`。
|
||||||
|
|
||||||
|
## 设计文档
|
||||||
|
|
||||||
|
设计文档在飞书评审中,评审通过后随本分支的后续提交入库(任务表 A0.10)。在此之前仓库里没有设计文档是正常的。
|
||||||
|
|
||||||
|
## 目录规划
|
||||||
|
|
||||||
|
```
|
||||||
|
client/ 客户端(桌面 Electron 与浏览器共用)
|
||||||
|
server/ 平台服务(entry / app / agent / core / provider-sdk / workflows)
|
||||||
|
providers/ Provider 适配器(aps / erp / ems)
|
||||||
|
contracts/ 客户端与服务端共享的契约
|
||||||
|
```
|
||||||
|
|
||||||
|
骨架随 A1 建立。
|
||||||
Loading…
Reference in New Issue