[SEN] 在 GoAdmin 基线上重建设备台账与凭据边界 #65
Closed
opened 2026-08-14 10:26:39 +08:00 by ila
·
4 comments
No Branch/Tag Specified
dev
feat/183-bell-contact-schedule
docs/171-coordination-e2e-wiki
feature/155-coordination-e2e
docs/168-sync-coordination-wiki
feature/154-coordination-deployment
docs/152-153-connectors
feature/153-event-evidence-connector
feature/152-brain-control
docs/151-machine-identity-acceptance
task/151-machine-identity
docs/150-contract-acceptance
docs/148-149-contract-acceptance
feature/149-runtime-status-contract
feature/150-event-evidence-contract
feature/148-source-config-contract
docs/8-mvp-acceptance
feature/145-sense-e2e-isolation-cleanup
feature/134-bell-independent-e2e
feature/142-bell-ui-shell-startup
feature/140-bell-minimal-admin-menu
feature/138-bell-production-captcha
feature/133-bell-alert-lifecycle
feature/132-bell-rule-alert
feature/131-bell-event-receipt
feature/16-brain-local-events
feature/15-brain-rules
feature/14-brain-vision
feature/13-brain-decode
feature/11-brain-input
main
feat/sense-79-ops-alerts
feat/sense-78-outbox
feat/77-sense-media-shards
feat/76-sense-edge-node-status
feat/75-sense-quota-capacity
feature/74-sense-operations
feature/73-sense-local-events
feature/72-sense-bulk-provisioning
feature/113-record-parallel-acceptance
feature/113-sync-parallel-implementation-docs
feature/71-sense-e2e-regression
feature/62-bell-goadmin-skeleton
feature/10-brain-python-cuda-skeleton
feature/108-sync-devharness
feature/90-sense-root-launcher
feature/106-supervisor-sense
fix/101-sense-layout-shell
feature/104-sense-login-30-days
docs/99-acceptance
feature/99-sense-app-config
feature/70-sense-windows-delivery
fix/95-sense-media-path-constraint
feature/97-sense-password-login
docs/92-acceptance
fix/92-sense-capabilities-jsonb
docs/69-acceptance
feature/69-sense-area
feature/68-sense-liveview
feature/67-sense-mediamtx-reconcile
feature/66-sense-onvif-admission
feature/65-sense-device-credential
feature/64-sense-auth-rbac-audit
feature/61-sense-goadmin-source-baseline
docs/acceptance-batch-20260814
coordination/58-finalize-branch-governance
explore
agent/codex/56-sense-device-edit-payload
agent/codex/54-sense-liveview-on-demand
agent/codex/51-sense-auto-liveview
agent/codex/50-sense-split-camera-credentials
agent/codex/48-sense-onvif-digest
agent/codex/46-sense-env-loader
agent/codex/44-sense-empty-navigation
agent/codex/42-sense-password-length-only
agent/codex/40-sense-password-min-6
agent/codex/37-sense-windows-package
agent/codex/36-bell-docs
agent/codex/9-bell-mvp
agent/codex/21-sense-mvp
agent/codex/28-current-prototypes
agent/codex/5-goadmin-baseline
agent/codex/3-go-admin-ui-reuse
agent/codex/1-collaboration-rules
No results found.
Milestone
No items
No Milestone
Projects
Clear projects
No projects
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: ila/yovision#65
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
状态
已完成
基本信息
原始需求与追溯
explore只用于业务、测试和故障证据,不复制自研基础框架。目标
以 Device 为根实体重建设备台账,表达 modality/capabilities,并建立摄像头凭据只写不读、分用途隔离和审计边界。
做什么
实现设备列表、新建、编辑、停用、版本并发控制和能力状态;首期完整支持 video,未实现适配器显示 adapter_not_ready;凭据加密存储、更新触发重试且不回显。
不做什么
不连接 ONVIF/RTSP;不创建媒体路径;不在 URL、日志、响应、工单或测试夹具中保存真实凭据;不共享用户或数据库模型。
GoAdmin 复用与文档门禁
models.md、dto.md、service.md、db.md、api.md,以及 go-admin-ui 表格、表单、Dialog、权限按钮实现。写路径
Sense/server/app/sense/device/**Sense/server/app/sense/credential/**Sense/server/cmd/migrate/migration/version/*device*Sense/server/cmd/migrate/migration/version/*credential*Sense/server/app/admin/router/sense_device.goSense/server/common/middleware/logger.goSense/server/common/middleware/logger_test.goSense/server/config/credential.env.exampleSense/README.mdSense/ui/src/views/sense/device/**Sense/ui/src/api/sense/device*Sense/ui/src/components/sense/credential/**Sense/server/app/sense/device/**/*_test.goSense/server/app/sense/credential/**/*_test.goSense/ui/tests/unit/sense/device*.spec.js禁止写入:
Brain/**、Bell/**、contracts/**、根级部署配置、docs/**、wiki-docs.json。如实现发现必须修改这些路径,停止并转协同工单。文档影响
更新设备模型、能力语义、凭据边界、字段白名单和管理员操作入口。
长期文档先更新 Gitea Wiki;本地
docs/镜像由单一协调工单同步,避免共享路径冲突。验收标准
验证方式
风险与回退
凭据泄漏和并发覆盖属于高风险。仅使用合成秘密测试;回退迁移和任务分支,不接触生产设备数据。
协同需求摘要
本工单不建立跨项目契约。发现 Sense→Brain 源/区域配置或 Sense/Brain→Bell 事件/证据需求时,只记录生产者、消费者、目的与建议验证,不取得共享写路径。
实施结果(2026-08-14)
be091f0;长期文档提交:d31c35f;待验收归档提交:f7eab5d。dev,merge commit5856b76de993f074a2480a16d85ba578e7209b0e;未合入main。Task-65-Sense设备台账与凭据边界,验收 revision9864d7fece44ca2e88ee8c3661101e3d6f74b030;镜像提交3e859c3。人工验收
实施开始(2026-08-14)
feature/65-sense-device-credentialdev。Sense/server/cmd/migrate/migration/version/;业务路由需通过Sense/server/app/admin/router/sense_device.go接入既有 JWT/Casbin/操作审计链;测试沿源码包与现有 Jest 目录放置。上述精确路径已更新到工单,不改变目标、数据边界或验收标准。models.md、dto.md、service.md、db.md、api.md,采用 Model/DTO 白名单/Service/GORM/API 分层与 PostgreSQL 迁移方式。src/views/admin/sys-post/index.vue、src/api/admin/sys-post.js、src/store/modules/permission.js及v-permisaction测试,复用 BasicLayout、搜索表单、表格、分页、Dialog、Tag、权限按钮、Axios 与动态菜单。explore仅提取 Device/modality/capabilities、中文字段、乐观并发、ONVIF/RTSP 凭据分用途、只写不读和 payload 白名单验收语义;不复制旧 HTTP、身份、数据库或前端外壳。下一步按更新后的单一写路径实施。
安全范围补充:现有通用操作审计会读取 JSON 正文,虽已隐藏
password,但不会隐藏onvifUsername/rtspUsername等复合凭据字段。为满足“摄像头凭据不进日志”,将仅扩充common/middleware/logger.go的敏感字段白名单及对应测试;不改变非凭据路由行为。该精确路径已加入工单。待验收证据
go test ./...、go vet ./...、go build ./...全部通过。sync_wiki_docs.py --check通过。be091f0、d31c35f、f7eab5d;PR #83:#83当前保持“待验收”且工单不关闭。用户验收后再合入
dev、关闭工单并同步 #8/#7;不会合入main。用户已于 2026-08-14 明确验收通过。PR #83 已合入
dev,merge commit5856b76de993f074a2480a16d85ba578e7209b0e;验收归档 Wiki revision9864d7fece44,镜像提交3e859c3。工单关闭,未合入main。