97 Commits

Author SHA1 Message Date
pmc
ddc7360f60 docs(01): 从用户内联约束生成 Phase 1 CONTEXT.md(PRD 快速通道) 2026-05-07 16:57:31 +08:00
pmc
47d24a46ef docs(qy-lty-admin): 生成 Milestone v1.0 ROADMAP(3 个 phase)
3 个串行 phase(粒度 coarse,Option B 拆分):
1. 凭据槽位 API 客户端(CRED-FE-01)— 纯逻辑层,无 UI hint
2. RBAC 收敛 + AI 模型页入口(CRED-FE-02, CRED-FE-03)— UI hint yes
3. 编辑对话框 + 提交反馈(CRED-FE-04, CRED-FE-05)— UI hint yes

REQUIREMENTS.md Traceability 段回填 5/5 映射;STATE.md 切到 Phase 1 待启动。
跨项目依赖:本仓库 Phase 3 端到端验收依赖 qy_lty 后端 v1.0 Phase 2 落地(commit 4637998)。
2026-05-07 16:52:59 +08:00
pmc
01634eea9a docs(qy-lty-admin): 定义 Milestone v1.0 需求(CRED-FE-01~05)
通用凭据槽位前端集成 5 项 Active 需求:
- CRED-FE-01 API 客户端 lib/api/credential-slot.ts(GET/PUT + adapter + 类型)
- CRED-FE-02 RBAC 模块声明(lib/permissions.ts 加 credential-slot key,分配给超级管理员 + AI模型管理员)
- CRED-FE-03 /ai-model 页面入口(按钮/卡片,按权限可见)
- CRED-FE-04 编辑对话框(RHF + Zod + 留空保留旧值语义,避免回写脱敏假值)
- CRED-FE-05 提交反馈(Sonner toast 成功 + error-handler 失败处理)

候选优先级段保留为下一周期参考。
2026-05-07 16:47:48 +08:00
pmc
946e7a1a22 docs(qy-lty-admin): 启动 Milestone v1.0 通用凭据槽位前端集成
PROJECT.md 加入「本期 Milestone」段:在 /ai-model 页面集成 APP ID + Access Token
录入对话框,调用 qy_lty 后端 v1.0 锁定的 /api/v1/admin/credential-slot/ GET+PUT。
Active 段列出 CRED-FE-01~05(API 客户端 / RBAC / 入口 / 对话框 / 反馈)。
STATE.md 切换到 v1.0 状态,记录与后端 milestone 的联动依赖。

跨项目联动(互引):qy_lty 同期 commits ab3d728 / 8ae12ca / 4637998 启动后端 v1.0。
2026-05-07 16:47:39 +08:00
pmc
4637998420 docs(qy_lty): 生成 Milestone v1.0 ROADMAP(3 个 phase)
3 个串行 phase(粒度 coarse):
1. 凭据槽位数据层(CRED-01, CRED-02)— DB 单例 + Django Admin
2. 管理端读写接口(CRED-03, CRED-04)— /api/v1/admin/credential-slot/ GET+PUT
3. 客户端读取与日志脱敏(CRED-05, CRED-06)— /api/credential-slot/ 明文 GET + 阿里云日志过滤

REQUIREMENTS.md Traceability 段回填 6/6 映射;STATE.md 切到 Phase 1 待启动状态。
2026-05-07 16:42:37 +08:00
pmc
8ae12ca86c docs(qy_lty): 定义 Milestone v1.0 需求(CRED-01~06)
通用凭据槽位 6 项 Active 需求:
- CRED-01 单例模型 + 迁移(pk=1 强制约束)
- CRED-02 Django Admin 注册(脱敏列表 + 编辑明文 + 隐藏新增)
- CRED-03 管理端 GET(admin token 鉴权,Access Token 末 4 位掩码)
- CRED-04 管理端 PUT(admin token 鉴权,全字段覆写 + get_or_create)
- CRED-05 客户端 GET(user token 鉴权,明文返回供手机/设备端使用)
- CRED-06 阿里云日志过滤(PUT 请求体 + admin GET 响应体两条泄露路径)

