# openpulse **Repository Path**: c031001/openpulse ## Basic Information - **Project Name**: openpulse - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-11-06 - **Last Updated**: 2026-11-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # OpenPulse 通用主动型智能体。[后端](backend/README.md)与 [Web](web/README.md) 是独立工程;浏览器在运行时通过 HTTP/SSE 连接网关,不共享两端源码、网络、数据卷或服务端密钥。 ## 本地开发 需要 Node.js `24.15.0` 或以上、pnpm `11.7.0`,以及开发 Kafka,不需要数据库。后端 `pnpm dev` 默认使用本机 Docker 启动 Kafka,也可[连接自备 Broker](backend/README.md#使用自备-broker)。按[后端说明](backend/README.md#首次配置)准备 `.env` 后,在两个终端分别运行: ```bash (cd backend && pnpm install --frozen-lockfile && pnpm dev) (cd web && pnpm install --frozen-lockfile && pnpm dev) ``` 打开 `http://127.0.0.1:5173`,填写后端 `http://127.0.0.1:3000` 和 `API_TOKEN`。业务数据直接保存到本地文件。 ## 服务器部署 服务器只拉取镜像,不构建,也不需要业务源码。分别准备 `backend/compose.yaml` 和 `web/compose.yaml` 及各自的 `.env`:后端填写 `BACKEND_IMAGE`,Web 填写 `WEB_IMAGE`,值为带发布标签的完整仓库地址。服务器无法访问 Docker Hub 时,在后端填写 `KAFKA_IMAGE`,指向已同步的同版本镜像。 私有仓库先执行 `docker login <仓库域名>`。在服务器的两个工程目录分别执行(不叠加开发配置): ```bash docker compose pull docker compose up -d --no-build --wait ``` 升级时修改 `.env` 中的镜像标签后重新执行。默认发布 Web `0.0.0.0:4173` 和网关 `0.0.0.0:3000`,Kafka 不发布宿主端口。若已有 `.env` 显式设置 `BIND_ADDRESS=127.0.0.1`,需移除该行或改成 `0.0.0.0` 才会绑定所有 IPv4 网卡。 公网访问使用 HTTPS 反向代理,并限制对原始 HTTP 端口的直连;保留 Bearer 鉴权和 SSE 实时转发。浏览器填写可访问的 HTTPS 网关地址;换后端无需重建 Web。 生产凭据、数据卷见[后端说明](backend/README.md);已有旧库先看[数据与旧版本](backend/README.md#数据与旧版本)。**当前 Bash 无执行沙箱,仅适合可信操作者。** ### 发布 AMD64 镜像 在有源码且能访问依赖源的构建机上执行,ARM 本机也指定 `--platform linux/amd64`。将示例仓库地址和版本换成实际值,每次发布使用新标签: ```bash REPOSITORY=registry.example.com/team/openpulse VERSION=vYYMMDD docker build --platform linux/amd64 --target runtime -t "$REPOSITORY:openpulse-backend-$VERSION" backend docker build --platform linux/amd64 --target runtime -t "$REPOSITORY:openpulse-web-$VERSION" web docker image push --platform linux/amd64 "$REPOSITORY:openpulse-backend-$VERSION" docker image push --platform linux/amd64 "$REPOSITORY:openpulse-web-$VERSION" ``` 同步基础镜像时,从 `apache/kafka:3.9.1` 拉取 `linux/amd64` 变体,再打仓库标签并推送;不要从 ARM 开发镜像直接打标签。推送后检查远端清单的系统和架构,再把完整镜像地址写入服务器 `.env`。 [当前状态](backend/docs/STATUS.md) · [按任务查文档](backend/docs/README.md) · [API 契约](backend/docs/openapi.json)