docs: 归档 Sense GoAdmin 源码骨架 (#61)

This commit is contained in:
QiuSW
2026-08-14 11:20:18 +08:00
parent 96740834d6
commit b5098ac248
4 changed files with 104 additions and 8 deletions
+4 -4
View File
@@ -2,8 +2,8 @@
generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件)
wiki_page: Architecture-and-Code-Map
wiki_url: https://git.ilapage.cn/ila/yovision/wiki/Architecture-and-Code-Map.-
wiki_revision: 119fb7b2a994d54e4d0a40f7bc2ef6238b162387
synchronized_at: 2026-08-14T01:06:22Z
wiki_revision: 7619efaad2d1e5567ceb9474b8a059c48f34973e
synchronized_at: 2026-08-14T03:13:56Z
<!-- gitea-wiki-mirror:end -->
# 架构与代码地图
@@ -31,7 +31,7 @@ Bell 也可接收合成事件、传感器平台或第三方系统事件;Sense
| 能力 | 路径 | 首个阅读入口 | 验证位置 | 风险 |
|---|---|---|---|---|
| Sense 产品 | `Sense/` | `Sense/AGENTS.md`;待 GoAdmin 派生工单建立 README/入口 | 待新骨架建立 | 高:GoAdmin 派生、设备、媒体、凭据 |
| Sense 产品 | `Sense/` | `Sense/AGENTS.md`、`Sense/README.md`、`Sense/server/main.go`、`Sense/ui/src/main.js` | `Sense/server/` Go 测试;`Sense/ui/` lint/单测/构建 | 高:GoAdmin 派生、设备、媒体、凭据 |
| Brain 推理 | `Brain/` | `Brain/AGENTS.md`;后续包入口 | `Brain/` 内测试与契约测试 | 高:模型、GPU、隐私、事件语义 |
| Bell 产品 | `Bell/` | `Bell/AGENTS.md`;待 GoAdmin 派生工单建立 README/入口 | 待新骨架建立 | 高:GoAdmin 派生、认证、事件与告警状态机 |
| 共享契约 | `contracts/` | `contracts/AGENTS.md` | 三端消费者/生产者测试 | 高:兼容性与跨项目影响 |
@@ -83,7 +83,7 @@ Sense/Brain 生成事件
<!-- sense-runtime:start -->
## Sense 新代码入口
Sense 当前处于重建前的空基线。新入口必须由 GoAdmin 派生工单从冻结 go-admin/go-admin-ui 源码建立,并在来源清单记录上游 commit;不得沿用 `explore` 中自研的 HTTP、认证、RBAC 或前端外壳作为基础框架。
Sense 已由工单 #61 从冻结 go-admin/go-admin-ui 源码建立:后端入口为 `Sense/server/main.go`,前端入口为 `Sense/ui/src/main.js`,来源和完整 commit 记录在 `Sense/LICENSES/SOURCES.md`。后端保留 Cobra、Gin、GORM、Casbin、JWT 和迁移体系,前端保留 Router、Store、API、Layout、动态菜单与权限指令。初始可见模块仅保留用户、角色、菜单和登录/操作审计;上游作业、代码生成、监控等源码暂留用于升级追溯,但路由及用户入口不启用。仓库不提供默认账号、默认密码或可用 JWT 密钥。
<!-- sense-runtime:end -->
<!-- sense-mvp:start -->
+19 -4
View File
@@ -2,8 +2,8 @@
generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件)
wiki_page: Local-Development-and-Verification
wiki_url: https://git.ilapage.cn/ila/yovision/wiki/Local-Development-and-Verification.-
wiki_revision: 1730ec258fb54c1b4be15ce0f6e1a18e44281810
synchronized_at: 2026-08-14T01:06:22Z
wiki_revision: e97ea48e8028118b2dcdf4e5fb0199d2ad7e824e
synchronized_at: 2026-08-14T03:14:04Z
<!-- gitea-wiki-mirror:end -->
# 本地开发与验证
@@ -57,7 +57,7 @@ Sense/Bell 的 Go、Node 与 pnpm 基线已冻结并记录于下文;Brain 的
| 项目 | 构建 | 测试 | 运行 | 当前状态 |
|---|---|---|---|---|
| Sense | 待骨架工单冻结 | 待冻结 | 待冻结 | 未初始化业务代码 |
| Sense | `cd Sense/server; go build ./...`、`cd Sense/ui; corepack pnpm@9.15.1 build:prod` | `go test ./...`、`go vet ./...`、前端 lint/单测 | `sense server -c <仓库外配置>` | GoAdmin 源码骨架已建立;业务模块待后续工单 |
| Brain | 待骨架工单冻结 | 待冻结 | 待冻结 | 未初始化业务代码 |
| Bell | 待 GoAdmin 派生工单建立 | 待建立 | 待建立 | 旧实现仅在 `explore`;新基线未初始化 |
@@ -114,7 +114,22 @@ pnpm --version
<!-- sense-runtime:start -->
## Sense 本地构建与验证
新 Sense 尚未初始化。骨架工单必须先验证冻结 go-admin/go-admin-ui commit 与许可证,再记录从上游继承的构建、迁移、启动和测试命令;不得把 `explore` 的自研命令写成新基线事实。
Sense 后端与前端已由工单 #61 从冻结源码建立。先确认 Go 1.26.5、Node 22.22.1 和 pnpm 9.15.1,再执行:
```powershell
cd Sense/server
go test ./...
go vet ./...
go build ./...
cd ../ui
corepack pnpm@9.15.1 install --frozen-lockfile
corepack pnpm@9.15.1 lint
corepack pnpm@9.15.1 test:unit
corepack pnpm@9.15.1 build:prod
```
数据库固定为 PostgreSQL。复制 `Sense/server/config/settings.yml` 到仓库外,填写连接串和至少 32 个字符的随机 JWT 密钥;仓库模板本身不可直接启动生产服务,也不包含默认管理员。迁移和启动命令分别为 `sense migrate -c <配置路径>` 与 `sense server -c <配置路径>`。详细来源与安全约束见 `Sense/LICENSES/SOURCES.md` 和 `Sense/README.md`.
<!-- sense-runtime:end -->
@@ -0,0 +1,77 @@
<!-- gitea-wiki-mirror:start -->
generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件)
wiki_page: Task-61-Sense冻结GoAdmin源码产品骨架
wiki_url: https://git.ilapage.cn/ila/yovision/wiki/Task-61-Sense%E5%86%BB%E7%BB%93GoAdmin%E6%BA%90%E7%A0%81%E4%BA%A7%E5%93%81%E9%AA%A8%E6%9E%B6.-
wiki_revision: 76b5c16d4dd24230d9254a636288be7d529cee2d
synchronized_at: 2026-08-14T03:20:14Z
<!-- gitea-wiki-mirror:end -->
# 61 Sense 冻结 GoAdmin 源码产品骨架
- 类型:重构
- 所属 Epic:#7
- 所属 MVP / 版本:#8
- 状态:待验收
- 日期:2026-08-14
- Gitea 工单:https://git.ilapage.cn/ila/yovision/issues/61
- Wiki 页面:Task-61-Sense冻结GoAdmin源码产品骨架
- Wiki revision:见本地镜像头
## 背景与目标
原 Sense 自研平台已保留在 `explore`,`dev` 需要从冻结的 go-admin/go-admin-ui 真源码建立新产品骨架,使后续独立任务在统一 GoAdmin 后端、go-admin-ui 前端和 PostgreSQL 基线上实施。
## 最终方案
- 从冻结 go-admin commit `f06540883b41d03782bb6b2c4150f298f328c6b6` 导入后端,从 go-admin-ui commit `67d393d713877572fab0b897296a4c1d525fc81d` 导入前端;go-admin-doc commit `424855aacf6905f3fde860c3331385cb25529a0d` 仅作使用参考。
- 后端模块改为 `git.ilapage.cn/ila/yovision/Sense/server`,保留 Cobra、Gin、GORM、Casbin、JWT 和迁移框架;前端保留 Router、Store、API、Layout、权限指令和 Element Plus 通用组件。
- PostgreSQL 成为唯一启用的数据库驱动。生产启动要求至少 32 个字符的 JWT 密钥和非空数据库连接串,配置输出及数据库初始化日志不回显连接串。
- 删除种子管理员、默认密码、固定 JWT、演示地图密钥和上游个人信息。仓库不提供可登录默认账号。
- 初始可见菜单仅保留用户、角色、菜单、登录日志和操作日志。上游作业及开发工具源码保留用于升级追溯,但后端路由不注册、前端入口隐藏。
- 对象存储外部集成测试改为显式环境开关,默认测试不会访问外部服务。
- 来源、许可证、工具链和本地命令记录在 `Sense/LICENSES/SOURCES.md` 与 `Sense/README.md`。
## 修改文件
- `Sense/server/`:冻结 GoAdmin 后端源码、Sense 模块路径、安全配置、迁移与测试收敛。
- `Sense/ui/`:冻结 go-admin-ui 源码、Sense 品牌、空登录表单和 Windows 可执行构建脚本。
- `Sense/LICENSES/SOURCES.md`:完整上游 URL、commit、导入排除和许可证位置。
- `Sense/README.md`:工具链、构建、测试和安全配置入口。
- `docs/02-architecture-and-code-map.md`、`docs/04-local-development-and-verification.md`:由 Wiki 更新后导出的只读镜像。
## 验收结果
| 验收标准 | 结果 |
|---|---|
| 确实从冻结 GoAdmin/go-admin-ui 源码派生并保留许可证与完整来源 | 通过 |
| 保留 GoAdmin 后端分层及 go-admin-ui Router/Store/API/Layout/权限能力 | 通过 |
| Go 1.26.5、Node 22.22.1、pnpm 9.15.1 可复现构建 | 通过 |
| PostgreSQL 迁移、启动、健康检查、登录与管理员 RBAC 烟测 | 通过 |
| 无默认账号、默认密码、固定 JWT 或配置/日志凭据泄露 | 通过 |
| 无关作业/开发工具路由与菜单入口不启用 | 通过 |
| 未从 `explore` 复制旧自研平台实现 | 通过 |
## 测试
- `go version` / `go env GOVERSION GOTOOLCHAIN`:实际 Go 1.26.5,toolchain auto。
- `go test ./...`:通过;对象存储外部集成用例在未显式授权时安全跳过。
- `go vet ./...`:通过。
- `go build ./...`:通过。
- `corepack pnpm@9.15.1 install --frozen-lockfile`:通过。
- `corepack pnpm@9.15.1 lint`:通过,0 error、30 条上游 warning。
- `corepack pnpm@9.15.1 test:unit`:7 suites、29 tests 全通过。
- `corepack pnpm@9.15.1 build:prod`:通过;保留 6 条上游兼容/体积 warning。
- 临时 PostgreSQL 17 集群:2 个迁移版本成功,种子用户数 0,无关可见菜单数 0。
- 临时动态管理员烟测:登录、`getinfo`、admin 权限、菜单可见性通过;作业路由返回 404。
- 生产模式烟测:`/info` 返回 200;启动日志与 `config` 输出未出现数据库连接串。
- 安全扫描:固定默认密码 0、旧模块导入 0、默认用户 INSERT 0。
- **未验证部分**:尚未在真实生产 PostgreSQL、反向代理和浏览器人工 UI 中验证;这些不影响本工单源码骨架与本地可复现验收,后续部署/UI 工单继续覆盖。
## 遗留问题
- 前端冻结上游仍有 lint/build warning,未在本骨架工单中扩大范围清理。
- 管理员安全初始化、具体 Sense 业务菜单与页面由 #64 及后续独立工单实现。
## 相关提交
- `9674083` feat: 从冻结 GoAdmin 源码重建 Sense 骨架 (#61)
+4
View File
@@ -99,6 +99,10 @@
{
"page": "Task-32-Sense网管与非技术人员原型",
"path": "docs/task/32-Sense网管与非技术人员原型.md"
},
{
"page": "Task-61-Sense冻结GoAdmin源码产品骨架",
"path": "docs/task/61-Sense冻结GoAdmin源码产品骨架.md"
}
]
}