候选优先级段保留为下一周期参考。
2026-05-07 16:29:19 +08:00
pmc
ab3d728a08 docs(qy_lty): 启动 Milestone v1.0 通用凭据槽位
PROJECT.md 加入「本期 Milestone」段:全局单例 APP ID + Access Token 凭据存储,
管理端读写 + 客户端读取 + 日志脱敏;前端联动 milestone 在 qy-lty-admin 另起。
STATE.md 切换到 v1.0 状态:当前位置 = 需求定义中(roadmap 待生成)。
2026-05-07 16:29:10 +08:00
pmc
3e8a212e9f fix(admin): 修复 NEXT_PUBLIC_API_BASE_URL 注入时机导致登录 Network Error
All checks were successful
Build and Deploy LTY / build-and-deploy (push) Successful in 8m38s
- qy-lty-admin/Dockerfile: build 阶段加 ARG/ENV,让该变量在 next build 时进客户端 JS 包
- .gitea/workflows/deploy.yaml: admin docker build 加 --build-arg https://${DOMAIN_API}/api;删除已失效的 sed 替换
- k8s/admin-deployment-prod.yaml: 删除运行时无效的 NEXT_PUBLIC_API_BASE_URL env,留注释说明

根因:Next.js NEXT_PUBLIC_* 变量在 next build 时被静态编译进客户端 JS。
原配置在容器运行时才设该变量,对已打包的 fallback 默认值无效,
导致线上前端实际打到 http://localhost:8000/api 触发 ERR_CONNECTION_REFUSED。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-07 15:53:37 +08:00
pmc
cfd8a4923a docs(qy-lty-admin): 初始化 REQUIREMENTS.md(Validated)
把代码库现状拆成带 REQ-ID 的可追溯需求:47 项已交付(AUTH-01~06、PERM-01~05、DASH-01~02、
AI-01、CONT-01~09、SYS-01~03、UPL-01~02、UI-01~06、DEP-01~04),1 项缺口(PERM-06,
后端权限校验闭环未验证)。Active 段留空,附 12 项候选优先级供下一 milestone 参考。
2026-05-07 14:33:02 +08:00
pmc
5d8f81a4a9 docs(qy-lty-admin): 初始化 PROJECT.md + STATE.md
Brownfield 文档化模式 —— 从 .planning/codebase/ 推断 47 项已交付能力(AUTH/PERM/DASH/AI/CONT/SYS/UPL/UI/DEP),
Active 段留空待 /gsd-new-milestone 启动下一周期。
PROJECT.md 沿用 qy_lty 的章节结构(核心价值 / 已交付 / 进行中 / 范围外 / 背景 / 约束 / 关键决策 / 演进规则)。
STATE.md 记录锚定路径与 git 由父 Lila-Server 仓库管理的关键说明。
2026-05-07 14:32:53 +08:00
pmc
2ac4af8a9a chore(qy-lty-admin): 初始化 GSD config.json
镜像 qy_lty 的工作流配置(YOLO + coarse + 并行 + balanced 模型 + 全部 workflow agent 启用),
保持 qy-lty-admin 与 qy_lty 双仓库的 GSD 行为一致。
2026-05-07 14:32:45 +08:00
pmc
a85b6a79a8 docs: 映射 qy-lty-admin 代码库 2026-05-07 10:58:29 +08:00
pmc
7223c52e9f docs: bootstrap GSD workflow with brownfield documentation pass 2026-05-07 10:43:16 +08:00
pmc
64a8cb8f7b docs: map existing codebase 2026-05-07 10:37:16 +08:00
pmc
2d82b2ef7f feat: implement affinity (favorability) system
All checks were successful
Build and Deploy LTY / build-and-deploy (push) Successful in 8m44s
- Add affinity level/setting models and migrations
- Migrate favorability data to UserDevice
- Add management commands for userapp
- Add admin CLAUDE.md and docs
- Update affinity system design doc and task checklist
- Update device_interaction and userapp models

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 17:18:30 +08:00
pmc
a13a081105 feat: update device interaction views and modification log doc
All checks were successful
Build and Deploy LTY / build-and-deploy (push) Successful in 9m16s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-29 17:14:51 +08:00
zyc
6c1cfde379 chore: trigger CI build
All checks were successful
Build and Deploy LTY / build-and-deploy (push) Successful in 9m8s
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 13:24:46 +08:00
pmc
ba16766ca3 chore: trigger CI build
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-29 13:09:14 +08:00
pmc
df85773007 chore: trigger CI build
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-29 12:00:11 +08:00
pmc
c1722413ad feat: update AI app, device interaction, and docs
- Update aiapp views
- Update device_interaction consumers and views
- Update docs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-29 11:55:42 +08:00
pmc
0330124b19 fix: pass through paragraph=true empty-text terminator in subv handler
All checks were successful
Build and Deploy LTY / build-and-deploy (push) Successful in 9m27s
火山 SubtitleMode=1 下,paragraph=true 的事件 text 字段是空字符串,
作为段落终止的独立信号;之前 strategy B 的 `if not text.strip(): continue`
直接吞掉了这个信号,导致 buffer 永远 flush 不出来、AI 字幕全部丢失。

