2026-07-21 11:05:57 +08:00
|
|
|
|
# APS 计划排产智能体
|
|
|
|
|
|
|
|
|
|
|
|
> 左手自然语言对话、右手可视化排产盘的计划排产智能体。
|
|
|
|
|
|
> **文档入口(大管家)**:[docs/README.md](docs/README.md)
|
|
|
|
|
|
> 架构蓝图:[plan.md](plan.md)(目标态多,落地以 `docs/` 分类文档为准)
|
|
|
|
|
|
> 交互验证原型:[poc/workbench.html](poc/workbench.html)
|
|
|
|
|
|
|
|
|
|
|
|
## 仓库结构
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
aps-agent/
|
2026-07-28 02:12:46 +08:00
|
|
|
|
├─ apps/web/ # React 18 + TS + Vite(左说右动 UI,Web/桌面共用)
|
|
|
|
|
|
├─ apps/desktop/ # Electron 壳(数据落 ~/.aps,对标 Codex)
|
2026-07-21 11:05:57 +08:00
|
|
|
|
├─ server/ # FastAPI(Gateway + Agent Core + 规则引擎 + 世界状态)
|
2026-07-28 02:12:46 +08:00
|
|
|
|
├─ scripts/ # dev:web / dev:desktop 启动脚本
|
2026-07-21 11:05:57 +08:00
|
|
|
|
├─ shared/ # 跨语言契约(JSON Schema)
|
|
|
|
|
|
├─ tests/golden/ # 黄金测试(pytest)
|
|
|
|
|
|
├─ docs/ # 活文档(大管家 + 产品/架构/算法)
|
|
|
|
|
|
├─ aps-frontend/ # 早期静态原型(对照用)
|
|
|
|
|
|
├─ poc/ # 「左说右动」POC
|
|
|
|
|
|
└─ plan.md # 架构蓝图
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 文档怎么找
|
|
|
|
|
|
|
|
|
|
|
|
| 你是谁 | 从哪读 |
|
|
|
|
|
|
| --- | --- |
|
|
|
|
|
|
| 产品 / 业务 | [docs/product/](docs/product/) |
|
|
|
|
|
|
| 架构 / 研发 | [docs/architecture/](docs/architecture/) |
|
|
|
|
|
|
| 算法 | [docs/algorithm/](docs/algorithm/) |
|
|
|
|
|
|
| 每次改动记账 | [docs/CHANGELOG.md](docs/CHANGELOG.md) |
|
|
|
|
|
|
|
|
|
|
|
|
## 快速开始
|
|
|
|
|
|
|
2026-07-28 02:12:46 +08:00
|
|
|
|
### 形态说明
|
|
|
|
|
|
|
|
|
|
|
|
| 形态 | 用户数据 | 开发命令 | 打包 | 部署 |
|
|
|
|
|
|
| --- | --- | --- | --- | --- |
|
|
|
|
|
|
| **Web** | 仓库 `server/data/`(或 `APS_HOME`) | `npm run dev:web` | `npm run build:web` | 静态前端 + 后端服务 |
|
|
|
|
|
|
| **桌面** | `~/.aps/`(skills/sessions/data…,对标 Codex) | `npm run dev:desktop` | `npm run build:desktop` | 发安装包,无需服务器托管 UI |
|
|
|
|
|
|
|
|
|
|
|
|
详见 [docs/architecture/desktop.md](docs/architecture/desktop.md)。
|
|
|
|
|
|
|
|
|
|
|
|
### 1. 依赖
|
2026-07-21 11:05:57 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
python -m venv .venv
|
|
|
|
|
|
.venv\Scripts\activate # Windows;Linux/macOS: source .venv/bin/activate
|
|
|
|
|
|
pip install -r requirements.txt
|
2026-07-28 02:12:46 +08:00
|
|
|
|
copy .env.example .env # 可选
|
|
|
|
|
|
|
|
|
|
|
|
npm run bootstrap # 安装 apps/web + apps/desktop 依赖
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 2. 开发运行
|
2026-07-21 11:05:57 +08:00
|
|
|
|
|
2026-07-29 23:22:40 +08:00
|
|
|
|
联调 Web 用户登录前,在 `.env` 中设置 JMS 地址与本地会话密钥:
|
2026-07-28 02:12:46 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
2026-07-29 23:22:40 +08:00
|
|
|
|
APS_AUTH_PROVIDER=jms
|
|
|
|
|
|
JMS_AUTH_BASE_URL=https://jms-mes-api.jzplat.com
|
|
|
|
|
|
JMS_AUTH_SESSION_SECRET=至少32个随机字符
|
2026-07-28 02:12:46 +08:00
|
|
|
|
APS_LICENSE_PROVIDER=mock
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2026-07-29 23:22:40 +08:00
|
|
|
|
Web 端会从 JMS 读取启用企业,用户选择所属企业后使用真实账号密码登录;如需限制为单一企业,
|
|
|
|
|
|
可配置 `JMS_AUTH_TENANT_CODE` 与 `JMS_AUTH_TENANT_NAME`。JMS 当前没有自助注册或未登录自助
|
|
|
|
|
|
找回密码接口,账号创建与密码重置由所属企业管理员处理。
|
|
|
|
|
|
桌面端不使用账号,开发授权码为
|
|
|
|
|
|
`APS-HOUR-DEMO`、`APS-DAY-DEMO`、`APS-WEEK-DEMO`、`APS-MONTH-DEMO`、
|
2026-07-28 02:12:46 +08:00
|
|
|
|
`APS-YEAR-DEMO`、`APS-PERP-DEMO`。
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# Web(浏览器 http://localhost:5173 ,API :8000)
|
|
|
|
|
|
npm run dev:web
|
2026-07-21 11:05:57 +08:00
|
|
|
|
|
2026-07-28 02:12:46 +08:00
|
|
|
|
# 桌面(Electron 窗口;数据写入 %USERPROFILE%\.aps)
|
|
|
|
|
|
npm run dev:desktop
|
2026-07-21 11:05:57 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
2026-07-28 02:12:46 +08:00
|
|
|
|
### 3. 打包
|
2026-07-21 11:05:57 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
2026-07-28 02:12:46 +08:00
|
|
|
|
npm run build:web # apps/web/dist → 部署静态站
|
|
|
|
|
|
npm run build:desktop # Electron 安装包 → apps/desktop/release
|
2026-07-21 11:05:57 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
2026-07-28 02:12:46 +08:00
|
|
|
|
### 4. 验收路径(摘录)
|
2026-07-21 11:05:57 +08:00
|
|
|
|
|
|
|
|
|
|
打开 http://localhost:5173 :
|
|
|
|
|
|
|
|
|
|
|
|
1. 「对比几种策略」→ 方案卡 → 采用 → 右侧甘特刷新
|
|
|
|
|
|
2. 「存个档」→ 时间线检查点 → 点检查点回滚(P2 确认卡)
|
|
|
|
|
|
3. 「试排一版交期优先」/ 「发布这个版本」
|
|
|
|
|
|
4. `pytest tests/golden -q`(当前期望全绿,见 CHANGELOG 最新验证数)
|
|
|
|
|
|
|
|
|
|
|
|
完整旅程说明:[docs/product/journeys.md](docs/product/journeys.md)
|
|
|
|
|
|
|
|
|
|
|
|
## 大模型接入
|
|
|
|
|
|
|
|
|
|
|
|
DeepSeek / KIMI(OpenAI 兼容),`.env` 配置 `LLM_PROVIDER` / `LLM_API_KEY` 等。
|
|
|
|
|
|
意图:正则快路 → LLM JSON;失败自动降级。详见 plan.md §9.6。
|
|
|
|
|
|
|
|
|
|
|
|
## 代码规范
|
|
|
|
|
|
|
|
|
|
|
|
遵循 plan.md §12:中文意图注释、权力等级、moduleId、**文档同轮同步**(见 docs 大管家)。
|