feat(memory): 新增项目记忆库技能(.claude/skills/memory + .claude/memory)

- 主 skill SKILL.md:简明,指向 总约束/长期/短期/当前计划 与各端口记忆;定义强制工作流(读记忆→校验基线→改动→校验→提交→更新记忆)与 path:line 行号锚点规范。
- 总约束 MASTER.md:全局规则、仓库纪律、git 约定、进程铁律、记忆纪律。
- 计划三层:LONG-TERM(阶段0-5)/SHORT-TERM(当前迭代)/CURRENT(进行中)。
- 各端口记忆 ports/*.md:root/server-core/agent-desktop/park-desktop/compute-engine/training/web-official/admin-portal 的进度/已实现/已知问题/锚点。
- 各项目约束 projects/*.md(子skill):仓库/强制流程/关键路径/行号规范。
- CLAUDE.md 增补第 11 条:每次开发/改动必须调用 /memory 并提交+更新记忆。
- .gitignore 排除 .claude/settings.local.json。
This commit is contained in:
Pine
2026-08-24 13:03:04 +08:00
parent e4fa481e17
commit 9cbf4b4a8b
24 changed files with 619 additions and 0 deletions
+36
View File
@@ -0,0 +1,36 @@
# admin-portal 记忆
## 角色
云超服**运营管理平台**(新,独立仓库 `Pine/admin-portal`)。React18 + TS(strict) + Vite6 + Tailwind4 + **shadcn/ui**(依 `design/installation.md`)。接入 server-core(`/auth`、`/admin/*`)。
## 进度 / 现状(2026-08-24,脚手架+骨架完成,`npm run build` 通过)
### 结构(锚点)
| 文件 | 说明 |
|------|------|
| `package.json` / `vite.config.ts` / `tsconfig*.json` / `components.json` / `index.html` | 脚手架(vite 代理 /auth /admin → :8090) |
| `src/index.css` | Tailwind4 主题(亮/暗变量,`--mascot-accent`) |
| `src/lib/utils.ts` | `cn()` |
| `src/components/ui/*` | shadcn 组件(radix-ui 单片 + lucide + cva) |
| `src/lib/auth.tsx` | 认证上下文(localStorage) |
| `src/lib/rbac.tsx` | 八端口导航过滤 + 权限 |
| `src/api/client.ts` | fetch + token + 401 登出 |
| `src/api/resources.ts` | 用户/课程/活动/报名/测评/算力/园区 |
| `src/components/layout/AppShell.tsx` | 侧边栏+顶栏+身份切换 |
| `src/App.tsx` | `RequireAuth` + `RoleRoute`(operator/carrier) |
| `src/pages/{login,overview,users,courses,activities,bookings,tests,compute,park}` | 登录+总览+7 管理页 |
## 已知问题 / 待办
- 部分 `/admin/*`(courses/activities/bookings/tests/park)server-core **未实现**,页面已优雅降级(提示「暂未接入」),需阶段2 供电。
- 算力页 `ping/provision` 已对应 server-core 阶段0-1,可直接联调。
- 仓库尚未 git init / 注册远端 / 提交。
- esbuild 首次构建有 allow-scripts 提示(构建已验证可用)。
## 下一步
- 用户验收(`npm run dev` + 登录)。
- 初始化独立仓库 + 首提交。
- 阶段2 后端端点补齐后接入真数据。
+21
View File
@@ -0,0 +1,21 @@
# agent-desktop 记忆
## 角色
智能体桌面应用(原 PineAgents;Agent OS + console + Tauri 壳)。console 亦为平台 admin 管理端(现由 admin-portal 承接)。独立仓库 `Pine/PineAgents`。
## 现状(2026-08-24)
- 后端运行时 `src/pineagents/`(agents/runtime/governance/sandbox/memory);`app/routers/auth.py` 转发到 server-core(`PINEAGENTS_DEMO_BASE_URL`,`constant.py:168` 默认 `http://192.168.1.9:8090`,**设计期望 127.0.0.1**)。
- console(`console/src/`):`pages/Operator/*`(admin管理)、`pages/portal/*`(8端口)、`Login`(密码+select-identity)、`auth/guards.tsx`(RequireRole)。API 手写 fetch,无 OpenAPI 生成;品牌 storage key 仍 `qwenpaw_*`(未收敛)。
## 待办
- `DEMO_BASE_URL` 默认改 `127.0.0.1:8090`(对齐设计)。
- 品牌 `qwenpaw_*` → 云超服品牌收敛。
- admin 管理功能逐步移交 admin-portal。
- 桌面端模型调用经 server-core → compute-engine 计量(依赖阶段0-1,已就绪)。
## 下一步
登录/品牌收敛;与 admin-portal 职能切分。当前无改动。
+26
View File
@@ -0,0 +1,26 @@
# compute-engine 记忆
## 角色
算力引擎微服务(new-api 的 fork,Go):OpenAI 兼容 `/v1` 模型中继 + 额度/令牌/token 流水。**仅服务,管理/页面自研**(其自带 web 面板不使用)。独立仓库 `Pine/compute-engine`。
## 现状(2026-08-24)
- 结构:`main.go`(~/360 行) / `relay/` / `controller/` / `model/` / `router/api-router.go` / `common/` / `web/`。
- 端口 :3000(docker-compose `3000:3000`,`calciumion/new-api:latest`)。
- 内置 web UI 已由二进制嵌入(`main.go:42` embed `web/dist`,`main.go:198` 注册),但云超服意图不使用。
## 对接(server-core → compute-engine)
- 链路「规划中」已部分落地:server-core `app/services/compute_client.py` 封装修建号/发 PAT/余额/流水(loopback `http://127.0.0.1:3000`);`relay.py` 上游可改走本引擎 `/v1`(配置 `PINEAGENTS_COMPUTE_ADMIN_TOKEN` 时)。
- **关键待核对**:`compute_client.py` 默认管理路径(`/api/user`建号、`/api/token`发PAT)需按 `controller/user.go`、`router/api-router.go` admin 段实测。
- DeepSeek key 在 server-core(`app/config.py`)而非此处;渠道应迁至本引擎 `/api/channel`(阶段中)。
## 关键文件 / 锚点
- `router/api-router.go`(admin/self/log/data 路由)、`controller/user.go`、`controller/log.go`、`controller/billing.go`。
- 用户侧:`/api/user/self`(GetSelf)、`/api/user/token`(GenerateAccessToken)、`/api/log/self(/stat)`、`/api/data/self`、`/api/dashboard/billing/usage`。
## 下一步
- 实测核对管理路由;AddChannel 渠道与初始管理员;供 server-core 联调(引擎由用户先启动)。
+24
View File
@@ -0,0 +1,24 @@
# park-desktop(dpm 大屏)记忆
## 角色
园区大屏桌面应用(Tauri2 + React + FastAPI :10085 + MQTT/SSE)。多园区通用(目标态);现状**单园区(昆明大学生创业园)演示**。
## 现状(2026-08-24)
- 数据 100% 来自 `backend/app/sim_engine.py`(静态常量 + 随机 TOKEN 演示);`/wall` 企业墙前端硬编码(`src/pages/CompanyWall.jsx`)。
- 无 `data_source.py`、无园区登录→org_id 隔离、不连 server-core / compute-engine。
- 后端:`app/routers.py`(REST) / `sim_engine.py` / `storage.py` / `mqtt.py` / `llm.py`/`rag.py`/`asr.py`/`s2s_bridge.py`/`vision_yolo.py` / `admin.py`(Jinja)。
- 前端路由 `/ /twin /ai /screen /voice /wall`;`/admin` 为 Jinja(非 React);`useParkSim` 在 `src/utils/parkData.js:209`。
## 差距(阶段 4)
- 多租户化:园区账号(carrier)登录→org_id 隔离;`data_source.py` 接 server-core `/api/park/*` + compute-engine 聚合,替换 sim_engine 模拟;`/wall` 改接口。
## 关键文件 / 锚点
- `backend/app/sim_engine.py:13`(REAL 硬编码)、`backend/app/routers.py:322`(snapshot)、`src/pages/CompanyWall.jsx:15`(WALL 数组)。
## 下一步
阶段 4:dpm 多租户化 + 真实数据(依赖 server-core 园区数据域 + 算力链路)。当前无改动。
+23
View File
@@ -0,0 +1,23 @@
# 根仓库 / 工作区记忆
## 进度 / 现状(2026-08-24)
- 工作区按《CLAUDE.md》规范名定版:`code/` 下 `agent-desktop · server-core · web-official · park-desktop · compute-engine · training · admin-portal`。
- `.gitignore` 已覆盖全部独立仓库目录与本地配置。
- 设计/资料在 `design/`、`materials/`。
## 已完成
- 迁移:旧名仓库全部改名/克隆为规范名并同步最新(见各端口记忆)。
- 删除:`code/bark-notify`(临时,排除)、`code/training/server` 遗留(后端并入 server-core,服务器 `server/` 运行遗留已清理)。
## 关键文件 / 锚点
- `CLAUDE.md`:目录规范、进程铁律、git 约定。
- `code/README.md`:code 子项目索引。
- `design/installation.md`:shadcn 规范(admin-portal 依此)。
- 根主设计:`云超服一体化架构设计方案.md`。
## 已知问题 / 待办
- 无 `dispatcher.py`/`app/training` 的落差待阶段2重构入口。
+42
View File
@@ -0,0 +1,42 @@
# server-core 记忆
## 角色
核心服务端(FastAPI):身份/平台 API + 培训子应用(目标态),对外 `opc.pinesound.cn`。统一入口 `dispatcher.py`(**尚未实现,现状为扁平 `app/main.py`**)。
## 进度 / 现状(阶段0-1 已完成)
- 八端口 RBAC / select-identity / token 吊销 / require_port 完整(最成熟部分)。
- **阶段0-1 新增**:统一登录(手机/微信)+ 算力打通 + 契约。
### 本次改动文件(锚点)
| 文件 | 说明 | 锚点 |
|------|------|------|
| `app/config.py` | +算力/短信/微信配置 | `app/config.py` (COMPUTE_BASE_URL 等) |
| `app/models.py` | `User` 补 `wx_openid/phone` | `app/models.py` User |
| `app/repositories.py` | create 支持 wx/phone;+set_wx_openid/set_phone | `app/repositories.py` UserRepository |
| `app/services/sms.py` | 验证码(stub 默认) | 新增 |
| `app/services/wechat.py` | code2session(空 appid 直通) | 新增 |
| `app/services/compute_client.py` | new-api 客户端 | 新增 |
| `app/schemas/*.py` | 登录/算力 Pydantic | 新增 |
| `app/routers/auth.py` | +send-code/phone-login/wx-login/wx-phone | `app/routers/auth.py` |
| `app/routers/relay.py` | 上游改走 compute-engine(可回退 deepseek) | `app/routers/relay.py` |
| `app/routers/rbac_operator.py` | +compute/ping、compute/provision | `app/routers/rbac_operator.py` |
## 已实现(功能)
- 登录:`/auth/login`(密码)、`/auth/send-code`、`/auth/phone-login`、`/auth/wx-login`、`/auth/wx-phone`;多身份 `select-identity`。
- 算力:`/admin/compute/ping`、`/admin/compute/provision`;`compute_client` 封装 create_user/issue_pat/get_balance/get_month_usage/get_logs(路径为默认值,待实测核对)。
- 契约:`app/schemas/`,新端点带 `response_model`;OpenAPI 111 路径。
## 已知问题 / 待办
- 8 个 RBAC 既有失败测试(`test_rbac.py`/`test_operator_rbac.py`/`test_pine_universal.py`),**非本次引入**,待排查。
- 无 `app/training`、无 `data/opc.db`(阶段2 建)。
- compute_client 管理路由路径需按 compute-engine `controller/user.go` 实测。
- 单测:`tests/test_phone_wx_login.py`、`tests/test_compute_client.py`(均过)。
## 下一步(阶段 2)
courses/activities/bookings/tests 建表 + `/admin/*` 端点 + `/opc/*` 业务端点。
+20
View File
@@ -0,0 +1,20 @@
# training 记忆
## 角色
培训前端(`miniprogram/` Taro 小程序 + `website/` Vite React;`server/` 后端已并入 server-core,本地原 server 遗留已清理)。独立仓库 `Pine/training`。
## 现状(2026-08-24)
- `miniprogram/` 页面:首页/活动报名/测评/政策/我的;登录为 手机+微信(`src/utils/api.js:7` → `https://opc.pinesound.cn`)。
- `website/`:`src/user/`(C端)、`src/platform/`(管理/报表,**尚未迁入 console/admin-portal,阶段2**)、`src/data/`(静态内容 courses/tests/policy)、`server/mock-api.mjs`(mock 后端)。
- **关键**:bookings/events/tests/ops 端点 server-core **未实现**,当前只靠 mock server;「后端已并入 server-core」尚未真正落地。
## 差距(阶段 1-2)
- 登录归一(手机/微信)、API_BASE 收敛。
- platform 管理迁入 admin-portal(阶段2);后端接真数据。
## 下一步
阶段 1-2:依赖 server-core 补 phone-login/wx-login(已提供)与业务端点(未提供)后接入。
+20
View File
@@ -0,0 +1,20 @@
# web-official 记忆
## 角色
官网展示端(Vite+React SPA,Vite6+React18+TS+Tailwind4+shadcn「radix-nova」,组件经 `radix-ui`+shadcn 包)。独立仓库 `Pine/PineAgentsWeb`。公开展示(产品/政策/招生/案例),纯静态 + 可选登录。
## 现状(2026-08-24)
- 路由(`src/App.tsx:74-86`):`/` Home、`/downloads`、`/blog`、`/docs`、`/release-notes`。
- 无 政策/招生/案例 页(缺失)。
- `src/config.ts:26` 读 `site.config.json`;仅 blog 统计可选接 Supabase;无登录、无业务后端。
- 仍为 QwenPaw 品牌(未改云超服)。
## shadcn 约定(供 admin-portal 参照)
- `components.json`(style radix-nova)、`@tailwindcss/vite`、Tailwind4、`src/lib/utils.ts(cn)`、依赖 `radix-ui`/cva/clsx/tailwind-merge/tw-animate-css;`ui/` 目录空(用 shadcn 包)。
## 下一步(如需)
补政策/招生/案例页;品牌收敛;可选登录。当前无改动。