# kfOpenAgvs **Repository Path**: jonathanHu/kf-open-agvs ## Basic Information - **Project Name**: kfOpenAgvs - **Description**: 我司开源的AGV调度系统(AGVS),目前开放的是针对天津佳创博为的控制器FancyAGV,其它车型的在梳理中,后续会扩展到其它车型。 该套源码经历了大小几十个工程,经过了N轮迭代,稳定可靠。 在线地址:http://erp.calculatedfun.com:9090/s/buss/g/h/login.html - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: https://www.calculatedfun.com/static/dist/index.html#/agvs - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 0 - **Created**: 2026-05-09 - **Last Updated**: 2026-07-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # kf-open-agvs(kfOpenAgvs、凯钒科技的AGV调度系统) 如有问题或需求反馈,请在 [问题提交页](https://www.calculatedfun.com/static/dist/index.html#/issues) 中提交。 面向仓储与厂内物流场景、**当前版本仅针对 Fancy AGV 的调度与控制(ACS)**:包含 Web 控制台与工具、Java 调度与设备侧逻辑(`ProjectBussKfkjOpenAgvs`),以及本地依赖与业务容器的 Podman 脚本。多厂商泛化能力不在本仓维护范围内。 安装与部署见 **[docs/install-deploy.md](docs/install-deploy.md)**;环境配置与运维 Web 见 **[docs/env-config.md](docs/env-config.md)**。 ## 系统界面预览 车辆调度系统 Web 控制台(地图监控、AGV 列表与详情、区域状态、任务下达等): ![车辆调度系统界面](docs/images/vehicle-scheduling-dashboard.png) ## 仓库概览 | 目录 | 说明 | | --- | --- | | `next-app/` | 基于 **Next.js 15**、**React 19** 的前端应用:ACS/WMS 相关页面、流程与地图、AGV 状态、API 探查、三维货架展示等;支持从 **Consul KV** 拉取/推送部分配置。 | | `ProjectBussKfkjOpenAgvs/` | **Maven** 聚合 Java 工程(Spring 等):**Fancy AGV** 调度、IoT/ACS 等业务逻辑;根目录 `pom.xml` 为聚合入口,源码与配置主要在 `srcLink/`。 | | `next-app/public/s/buss/acs/doc/` | 与 ACS 前端/列表相关的 Markdown 说明(如 AGV 列表、订阅、渲染等),随静态资源发布。 | | `shell/ubuntu-podman/` | Ubuntu 上一键安装 rootless Podman,并启动 Consul / MariaDB / Mosquitto / Redis / kcto / Tomcat / Next。 | | `env-config-app/` | 环境配置与运维 Web:编辑配置、容器监控、端口与 Consul、脚本与组件重装。 | | `kcto-grpc-redis-service/` | AGVS **KCTO** 协议 **gRPC** 接入层(Node.js + TypeScript),Redis 存储与缓存,内置 HTTP 管理端。 | ## 主要能力 - **Fancy AGV 调度**:以 Fancy 车型与现场流程为主的任务下发、状态与地图侧能力。 - **Web 端**:传统业务脚本与静态资源位于 `public/s/`,现代页面位于 `app/`;含 Socket.IO、Three.js、流程编辑(React Flow)等。 - **配置**:`next-app` 可通过 Consul(`CONSUL_ADDR`、`CONSUL_KEY`)与本地依赖协同;日常可用 `env-config-app` 管理。 ## 技术栈(摘要) - 前端:`next-app` — Node.js ≥ 22、Next.js 15、React 19、TypeScript、Tailwind CSS、Ant Design、Socket.IO 等。 - 后端:`ProjectBussKfkjOpenAgvs` — Eclipse、OpenJDK 8、Apache Tomcat 8.5.99、Maven、Spring 4.x 等。 - 运维:Podman(rootless)、Consul KV、`env-config-app`(Express + Vue3)。 ## 许可证 本仓库默认采用根目录 **MIT License**(见 `LICENSE`)。使用或二次分发时请保留版权声明与许可全文。 ## 子目录与子服务(原各子工程 README 已合并于此) 仓库仅在根目录维护 **`README.md` / `README.en.md`**。下列为 `next-app` 与其它子工程要点;百炼专题的深入说明仍以 `next-app/appBailian/docs/` 下各文件为准。 ### `next-app/appBack`(后端辅助代码) - **内容**:百炼 API 路由实现(`api/bailian/route.ts`)、本地存储工具(`utils/localStorage.js`)、可选独立静态服务(`server/server.js`;若与主开发服务同端口,注意冲突)。 - **调用**:向 `/api/bailian` 发送 POST,JSON 含 `message`、`conversationHistory`、`settings`(如 `model`、`maxTokens`、`temperature`、`systemPrompt`)。 - **环境变量**(`next-app/.env.local`):`BAILIAN_API_KEY`、`BAILIAN_API_ENDPOINT` 等;勿将密钥提交版本库。 ### `next-app/appBailian`(阿里云百炼专题) - **内容**:路由与示例代码、`scripts/setup-bailian.sh`、`examples/bailian-api-example.js`,以及 **`docs/`** 内的配置指南、错误诊断、迁移记录等。 ### `next-app/appTest`(测试与 Nginx 部署辅助) - **运行**:在 `next-app` 目录执行 `node appTest/<脚本>.js`,例如 `test-api.js`、`test-env.js`、`check-config.js` 等。 - **约定**:测试脚本宜 `test-` 前缀;不写死密钥;避免影响生产。 - **Nginx**:可用 `next-app/appTest/` 下脚本;完整容器安装见 [docs/install-deploy.md](docs/install-deploy.md)。 ### 百炼客服机器人(`next-app/app/customer-service`) - **访问**:开发环境一般为 `http://localhost:9090/customer-service`。 - **能力**:对话、快捷回复、设置(模型 qwen-turbo / plus / max、输出长度、temperature、系统提示词等);后端走 `/api/bailian`。 - **环境变量**:`BAILIAN_API_KEY` 必填;可选 `BAILIAN_API_ENDPOINT`、`NEXT_PUBLIC_APP_NAME`。 ### WMS 流程学习页(`next-app/app/tui/learn`) - **路由**:`/tui/learn`。 - **技术**:React、TypeScript、D3.js、shadcn/ui、Tailwind;展示入库、出库、退料、移库、盘点等流程的可视化与文字说明。 ### Fancy 安全气泡(`next-app/public/s/buss/acs/fancy1/safety-bubble/`) - **作用**:车辆周围虚拟安全区域,重叠时做安全判定(告警/扩展为控车等)。 - **脚本**:`safety.bubble.core.js`(含 SAT 碰撞)、`*.render.js`、`*.config.js`、`safety.bubble.manager.js` 等;`safety.bubble.config.html` / `safety.bubble.test.html` 用于配置与联调。 - **集成**:在 AGV 渲染更新位置时,若 `window.safetyBubbleManager?.isRunning`,调用 `updateBubbles(agvLocation)`。 ### KCTO gRPC Redis 服务(`kcto-grpc-redis-service/`) - **职责**:KCTO **gRPC** 接口 + **Redis** 持久化与 HTTP 管理面;由一键安装启动,端口与运维见 [docs/install-deploy.md](docs/install-deploy.md)。 - **补充**:按源码文件拆分的说明见 `kcto-grpc-redis-service/doc/*.md`。 ## 参与贡献 欢迎 Issue 与 Pull Request。建议: 1. Fork 本仓库并基于功能分支开发; 2. 提交信息清晰说明动机与影响范围; 3. 大改动可先开 Issue 讨论接口与兼容性。 ## 相关文档 - [docs/install-deploy.md](docs/install-deploy.md) — 安装、部署、端口与本机开发 - [docs/env-config.md](docs/env-config.md) — env-config-app 功能说明 - `next-app/public/s/buss/acs/doc/` — AGV 列表、订阅、渲染等 Markdown 说明 - Java 侧接口与行为说明以 **`ProjectBussKfkjOpenAgvs/srcLink/`** 源码为准;开放接口可在 `next-app` 的「API 探查 / 开放接口导航」中浏览 英文简介见同仓库根目录 `README.en.md`。