From dfc7a354ad94ebd58917399a21a42e7e9a82e54f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=8F=E7=8A=80=E9=BA=9F?= Date: Wed, 26 Aug 2026 19:04:11 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E5=88=9D=E5=A7=8B=E5=8C=96=20workbudd?= =?UTF-8?q?y.xpcool.com=20=E5=B7=A5=E4=BD=9C=E7=A9=BA=E9=97=B4=E4=BB=93?= =?UTF-8?q?=E5=BA=93=EF=BC=88=E7=BB=9F=E4=B8=80=E8=A7=84=E5=88=99+?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=B4=A2=E5=BC=95+=E6=97=A5=E5=BF=97?= =?UTF-8?q?=EF=BC=8C=E7=9B=B8=E5=AF=B9=E8=B7=AF=E5=BE=84=E5=B8=83=E5=B1=80?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .workbuddy/memory/2026-08-26.md | 16 +++++++++ .workbuddy/memory/MEMORY.md | 44 ++++++++++++++++++++++++ README.md | 61 +++++++++++++++++++++++++++++++++ 3 files changed, 121 insertions(+) create mode 100644 .workbuddy/memory/2026-08-26.md create mode 100644 .workbuddy/memory/MEMORY.md create mode 100644 README.md diff --git a/.workbuddy/memory/2026-08-26.md b/.workbuddy/memory/2026-08-26.md new file mode 100644 index 0000000..30289dc --- /dev/null +++ b/.workbuddy/memory/2026-08-26.md @@ -0,0 +1,16 @@ +# 2026-08-26 + +- CFG | 工作空间迁移:从 C:\Users\ybtdevxxl\WorkBuddy\xpcool.com 迁至 E:\xxcool\project\workbuddy.xpcool.com(git 管理),索引改相对路径约定,布局为「项目与工作空间同级」。 +- CHG | 建立 xpcool.com 工作空间统一规则与项目索引架构(见 MEMORY.md)。 +- CHG | service.xpcool.com 全量规范化:遗留 /v1 URL 移除、全部接口改 POST(CRUD 改动作式路径)、DB 权限映射同步、全项目英文注释转中文(含 CLI 生成模板);路由回归 29 条全 POST 一致。 +- CHG | 统一 API 前缀 /api/service/(admin/user/open 三端)+ 服务端口 10100(dev/prod/test 同步);DB 权限映射与前端 vite 代理/api 文件同步适配;全链路 curl 回归通过。 +- CFG | 在 admin/service/tool.xpcool.com 的 .workbuddy/memory/ 下初始化 CHANGELOG.md,落实"变更在各自项目记录"。 +- 规则要点:中文注释、每次变更做记录、中文优先输出;记录倒序 + 类型标签,省 token 且快速命中。 +- CHG | 将三铁律同步进 admin/service/tool 三个项目的 AGENTS.md(新增「统一工作约定」小节,指向中央 MEMORY.md 与各项目 CHANGELOG.md)。 +- REQ/CHG | 设计并联调后台登录接口:核查 service(GoFrame) 与 admin(Vben) 登录链路,确认路由/响应/代理已对齐;补全 admin 端 Refresh/Logout 端点(service CHANGELOG 有记);待用户提供 MySQL DSN+JWT_SECRET 后执行迁移+种子+起服务+curl 全链路联调。 +- CHG | service.xpcool.com 目录重构:API 层资源目录化 + service 层严格镜像 API 多级结构(internal/service/admin/system/auth/auth.go 式),路由回归一致;期间发现 api/hello、common/tools 意外处于 git 删除状态,已从 HEAD 恢复(非重构所致)。 +- CHG | 用户确认模板删除:api/hello、api/open、common/tools、controller/hello、controller/open 全删;API 目录去掉 v1 层(api/admin/system/auth/auth.go 式),URL 前缀保持 /admin/v1。 +- CFG | service.xpcool.com 新建 .env.dev(DB_DSN mysql:root:root123@.../service_xpcool_com + JWT_SECRET),.gitignore 加 .env*。 +- REQ | 后台登录接口联调完成:login→info→codes→menu/routes→RBAC→refresh(单次)→logout 全通;修复 admin refresh 单次使用漏洞(RowsAffected 校验)。 +- CHG | login 资源归位 admin/admin/login(包名 admin_admin_login 下划线拼接式);恢复 api/open 并规范化(去 v1);前端依赖由用户自行处理。 +- CHG | 区分系统日志与服务器日志:审计服务归位 admin/system/log(package admin_system_log)+ 新增 GET /admin/v1/system/log 查询;修复审计 JSON 列落库失败。 diff --git a/.workbuddy/memory/MEMORY.md b/.workbuddy/memory/MEMORY.md new file mode 100644 index 0000000..53eba30 --- /dev/null +++ b/.workbuddy/memory/MEMORY.md @@ -0,0 +1,44 @@ +# xpcool.com 工作空间 · 统一规则与项目索引 + +> 本文件随会话自动加载。保持精简:只放规则与索引,详细历史在各项目 CHANGELOG。 + +## 三条铁律(全项目通用) +1. 中文注释:写/改代码时,在应有处(函数、复杂逻辑、配置项、非显然分支)加中文注释。 +2. 做记录:每次请求/变更/修复/文档动作,都在对应项目 CHANGELOG.md 顶部追加一条。 +3. 中文优先:与用户的思考、输出、交流,能中文尽量中文。 + +## 工作空间说明(git 管理 · 跨设备同步) +- 本工作空间仓库:`workbuddy.xpcool.com`(含本规则、每日日志、README),远程:`https://git.xpcool.com/xpcool/workbuddy.xpcool.com.git` +- **布局约定(跨设备必须一致)**:所有项目与工作空间仓库位于同一父目录下: + ``` + <父目录>/ + ├── workbuddy.xpcool.com/ ← 本工作空间(规则+索引+日志) + ├── admin.xpcool.com/ + ├── service.xpcool.com/ + └── tool.xpcool.com/ + ``` + 换设备时按此布局 clone,索引即全部生效,无需改任何路径。 + +## 项目索引(变更记录在各项目 .workbuddy/memory/CHANGELOG.md) +| 项目 | 类型 | 相对路径(相对本工作空间) | 远程仓库 | +|------|------|--------------------------|---------| +| admin.xpcool.com | Vue 管理后台前端 | ../admin.xpcool.com/.workbuddy/memory/CHANGELOG.md | https://git.xpcool.com/xpcool/admin.xpcool.com.git | +| service.xpcool.com | Go 后端服务 | ../service.xpcool.com/.workbuddy/memory/CHANGELOG.md | https://git.xpcool.com/xpcool/service.xpcool.com.git | +| tool.xpcool.com | 前端工具站 | ../tool.xpcool.com/.workbuddy/memory/CHANGELOG.md | https://git.xpcool.com/xpcool/tool.xpcool.com.git | +(新增项目:在此加一行 + 在其 .workbuddy/memory/ 建 CHANGELOG.md + git.xpcool.com 建仓库) + +## 记录格式(省 token · 快速命中) +- 倒序:最新在上,一行一条 +- 模板:`YYYY-MM-DD | 类型 | 一句话摘要` +- 类型:REQ 请求 / CHG 变更 / FIX 修复 / DOC 文档 / CFG 配置 / DEP 依赖 +- 示例:`2026-08-26 | CHG | 新增用户列表分页接口并补中文注释` + +## 命中流程 +1. 判断是否涉及某项目(看项目名/路径)。 +2. 读该项目 CHANGELOG.md 头部(最新 10–15 条)了解近况。 +3. 处理后于 CHANGELOG 顶部追加本次记录。 +4. 新增项目时同步更新上方索引表。 + +## 日常同步习惯(建议) +- 每次工作结束:在各改动项目 `git add + commit + push`,本工作空间同样提交(规则/日志变化时)。 +- 换设备开工前:先 `git pull` 各仓库,保证规则与记录最新。 diff --git a/README.md b/README.md new file mode 100644 index 0000000..6a57f7c --- /dev/null +++ b/README.md @@ -0,0 +1,61 @@ +# workbuddy.xpcool.com 工作空间仓库 + +xpcool.com 系列项目的**中央工作空间**:统一规则、项目索引与每日日志,用 git 管理以便跨设备同步。 + +## 这是什么 + +本仓库不是业务代码,而是 WorkBuddy 工作空间的"大脑"——每次会话自动加载的规则与项目索引都在这: + +``` +workbuddy.xpcool.com/ +├── README.md ← 本文件 +└── .workbuddy/memory/ + ├── MEMORY.md ← 三条铁律 + 项目索引(相对路径) + └── YYYY-MM-DD.md ← 中央每日日志(按天累积) +``` + +业务代码在各项目自己的仓库(admin / service / tool.xpcool.com),本仓库只负责**规则与记录**。 + +## 布局约定(跨设备必须一致) + +所有项目与工作空间仓库位于**同一父目录**下: + +``` +<父目录>/ +├── workbuddy.xpcool.com/ ← 本仓库 +├── admin.xpcool.com/ +├── service.xpcool.com/ +└── tool.xpcool.com/ +``` + +换设备 clone 时按此布局摆放,`MEMORY.md` 里的相对路径索引(`../admin.xpcool.com/...`)即可全部生效。 + +## 跨设备使用流程 + +**首次在新设备部署:** +```bash +# 1. 建父目录并 clone 各仓库(保持同级布局) +mkdir xpcool && cd xpcool +git clone https://git.xpcool.com/xpcool/workbuddy.xpcool.com.git +git clone https://git.xpcool.com/xpcool/admin.xpcool.com.git +git clone https://git.xpcool.com/xpcool/service.xpcool.com.git +git clone https://git.xpcool.com/xpcool/tool.xpcool.com.git +``` + +**日常同步(每次工作结束):** +```bash +# 各项目 + 本工作空间分别提交推送 +cd <项目> && git add -A && git commit -m "..." && git push +cd ../workbuddy.xpcool.com && git add -A && git commit -m "..." && git push +``` + +**换设备开工前:** +```bash +cd xpcool && for d in */; do (cd "$d" && git pull); done +``` + +## 新增项目 + +1. 在 `git.xpcool.com` 建仓库 `xxx.xpcool.com` +2. 在 `MEMORY.md` 索引表加一行(相对路径 + 远程地址) +3. 在其 `.workbuddy/memory/` 建 `CHANGELOG.md`