Commit Graph

22 Commits

Author SHA1 Message Date
zerosaturation
23e5a600ad fix(0a): replace real keys with placeholders in .env.example + harden .gitignore
- .env.example: 3 处真 key 替换为 <REPLACE_ME_*> 占位
  - L104 DIFY_API_KEY (原 app-tIfFhFwj3xnbRurK1oxxBXnA, 注释内也含)
  - L117 OPENAI_API_KEY (原 sk-proj-srKxyb... 完整 164 字符)
  - L135 OPENAI_API_KEY (原 sk-eIOujD5rUugIRIPecFi3I2rFr6...)
  - L142 DIFY_API_KEY (原 app-aHnBfMeOQp7A9dQneIFPdPaZ)
  生产真值由环境变量注入(backend/.env / docker/.env / K8s Secret);
- .gitignore: 加严真 .env 排除
  - backend/.env / backend/.env.local / backend/.env.production / *.local
  - docker/.env / docker/.env.local / docker/.env.prod / *.local
  - backend/services/*/.env
  防 0b 阶段(运维轮换)完成前有人误提交真值文件;
- 自检: grep -E 'sk-proj|sk-eIOu|app-[A-Za-z0-9]{20,}' backend/.env.example = 0 真 key
- 后续: 0b 阶段(运维真轮换)完成后, 跑 .superpowers/sdd/batch0-filter-repo-commands.md
  列出的 git filter-repo 命令清历史(用户 review 后执行)。

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-24 15:23:26 +08:00
zerosaturation
a337f43f86 fix(config): port alignment + service test doubles (batch 4.1/4.5)
- gateway/config Dubbo URL 默认端口修正(原 20004/20005 与服务实际 20001/20004 不符);
- userService main.go 硬编码 WithPort(20000) 修死码, -port flag / PORT env 真正生效;
- .env.example 11 个 DUBBO URL 同步(对齐 serviceDefaultPorts map + 实际服务 bind);
- 删除 DUBBO_STARBOOK_SERVICE_URL 死引用(starbookService 已在 batch 4.2 删除);
- .env.example Service Ports 注释块补全 10 行, 与网关 Dubbo URL + port_test 三方一致;
- 10 个 service 各加 port_test.go, 断言 flag 默认与 serviceDefaultPorts map 一致;
- 11 个 port_test 总计 13 测试覆盖(网关 + 10 service);
- .gitignore 加 userService/main.go.bak 排除(临时备份)。

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-24 14:02:14 +08:00
zerosaturation
293c7b14ae fix(security): JWT key governance — MustInit fail-fast + atomic.Value
- pkg/jwt: 删 public SetSecret; 加 MustInit(secret string) 启动时强制注入,
  缺/为空/等于弱默认值时返回 error(运行期不可再改); 密钥用 atomic.Value
  存 []byte,所有读走 mustSecret() 原子 Load,消除 SetSecret/ParseToken 并发
  data race(go test -race 零告警)。
- gateway main + auth_provider: 启动时 MustInit 读 JWT_SECRET env,失败 fatal。
- scripts/loadgen/seed/tokens: 同步 MustInit。
- .env.example: JWT_SECRET 改为 ≥32 字节 base64 示例(原为空,被 MustInit
  立即拒);注释提示生产 MUST replace。
- 测试: 4 个 MustInit 行为 + 1 个 50-goroutine race 覆盖。
- 行为变更: 任何 .env 缺 JWT_SECRET 或用占位 secret 的服务,启动会 panic
  (这是 fail-fast 期望行为);其余 4 个 .env 文件占位由 ops 单独轮换。

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-23 18:50:12 +08:00
zerosaturation
d554d7be83 feat:修改周边验证 2026-07-17 16:53:57 +08:00
66d226948f Merge pull request 'feat/actvity' (#4) from feat/actvity into dev
Reviewed-on: https://git.liantu.tech/xiaoyu/topfans/pulls/4
合并feat/actvity
2026-07-03 16:28:30 +00:00
Lenticular Studio Agent
65ce6bba12 feat: Dify 部署脚本修复 + AI 搭子 MVP 接入
主要改动:

fix(docker/dify-deploy): 修复脚本核心功能
- heredoc 单引号 bug: 'ENVEOF' 改为 ENVEOF,变量正确展开
- 端口默认值 8083/8084/8085 对齐 .env.prod 生产配置
- 加 dc_cmd() 兼容 docker-compose v1/v2 plugin
- openssl rand 生成强随机密码与 SECRET_KEY(42 字符)
- install 跳过已存在 .env,保护用户配置(管理员密码/SECRET_KEY)
- read -p < /dev/tty 兼容非 tty 环境(CI/CD)
- show-config 改用 DIFY_NGINX_PORT(nginx 入口)而非 APP_WEB_PORT

docs(mvp-design): 修正 §3.2 workflow inputs 描述
- 实际只有 query,删除错误的 user_id input 声明
- 节点序列图同步更新

feat(aiChatService): 新增 Dify 客户端与适配器
- service/dify_client.go: Dify Workflow 调用 + SSE 解析
- service/dify_adapter.go: 与现有 chat_service 桥接
- provider/ai_chat_provider.go: Dubbo 入口简化
- main.go: 装配 ConversationRepository + DifyClient

feat(migrations): 新增 AI 搭子会话表 ai_chat.sql
- ai_conversations / ai_messages 表 + 索引

docs: 新增 Dify 集成设计文档
- 2026-06-29-ai-chat-dify-mvp-design.md (MVP 实施级)
- 2026-06-29-ai-chat-dify-integration-v2-design.md (V2 演进路线图)
- docs/dify/角角.yml (Workflow DSL 导出)

config: 更新 env 模板与 docker 配置
- backend/.env.example: DIFY_* 环境变量声明
- docker/.env.prod: DIFY_API_BASE 对齐 8083
- docker/build.sh: 微调
- CLAUDE.md: 项目规范补充

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-02 12:32:34 +08:00
c02e53fc0e feat:修改h5地址 2026-06-26 18:10:51 +08:00
zerosaturation
64b501102b feat:修改docekt配置添加ossCROS的配置 2026-06-24 16:30:00 +08:00
Lenticular Studio Agent
a96c9cf04f feat:修复路径 2026-06-24 02:34:06 +08:00
Lenticular Studio Agent
063d940edd feat:修复部分问题 2026-06-24 00:59:23 +08:00
Lenticular Studio Agent
fd5e317e05 merge: 解决 docker-compose 和 SocketManager 冲突
Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-23 23:06:24 +08:00
Lenticular Studio Agent
af7908e72e feat: 接入微达API中转站,重构镭射卡生图流程
- 替换中转站从 xbcl.link 到 weda.cc
- prompt 模板改为镭射卡全图生成(去掉 6 层合成/抠图依赖)
- 4 路并发调用 + 原图展示 = 5 张 variant
- 前端提示词中译英支持
- 全局 Vue errorHandler
- WebSocket 鉴权失败跳登录
- 删除已弃用的 laserCompositor 微服务

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-23 22:43:49 +08:00
zerosaturation
b4d34f9ec1 docs:增加文档 2026-06-22 20:02:00 +08:00
ddc5b89a6c frat:增加uniPush的配置 2026-06-16 23:49:40 +08:00
zerosaturation
7734d33697 feat:修改ws的配置 2026-06-15 22:33:37 +08:00
zerosaturation
19890d5908 feat:修改数据库配置密码,修改星榜样式 2026-06-14 22:19:32 +08:00
zerosaturation
23a8051e96 feat: 修改头像显示不全,修改docker的配置 2026-06-04 16:41:20 +08:00
liulong
6ff8743c72 feat:修复合并问题 2026-06-03 23:25:08 +08:00
liulong
10168f8e6b feat:实现AI生成镭射卡功能 2026-06-03 22:19:22 +08:00
zerosaturation
a5e3008819 feat: 增加health健康检查和替换前端跳转路由api 2026-04-14 00:10:24 +08:00
zerosaturation
baf56d5ecf feat: 完善minimax调用图生图功能 2026-04-08 01:30:58 +08:00
zerosaturation
06f4038a75 提交后端代码 2026-04-07 22:29:48 +08:00