admin.xpcool.com/agents.md
夏犀麟 a44244c7ad
Some checks failed
CI / Test (ubuntu-latest) (push) Has been skipped
CI / Lint (ubuntu-latest) (push) Has been skipped
CI / Check (ubuntu-latest) (push) Has been skipped
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Has been skipped
Deploy Website on push / Deploy Push Playground Ftp (push) Has been skipped
Deploy Website on push / Deploy Push Docs Ftp (push) Has been skipped
Deploy Website on push / Deploy Push Antd Ftp (push) Has been skipped
Deploy Website on push / Deploy Push Element Ftp (push) Has been skipped
Deploy Website on push / Deploy Push Naive Ftp (push) Has been skipped
Release Drafter / update_release_draft (push) Has been skipped
Deploy Website on push / Rerun on failure (push) Has been skipped
CI / Test (windows-latest) (push) Has been cancelled
CI / Lint (windows-latest) (push) Has been cancelled
CI / Check (windows-latest) (push) Has been cancelled
CI / CI OK (push) Has been cancelled
chore: init admin.xpcool.com (vben5 + tdesign)
2026-08-24 23:56:57 +08:00

7.0 KiB
Raw Blame History

agents.md — 项目上下文档案(跨账号迁移单一事实源)

用途:让任何 AI 助手WorkBuddy 其他账号 / 其他 AI 工具)接手本项目时,无需重新摸索即可无缝衔接。 维护约定:每次操作(改代码 / 跑命令 / 决策 / 踩坑)后,更新下方「操作日志」章节;环境与架构变化同步更新对应章节。 首次建立2026-08-24


1. 项目概况

