Files
nexus-terminal/.helloagents/modules/backend.md
T
yinjianm c7a73e3715 【HelloAGENTS】- ~init:完成
已完成当前仓库知识库初始化,已创建 .helloagents/ 目录骨架和首批文档,覆盖根工作区、前端、后端、远程桌面网关四个模块。

已生成入口与上下文文档:INDEX.md、context.md、CHANGELOG.md
已生成模块文档:workspace-root.md、frontend.md、backend.md、remote-gateway.md
已创建空目录:plan/、user/
验收结果:核心文件存在且非空,目录结构完整,未残留模板级占位骨架
未执行项:configure_codex.py 因当前环境不可用 Python 解释器而跳过,这不影响本次知识库初始化
提示:当前 .gitignore 还没有 .helloagents/ 条目;按 ~init 规则,我只提示,不自动修改
2026-03-25 03:20:36 +08:00

2.3 KiB

backend

职责

packages/backend 是主后端服务,基于 Express 5、SQLite 和 WebSocket 提供认证、连接管理、SFTP、SSH 挂起、通知、审计、快速命令、主题与外观设置等能力,并负责初始化数据库和共享会话。

接口定义(可选)

模块对外暴露的公共 API 和数据结构

公共 API

函数/方法 参数 返回值 说明
GET /api/v1/status { status: string } 后端健康检查接口。
/api/v1/auth 等 REST 路由组 HTTP 请求体与路径参数 JSON 提供认证、连接、SFTP、设置、通知、审计等业务接口。
initializeWebSocket(server, sessionMiddleware) HTTP server, session middleware WebSocket 服务实例 在现有 HTTP 服务上挂接 SSH/SFTP/RDP/Docker 等实时会话。

数据结构

字段 类型 说明
session.userId number 登录用户 ID,存入 express-session
session.username string 当前登录用户名。
data/.env / 根 .env 环境变量文件 保存部署模式、加密密钥、会话密钥等运行配置。

行为规范

启动初始化

条件: 执行 packages/backenddevbuild && start 或容器启动流程。
行为: 先读取根 .envdata/.env,缺失 ENCRYPTION_KEYSESSION_SECRET 时自动生成并尝试写回,再初始化数据库。
结果: 环境变量、数据库和会话存储准备完成后才开始监听 HTTP/WebSocket 服务。

路由与会话

条件: 应用启动完成并收到前端请求。
行为: 所有业务接口挂载在 /api/v1/* 下,express-session 通过文件存储共享登录状态,WebSocket 初始化时复用同一会话中间件。
结果: REST 与实时会话使用一致的认证上下文。

业务分层

条件: 维护业务域代码。
行为: 按 controller/service/repository/routes 的分层模式组织连接、通知、设置、快速命令、主题等功能。
结果: 新增后端能力时应优先延续现有业务域目录结构,而不是在入口文件堆叠逻辑。

依赖关系

依赖: workspace-root, sqlite(data), express-session, ssh2, ws
被依赖: frontend