只在文本空且非 paragraph 终止时跳过;终止信号本身不进 buffer,但触发
已累积分片的拼接落库。Mode=0 行为不变(其 paragraph=true 事件 text 非空)。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-28 16:03:44 +08:00
pmc
c85f6f2f9e feat: enable Traefik access logs via HelmChartConfig
All checks were successful
Build and Deploy LTY / build-and-deploy (push) Successful in 56m21s
Adds k8s/traefik-config.yaml to enable JSON-format access logs on
the K3s built-in Traefik for diagnosing whether subv webhooks from
volcengine are dropped between ingress and Django, or simply not
sent. Drops Authorization/Cookie headers to avoid leaking secrets.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-28 13:58:31 +08:00
pmc
c70bee7295 feat: update device interaction views
All checks were successful
Build and Deploy LTY / build-and-deploy (push) Successful in 11m6s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 17:41:44 +08:00
pmc
3b7c5c85f5 feat: update device interaction views, docs, and CLAUDE.md
All checks were successful
Build and Deploy LTY / build-and-deploy (push) Successful in 9m14s
- Update device_interaction views
- Update admin README and CLAUDE.md
- Add affinity system design doc
- Add device chat record subtitle storage scheme doc

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 17:06:21 +08:00
pmc
e57f681040 feat: update userapp views
All checks were successful
Build and Deploy LTY / build-and-deploy (push) Successful in 1h9m26s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 18:48:04 +08:00
pmc
90c6feb5a5 feat: update userapp utils
All checks were successful
Build and Deploy LTY / build-and-deploy (push) Successful in 11m52s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-13 11:05:23 +08:00
pmc
29b4913723 feat: update RTC bot migration and device interaction consumers
All checks were successful
Build and Deploy LTY / build-and-deploy (push) Successful in 9m19s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-10 18:08:05 +08:00
pmc
8dcef0cff2 Merge branch 'dev' of https://gitea.airlabs.art/zyc/lty into dev
All checks were successful
Build and Deploy LTY / build-and-deploy (push) Successful in 31m8s
2026-04-10 11:56:00 +08:00
pmc
59b178f8f4 feat: update AI app views/urls and add RTC bot migration
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-10 11:55:52 +08:00
zyc
cbfa704299 perf: 保留基础镜像缓存 + kubectl 装到 /usr/bin 避开 bind mount 冲突
All checks were successful
Build and Deploy LTY / build-and-deploy (push) Successful in 43m21s
2026-04-04 22:13:57 +08:00
zyc
83a67029a8 fix: remove unnecessary CR repo creation step
All checks were successful
Build and Deploy LTY / build-and-deploy (push) Successful in 9m20s
Docker push auto-creates repos on Volcano Engine CR, no need for
explicit OpenAPI calls. Align with jimeng-clone approach.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 16:12:08 +08:00
zyc
8762da358a feat: auto-create CR repositories before build
Some checks failed
Build and Deploy LTY / build-and-deploy (push) Has been cancelled
Add Volcano Engine OpenAPI call to ensure lty-backend and lty-admin
repos exist in the CR namespace before pushing images.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 16:09:27 +08:00
zyc
32f55b3f39 feat: add Docker cleanup step to CI pipeline
All checks were successful
Build and Deploy LTY / build-and-deploy (push) Successful in 10m6s
Automatically prune unused containers, images and build cache after
each CI run to prevent disk space exhaustion on the runner.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 15:46:51 +08:00
zyc
4de4595ec0 feat: update CI/CD pipeline for multi-env deploy and use mirror registry
All checks were successful
Build and Deploy LTY / build-and-deploy (push) Successful in 7m50s
- Add dev branch trigger and environment-based config (prod/dev)
- Switch to Volcano container registry with retry logic
- Use mirror images for Docker base images (daocloud.io)
- Add dynamic domain/DB/Redis config per environment

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 15:33:32 +08:00
pmc
9bf46cb8af fix new . 2026-04-04 15:18:52 +08:00
pmc
05be93546b feat: update device interaction serializers and add fallback device command
All checks were successful
Build and Deploy LTY / build-and-deploy (push) Successful in 50m22s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 14:03:03 +08:00
pmc
7d05339e05 feat: update device interaction module
All checks were successful
Build and Deploy LTY / build-and-deploy (push) Successful in 54m40s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-30 10:57:12 +08:00
pmc
a8add9dc6e feat: update device interaction module
All checks were successful
Build and Deploy LTY / build-and-deploy (push) Successful in 29m50s
- Update apps, consumers, and serializers
- Add scheduler and tasks modules

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 18:03:08 +08:00
pmc
c0fe1f502b feat: update card models, admin pages, and add migrations
All checks were successful
Build and Deploy LTY / build-and-deploy (push) Successful in 1h5m35s
- Update card models, serializers, views and URLs
- Update dances, songs, users admin pages and API modules
- Add card migrations (merge furniture into decoration)
- Update middleware and settings

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-26 16:38:48 +08:00
pmc
55ca2cbdaf feat: update card views/serializers and admin sidebar
All checks were successful
Build and Deploy LTY / build-and-deploy (push) Successful in 47m12s
- Add new card API endpoints and serializers
- Update sidebar navigation
- Update claude settings permissions

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-25 11:35:11 +08:00
pmc
5483c69ba9 chore: update claude settings with additional permissions
All checks were successful
Build and Deploy LTY / build-and-deploy (push) Successful in 9m39s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-20 15:55:46 +08:00
pmc
afa88c142b feat: 实现设备动态绑定方案(步骤1-5)
- 步骤1: MacAddressLoginView 增强,返回 code=4010(未绑定)/4011(不存在),支持自动激活
- 步骤2: 新增 bind_status 接口,设备端轮询查询绑定状态(无需认证)
- 步骤3: 新增 register 设备自注册接口,首次开机自动注册(无需认证)
- 步骤4: UserDeviceSerializer 增加 mac_address 字段
- 步骤5: WebSocket 新增 device_info 消息类型,支持设备状态上报和广播

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-20 15:53:33 +08:00
pmc
8b16eb32bf Merge branch 'main' of https://gitea.airlabs.art/zyc/lty
All checks were successful
Build and Deploy LTY / build-and-deploy (push) Successful in 10m37s
2026-03-20 13:07:34 +08:00
pmc
bd95ba470c feat: update admin panel, API modules, and add migrations
- Update food, outfits, props, home-decor pages and components
- Add permissions page and sidebar updates
- Update API client and all API modules (auth, food, dances, etc.)
- Add card model migrations for optional fields
- Update Django views, serializers, and authentication
- Add affinity level migrations and user app updates
- Add project documentation

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-20 13:06:50 +08:00
zyc
5cb1a4434e build host
All checks were successful
Build and Deploy LTY / build-and-deploy (push) Successful in 14m30s
2026-03-17 15:03:12 +08:00
zyc
e293c38606 add cicd
All checks were successful
Build and Deploy LTY / build-and-deploy (push) Successful in 13m49s
2026-03-17 14:37:42 +08:00
zyc
0c610c1e49 first commit 2026-03-17 13:17:02 +08:00