业务名 admin.xpcool.com
工作目录 E:\xxcool\project\admin.xpcool.com
基础框架 Vue Vben Admin 5.7.0(官方 monorepo 模板)
技术栈 Vue 3 + TypeScript + Vite + pnpm 11 + turbomonorepo+ Ant Design Vue 等
代码来源 官方仓库 vbenjs/vue-vben-admin 克隆remote 为 ghproxy 镜像:https://ghproxy.net/https://github.com/vbenjs/vue-vben-admin.git
当前基线 模板原样,无业务定制web-antd views 仅有 _core/dashboard/demos 示例页)
git 分支 main(仅 origin/main

2. 应用清单apps/

应用 包名 UI 库 dev 端口 启动命令
web-antd @vben/web-antd Ant Design Vue 5666 pnpm dev:antd
web-antdv-next @vben/web-antdv-next Ant Design Vue Next - pnpm dev:antdv-next
web-ele @vben/web-ele Element Plus - pnpm dev:ele
web-naive @vben/web-naive Naive UI - pnpm dev:naive
web-tdesign @vben/web-tdesign TDesign - pnpm dev:tdesign
backend-mock - Nitro mock 后端 5320 随 dev 自动启动VITE_NITRO_MOCK=true

本业务主应用推测为 web-antd(端口 5666已确认 .env.development

3. 环境要求与本机踩坑记录(重要)

版本要求package.json engines

  • Node ^22.18.0 || ^24.12.0
  • pnpm >=11.0.0packageManager: pnpm@11.16.0

本机Windows已验证的运行方式 —— 直接复制可用

# 前置:把 managed node 22.22.2 放到 PATH 最前(系统 node 23 会因 NODE_OPTIONS 报错)
export PATH="/c/Users/ybtdevxxl/.workbuddy/binaries/node/versions/22.22.2:$PATH"
# 关键:清空 NODE_OPTIONS否则 WorkBuddy 的 safe-delete shim 会拦截 pnpm 的删除操作导致安装失败)
unset NODE_OPTIONS
# 用 corepack 驱动 pnpmPATH 里的 pnpm 挂在系统 node 23 下不可用)
CORE="/c/Users/ybtdevxxl/.workbuddy/binaries/node/versions/22.22.2/corepack.cmd"
"$CORE" pnpm install        # 安装依赖
"$CORE" pnpm dev:antd       # 启动开发服务器

坑 1NODE_OPTIONS 污染

  • 现象:pnpm install[ERROR] [safe-delete] 操作失败 ... Some operations were aborted
  • 原因:环境变量 NODE_OPTIONS=--require=...genie-safe-delete.cjs --use-system-caWorkBuddy 注入);且系统 Node 23 不支持 --use-system-ca,直接跑 PATH 里的 pnpm 会直接退出
  • 解法:unset NODE_OPTIONS + 用 managed node 22.22.2 的 corepack

坑 2Windows 符号链接权限

  • 现象:pnpm installUNKNOWN: unknown error, symlink '.pnpm\postcss@8.5.26\...' -> ...,下载完 1723 包后在 hoist 阶段失败
  • 原因:本机未开「开发者模式/无管理员权限」pnpm 默认 symlink 创建失败
  • 解法:项目 .npmrc 已添加 package-import-method=copy(用拷贝替代符号链接,代价是磁盘占用/安装略慢)

镜像配置(.npmrc

registry=https://registry.npmmirror.com
package-import-method=copy

4. 常用命令

# 依赖
pnpm install          # 装依赖preinstall 会校验必须用 pnpmpostinstall 跑 stub
pnpm reinstall        # 清 lock 重装(= clean --del-lock && install

# 开发
pnpm dev:antd         # 启动 web-antd默认 http://localhost:5666
pnpm dev              # turbo 并行起所有 app

# 构建 / 检查
pnpm build:antd       # 构建 web-antd
pnpm check:type       # 类型检查turbo run typecheck
pnpm lint             # 代码检查
pnpm test:unit        # 单元测试vitest

5. 架构速览Vben Admin 5 monorepo

apps/          应用层web-antd、web-ele、web-naive、web-tdesign、web-antdv-next、backend-mock
internal/      内部工具vite-config、tsconfig、eslint/stylelint/oxlint 配置、tailwind-config、turbo-run
packages/      共享包:@core核心 UI/布局、effects请求/权限/hooks/插件、stores、locales、
               preferences偏好设置、icons、constants、utils、styles、types
  • 主应用源码入口:apps/web-antd/src/
    • 路由:src/router/routes/modules/dashboard.ts / demos.ts / vben.ts
    • 页面:src/views/
    • APIsrc/api/request.ts(封装 requestClient)、src/api/core/
    • 偏好:src/preferences.tsdefineOverridesPreferences,官方默认 + 少量扩展字段)
  • 开发代理:vite.config.ts/apihttp://localhost:5320/apibackend-mockrewrite 去掉 /api 前缀
  • 环境变量:apps/web-antd/.env.developmentVITE_PORT=5666VITE_NITRO_MOCK=trueVITE_GLOB_API_URL=/api
  • 路径别名:#/*./src/*package.json imports

关键开发约定Vben 5 特有)

  • 权限:preferences.tsapp.accessModefrontend/backend/mixed按钮级用 <AccessControl :codes> / hasAccessByRoles / v-access:code
  • API 请求:requestClient.get/post<Type>(url),代理在 vite.config.ts
  • 国际化:$t(),语言包在 packages/locales
  • 主题CSS 变量覆盖(:root { --primary: ... }),偏好里 theme.builtinType/colorPrimary
  • 详细参考:本机已装 vben skillC:\Users\ybtdevxxl\.workbuddy\skills\vben,含 20+ references

6. 操作日志

倒序(最新在上)。每条:日期 / 操作 / 结果 / 备注

2026-08-24首次搭建

  1. 梳理项目:确认为 Vben Admin 5.7.0 官方模板克隆,无业务定制;主应用 web-antd端口 5666
  2. 安装依赖
    • 第 1 次失败NODE_OPTIONS safe-delete shim 拦截 → 解法 unset NODE_OPTIONS
    • 第 2 次失败Windows symlink 权限 → 解法 .npmrcpackage-import-method=copy
    • 最终:pnpm install 成功46 workspace 项目1723 包)
  3. 启动开发服务器pnpm dev:antd → 验证 http://localhost:5666 (状态见下)
  4. 建立本文件 agents.md:项目上下文档案 + 操作日志机制
  5. 建立工作日志.workbuddy/memory/YYYY-MM-DD.md(每日记录,跨账号迁移时连同 agents.md 一起拷贝)

7. 迁移清单(换 WorkBuddy 账号 / 换机器时)

  1. 拷贝整个项目目录(含 node_modules 可不拷,重新 install 即可)
  2. 必拷文件:agents.md(本文件)+ .workbuddy/memory/(历史工作日志)
  3. 本机环境要点(新机器):
    • Node ≥ 22.18pnpm ≥ 11corepack
    • 跑 pnpm 前 unset NODE_OPTIONS
    • Windows 无开发者模式时保持 .npmrcpackage-import-method=copy
  4. 装依赖后先 pnpm dev:antd 验证 5666 端口