feat: 修复 dev 命令设计缺陷

This commit is contained in:
李岩岩 2026-08-13 17:27:14 +08:00
parent c26dc6e221
commit d6eba0da73
5 changed files with 37 additions and 2 deletions

View File

@ -4,7 +4,6 @@
"private": true, "private": true,
"type": "module", "type": "module",
"scripts": { "scripts": {
"dev": "bun --watch src/index.ts",
"typecheck": "tsc --noEmit", "typecheck": "tsc --noEmit",
"build": "bun build src/index.ts --outdir dist --target bun" "build": "bun build src/index.ts --outdir dist --target bun"
}, },

27
apps/web/vite.config.ts Normal file
View File

@ -0,0 +1,27 @@
import { fileURLToPath, URL } from "node:url";
import { defineConfig, loadEnv } from "vite";
const repositoryRoot = fileURLToPath(new URL("../..", import.meta.url));
export default defineConfig(({ mode }) => {
const environment = loadEnv(mode, repositoryRoot, "");
const configuredHost = environment.HOST || "127.0.0.1";
const backendHost =
configuredHost === "0.0.0.0" ? "127.0.0.1" : configuredHost;
const backendPort = environment.PORT || "3000";
return {
envDir: repositoryRoot,
server: {
host: "127.0.0.1",
port: 5173,
strictPort: true,
proxy: {
"/api": {
target: `http://${backendHost}:${backendPort}`,
changeOrigin: true,
},
},
},
};
});

View File

@ -42,6 +42,7 @@
- 人工验证步骤:以空临时数据目录和未配置 DeepSeek 密钥启动生产构建;发送“最终失败链路验收”;检查用户消息、错误提示、输入恢复以及 Run 事件文件和失败摘要。 - 人工验证步骤:以空临时数据目录和未配置 DeepSeek 密钥启动生产构建;发送“最终失败链路验收”;检查用户消息、错误提示、输入恢复以及 Run 事件文件和失败摘要。
- 人工操作结果2026-08-12 使用本机应用内浏览器完成;页面准确显示模型密钥缺失提示,输入恢复,用户消息保留;`events.ndjson` 依次写入 `run.started``message.started``run.failed``run.json` 状态为 `failed` - 人工操作结果2026-08-12 使用本机应用内浏览器完成;页面准确显示模型密钥缺失提示,输入恢复,用户消息保留;`events.ndjson` 依次写入 `run.started``message.started``run.failed``run.json` 状态为 `failed`
- 查看阶段修改根据用户反馈将应用外壳锁定为浏览器可视区高度页面根节点不再滚动侧栏仅“最近”区域内部滚动ConversationPane 仅消息内容区内部滚动顶部操作、侧栏底部信息和输入组件保持固定。2026-08-13 在 1280×720 视口验证根页面高度与视口一致且无页面滚动,两个内容区均为独立 `overflow-y: auto` 容器。 - 查看阶段修改根据用户反馈将应用外壳锁定为浏览器可视区高度页面根节点不再滚动侧栏仅“最近”区域内部滚动ConversationPane 仅消息内容区内部滚动顶部操作、侧栏底部信息和输入组件保持固定。2026-08-13 在 1280×720 视口验证根页面高度与视口一致且无页面滚动,两个内容区均为独立 `overflow-y: auto` 容器。
- 开发环境修正:`bun run dev` 的后端固定以仓库根目录运行并读取根 `.env`;前端由 Vite 提供 HMR开发时统一访问 `127.0.0.1:5173``/api` 按同一份 `HOST/PORT` 配置代理到 Bun watch 后端。生产 `start` 仍由 Bun/Hono 提供构建后的 `web/dist`
- 视觉参考:失败状态验收截图保存为 `docs/visual-reference/f002-model-config-error.jpg` - 视觉参考:失败状态验收截图保存为 `docs/visual-reference/f002-model-config-error.jpg`
- 已知限制:真实 DeepSeek 成功调用需要用户在运行环境提供自己的密钥;自动化和本次人工验收未使用或读取真实密钥。停止与重试留在 F-005服务重启后的事件重放加固留在 F-010。 - 已知限制:真实 DeepSeek 成功调用需要用户在运行环境提供自己的密钥;自动化和本次人工验收未使用或读取真实密钥。停止与重试留在 F-005服务重启后的事件重放加固留在 F-010。
- 主要验收AC-004、AC-010、AC-014、AC-016。 - 主要验收AC-004、AC-010、AC-014、AC-016。

View File

@ -787,6 +787,12 @@ LOG_LEVEL=info
## 18. 验证命令 ## 18. 验证命令
开发模式从仓库根目录执行 `bun run dev`,并统一访问 Vite 的
`http://127.0.0.1:5173`Vite 为前端提供 HMR并把 `/api` 代理到根目录
`.env``HOST``PORT` 指定的 Bun 后端;后端使用 watch 自动重启。生产模式先
执行 `bun run build`,再执行 `bun run start`,由单个 Bun/Hono 进程同时提供 API
`apps/web/dist` 静态资源。
项目骨架阶段必须创建并实际运行以下命令: 项目骨架阶段必须创建并实际运行以下命令:
```bash ```bash

View File

@ -7,7 +7,9 @@
"packages/*" "packages/*"
], ],
"scripts": { "scripts": {
"dev": "bun run --filter @great-agent/web --filter @great-agent/web-server dev", "dev": "bun run --parallel dev:web dev:server",
"dev:web": "bun run --cwd apps/web dev",
"dev:server": "bun --watch apps/web-server/src/index.ts",
"format": "biome format --write .", "format": "biome format --write .",
"format:check": "biome format .", "format:check": "biome format .",
"lint": "biome lint .", "lint": "biome lint .",