|
6707
|
7
|
5
|
3
|
22
|
0
|
0
|
refs/heads/app-260519
|
0
|
{"Commits":[{"Sha1":"da80aa837 {"Commits":[{"Sha1":"da80aa8372565576d62e8cead61d9d5e542af8a3","Message":"111\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-28T15:13:09+08:00"}],"HeadCommit":{"Sha1":"da80aa8372565576d62e8cead61d9d5e542af8a3","Message":"111\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-28T15:13:09+08:00"},"CompareURL":"vodtest/app/compare/cf3bb07792eb4726b58d4c3e0e7b058dec020c48...da80aa8372565576d62e8cead61d9d5e542af8a3","Len":1}...
|
1779952416
|
Edit
Delete
|
|
6708
|
8
|
5
|
3
|
22
|
0
|
0
|
refs/heads/app-260519
|
0
|
{"Commits":[{"Sha1":"da80aa837 {"Commits":[{"Sha1":"da80aa8372565576d62e8cead61d9d5e542af8a3","Message":"111\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-28T15:13:09+08:00"}],"HeadCommit":{"Sha1":"da80aa8372565576d62e8cead61d9d5e542af8a3","Message":"111\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-28T15:13:09+08:00"},"CompareURL":"vodtest/app/compare/cf3bb07792eb4726b58d4c3e0e7b058dec020c48...da80aa8372565576d62e8cead61d9d5e542af8a3","Len":1}...
|
1779952416
|
Edit
Delete
|
|
6704
|
9
|
5
|
3
|
22
|
0
|
0
|
refs/heads/app-260519
|
0
|
{"Commits":[{"Sha1":"da80aa837 {"Commits":[{"Sha1":"da80aa8372565576d62e8cead61d9d5e542af8a3","Message":"111\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-28T15:13:09+08:00"}],"HeadCommit":{"Sha1":"da80aa8372565576d62e8cead61d9d5e542af8a3","Message":"111\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-28T15:13:09+08:00"},"CompareURL":"vodtest/app/compare/cf3bb07792eb4726b58d4c3e0e7b058dec020c48...da80aa8372565576d62e8cead61d9d5e542af8a3","Len":1}...
|
1779952416
|
Edit
Delete
|
|
6709
|
10
|
5
|
3
|
22
|
0
|
0
|
refs/heads/app-260519
|
0
|
{"Commits":[{"Sha1":"da80aa837 {"Commits":[{"Sha1":"da80aa8372565576d62e8cead61d9d5e542af8a3","Message":"111\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-28T15:13:09+08:00"}],"HeadCommit":{"Sha1":"da80aa8372565576d62e8cead61d9d5e542af8a3","Message":"111\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-28T15:13:09+08:00"},"CompareURL":"vodtest/app/compare/cf3bb07792eb4726b58d4c3e0e7b058dec020c48...da80aa8372565576d62e8cead61d9d5e542af8a3","Len":1}...
|
1779952416
|
Edit
Delete
|
|
6710
|
11
|
5
|
3
|
22
|
0
|
0
|
refs/heads/app-260519
|
0
|
{"Commits":[{"Sha1":"da80aa837 {"Commits":[{"Sha1":"da80aa8372565576d62e8cead61d9d5e542af8a3","Message":"111\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-28T15:13:09+08:00"}],"HeadCommit":{"Sha1":"da80aa8372565576d62e8cead61d9d5e542af8a3","Message":"111\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-05-28T15:13:09+08:00"},"CompareURL":"vodtest/app/compare/cf3bb07792eb4726b58d4c3e0e7b058dec020c48...da80aa8372565576d62e8cead61d9d5e542af8a3","Len":1}...
|
1779952416
|
Edit
Delete
|
|
5
|
4
|
1
|
4
|
3
|
0
|
0
|
|
1
|
|
1770359414
|
Edit
Delete
|
|
10
|
4
|
5
|
4
|
3
|
0
|
0
|
refs/heads/master
|
1
|
|
1770360030
|
Edit
Delete
|
|
11
|
4
|
5
|
4
|
3
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"f6b6a3099 {"Commits":[{"Sha1":"f6b6a3099bdc2128ef1527c4935844f1e9358dac","Message":"添加 Gitea Actions CI/CD 配置\n\n- 自动构建 Debug/Release 版本\n- 运行单元测试和 Lint 检查\n- 构建产物自动存档\n\nCo-Authored-By: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"lqj@g-hi.com","AuthorName":"lqj","CommitterEmail":"lqj@g-hi.com","CommitterName":"lqj","Timestamp":"2026-02-06T14:25:43+08:00"},{"Sha1":"23be956676468adfb084a7612e9a0d425d5a103b","Message":"Initial commit: ComTraffic Android通讯服务模块\n\n项目包含:\n- KTV/娱乐系统后台通讯服务\n- UDP/WebSocket/HTTP多协议支持\n- 22个业务线程处理模块\n- 62个数据模型类\n- 15个工具类\n\nCo-Authored-By: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"lqj@g-hi.com","AuthorName":"lqj","CommitterEmail":"lqj@g-hi.com","CommitterName":"lqj","Timestamp":"2026-02-06T14:19:57+08:00"}],"HeadCommit":{"Sha1":"f6b6a3099bdc2128ef1527c4935844f1e9358dac","Message":"添加 Gitea Actions CI/CD 配置\n\n- 自动构建 Debug/Release 版本\n- 运行单元测试和 Lint 检查\n- 构建产物自动存档\n\nCo-Authored-By: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"lqj@g-hi.com","AuthorName":"lqj","CommitterEmail":"lqj@g-hi.com","CommitterName":"lqj","Timestamp":"2026-02-06T14:25:43+08:00"},"CompareURL":"","Len":2}...
|
1770360030
|
Edit
Delete
|
|
12
|
4
|
1
|
4
|
4
|
0
|
0
|
|
1
|
|
1770361946
|
Edit
Delete
|
|
13
|
4
|
5
|
4
|
4
|
0
|
0
|
refs/heads/master
|
1
|
|
1770362020
|
Edit
Delete
|
|
14
|
4
|
5
|
4
|
4
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"c81c0673b {"Commits":[{"Sha1":"c81c0673baf4263ac7f5e29ddffebfd0ca426138","Message":"Initial commit\n","AuthorEmail":"you@example.com","AuthorName":"Your Name","CommitterEmail":"you@example.com","CommitterName":"Your Name","Timestamp":"2026-02-06T15:13:31+08:00"}],"HeadCommit":{"Sha1":"c81c0673baf4263ac7f5e29ddffebfd0ca426138","Message":"Initial commit\n","AuthorEmail":"you@example.com","AuthorName":"Your Name","CommitterEmail":"you@example.com","CommitterName":"Your Name","Timestamp":"2026-02-06T15:13:31+08:00"},"CompareURL":"","Len":1}...
|
1770362020
|
Edit
Delete
|
|
15
|
4
|
5
|
4
|
4
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"dd937abcd {"Commits":[{"Sha1":"dd937abcd238298a394151c5df1032275d27545d","Message":"ci: add Drone pipeline (.drone.yml)\n","AuthorEmail":"you@example.com","AuthorName":"Your Name","CommitterEmail":"you@example.com","CommitterName":"Your Name","Timestamp":"2026-02-06T15:21:00+08:00"}],"HeadCommit":{"Sha1":"dd937abcd238298a394151c5df1032275d27545d","Message":"ci: add Drone pipeline (.drone.yml)\n","AuthorEmail":"you@example.com","AuthorName":"Your Name","CommitterEmail":"you@example.com","CommitterName":"Your Name","Timestamp":"2026-02-06T15:21:00+08:00"},"CompareURL":"laiqiaojie/httpclient/compare/c81c0673baf4263ac7f5e29ddffebfd0ca426138...dd937abcd238298a394151c5df1032275d27545d","Len":1}...
|
1770362463
|
Edit
Delete
|
|
1794
|
4
|
1
|
4
|
20
|
0
|
0
|
|
1
|
|
1778224865
|
Edit
Delete
|
|
1795
|
4
|
5
|
4
|
20
|
0
|
0
|
refs/heads/master
|
1
|
|
1778225527
|
Edit
Delete
|
|
1796
|
4
|
5
|
4
|
20
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"b67540a3d {"Commits":[{"Sha1":"b67540a3d946a34763315b7a73ac62de3610c28a","Message":"initial commit: httpclient_x86 with SOCK_CLOEXEC fix and version update 2026.05.08.01\n\n- Add SOCK_CLOEXEC to all UDP socket creations in UDP_Open() to prevent\n port inheritance by platformd child process on restart\n- Update version to 2026.05.08.01 / httpclientUpdateVersion to 2026050801\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-08T15:29:08+08:00"}],"HeadCommit":{"Sha1":"b67540a3d946a34763315b7a73ac62de3610c28a","Message":"initial commit: httpclient_x86 with SOCK_CLOEXEC fix and version update 2026.05.08.01\n\n- Add SOCK_CLOEXEC to all UDP socket creations in UDP_Open() to prevent\n port inheritance by platformd child process on restart\n- Update version to 2026.05.08.01 / httpclientUpdateVersion to 2026050801\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-08T15:29:08+08:00"},"CompareURL":"","Len":1}...
|
1778225527
|
Edit
Delete
|
|
1797
|
4
|
5
|
4
|
20
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"d34986cbf {"Commits":[{"Sha1":"d34986cbf7d3a5571808f43bbf507187e50eeeba","Message":"fix: UDP socket 端口被 platformd 继承导致重启失败 \u0026 版本升级 2026.05.08.01\n\n【问题背景】\nhttpclient 崩溃后守护进程重启时,程序在 CheckPlatformd() 之后尝试\n绑定 UDP 端口(40001/50003/2446/50002/2348)时报 EADDRINUSE 而退出,\n形成循环重启无法恢复。\n\n【根本原因】\nhttpclient 通过 fork/exec 启动 platformd 子进程时,未设置\nSOCK_CLOEXEC,导致已打开的 UDP socket FD 被 platformd 继承。\nhttpclient 进程崩溃后 platformd 仍持有这些 FD,端口持续被占用。\n\n【修复内容】\n1. Function.cpp:2099 — UDP_Open() 中 socket() 调用添加 SOCK_CLOEXEC\n 所有通过 UDP_Open() 创建的 5 个 UDP 端口(40001/50003/2446/50002/2348)\n 均不再被 platformd 子进程继承,httpclient 崩溃重启后可正常绑定端口。\n\n2. Function.cpp:2282 — 查询本机 IP 用的临时 UDP socket 同步添加 SOCK_CLOEXEC\n\n3. main.cpp:46-47 — 版本号更新\n version: \"httpclient-laiqiaojie 2026.05.08.01\"\n httpclientUpdateVersion: \"2026050801\"\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-08T15:35:33+08:00"}],"HeadCommit":{"Sha1":"d34986cbf7d3a5571808f43bbf507187e50eeeba","Message":"fix: UDP socket 端口被 platformd 继承导致重启失败 \u0026 版本升级 2026.05.08.01\n\n【问题背景】\nhttpclient 崩溃后守护进程重启时,程序在 CheckPlatformd() 之后尝试\n绑定 UDP 端口(40001/50003/2446/50002/2348)时报 EADDRINUSE 而退出,\n形成循环重启无法恢复。\n\n【根本原因】\nhttpclient 通过 fork/exec 启动 platformd 子进程时,未设置\nSOCK_CLOEXEC,导致已打开的 UDP socket FD 被 platformd 继承。\nhttpclient 进程崩溃后 platformd 仍持有这些 FD,端口持续被占用。\n\n【修复内容】\n1. Function.cpp:2099 — UDP_Open() 中 socket() 调用添加 SOCK_CLOEXEC\n 所有通过 UDP_Open() 创建的 5 个 UDP 端口(40001/50003/2446/50002/2348)\n 均不再被 platformd 子进程继承,httpclient 崩溃重启后可正常绑定端口。\n\n2. Function.cpp:2282 — 查询本机 IP 用的临时 UDP socket 同步添加 SOCK_CLOEXEC\n\n3. main.cpp:46-47 — 版本号更新\n version: \"httpclient-laiqiaojie 2026.05.08.01\"\n httpclientUpdateVersion: \"2026050801\"\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-08T15:35:33+08:00"},"CompareURL":"laiqiaojie/httpclient_x86/compare/b67540a3d946a34763315b7a73ac62de3610c28a...d34986cbf7d3a5571808f43bbf507187e50eeeba","Len":1}...
|
1778225744
|
Edit
Delete
|
|
1798
|
4
|
5
|
4
|
20
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"855a00f60 {"Commits":[{"Sha1":"855a00f60c91a68c2e8ad319c975b9d734758f41","Message":"docs: 添加 Claude Code 开发流程迁移文档\n\n- 新增 CLAUDE.md:项目架构、构建方式、协议约定、数据库 Schema、\n 开发注意事项等 AI 上下文文档\n- 新增 .claude/settings.json:Claude Code 权限配置(make/ssh/grep 等)\n- 新增 docs/protocol-udp.md:UDP 消息协议(function 码、端口分配、JSON 格式)\n- 新增 docs/protocol-tcp.md:TCP/IPSOCKETPKG 协议与 P2P 服务器通信\n- 新增 docs/api-http.md:云端 REST API 接口文档(逆向生成)\n- 新增 docs/api-socket.md:Function.cpp 全部 TCP/UDP socket 函数接口\n- 新增 docs/database-schema.md:三个数据库四张表的 DDL 与典型 SQL\n- 新增 docs/download-flow.md:CTask 状态机与完整下载流程\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-08T16:28:47+08:00"}],"HeadCommit":{"Sha1":"855a00f60c91a68c2e8ad319c975b9d734758f41","Message":"docs: 添加 Claude Code 开发流程迁移文档\n\n- 新增 CLAUDE.md:项目架构、构建方式、协议约定、数据库 Schema、\n 开发注意事项等 AI 上下文文档\n- 新增 .claude/settings.json:Claude Code 权限配置(make/ssh/grep 等)\n- 新增 docs/protocol-udp.md:UDP 消息协议(function 码、端口分配、JSON 格式)\n- 新增 docs/protocol-tcp.md:TCP/IPSOCKETPKG 协议与 P2P 服务器通信\n- 新增 docs/api-http.md:云端 REST API 接口文档(逆向生成)\n- 新增 docs/api-socket.md:Function.cpp 全部 TCP/UDP socket 函数接口\n- 新增 docs/database-schema.md:三个数据库四张表的 DDL 与典型 SQL\n- 新增 docs/download-flow.md:CTask 状态机与完整下载流程\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-08T16:28:47+08:00"},"CompareURL":"laiqiaojie/httpclient_x86/compare/d34986cbf7d3a5571808f43bbf507187e50eeeba...855a00f60c91a68c2e8ad319c975b9d734758f41","Len":1}...
|
1778229299
|
Edit
Delete
|
|
1799
|
4
|
5
|
4
|
20
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"72e4c3603 {"Commits":[{"Sha1":"72e4c36034d9ac0f45c22b76722e992b2bfba3b5","Message":"docs: 区分编译环境与运行验证环境,记录编译机 IP\n\n- CLAUDE.md 新增\"开发环境说明\"章节,明确区分:\n 编译环境(VMware 192.168.3.41)与运行验证环境(KTV 实体设备)\n- .claude/settings.json 新增 BUILD_HOST/BUILD_USER/BUILD_PROJECT\n 和 DEPLOY_HOST/DEPLOY_USER 环境变量\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-08T16:44:23+08:00"}],"HeadCommit":{"Sha1":"72e4c36034d9ac0f45c22b76722e992b2bfba3b5","Message":"docs: 区分编译环境与运行验证环境,记录编译机 IP\n\n- CLAUDE.md 新增\"开发环境说明\"章节,明确区分:\n 编译环境(VMware 192.168.3.41)与运行验证环境(KTV 实体设备)\n- .claude/settings.json 新增 BUILD_HOST/BUILD_USER/BUILD_PROJECT\n 和 DEPLOY_HOST/DEPLOY_USER 环境变量\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-08T16:44:23+08:00"},"CompareURL":"laiqiaojie/httpclient_x86/compare/855a00f60c91a68c2e8ad319c975b9d734758f41...72e4c36034d9ac0f45c22b76722e992b2bfba3b5","Len":1}...
|
1778229866
|
Edit
Delete
|
|
1800
|
4
|
5
|
4
|
20
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"d315418f8 {"Commits":[{"Sha1":"d315418f8d49ded5f9a28dc74c844b636da4a413","Message":"docs: 补充运行验证环境 IP(192.168.3.45)\n\n- CLAUDE.md 更新运行验证环境 IP,补充完整部署验证命令\n- .claude/settings.json 更新 DEPLOY_HOST=192.168.3.45\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-08T16:45:37+08:00"}],"HeadCommit":{"Sha1":"d315418f8d49ded5f9a28dc74c844b636da4a413","Message":"docs: 补充运行验证环境 IP(192.168.3.45)\n\n- CLAUDE.md 更新运行验证环境 IP,补充完整部署验证命令\n- .claude/settings.json 更新 DEPLOY_HOST=192.168.3.45\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-08T16:45:37+08:00"},"CompareURL":"laiqiaojie/httpclient_x86/compare/72e4c36034d9ac0f45c22b76722e992b2bfba3b5...d315418f8d49ded5f9a28dc74c844b636da4a413","Len":1}...
|
1778229939
|
Edit
Delete
|
|
1801
|
4
|
5
|
4
|
20
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"7eb14fbca {"Commits":[{"Sha1":"7eb14fbcafe5e5f5eb49d5cb29c70517a5134dbf","Message":"fix: correct VMware shared folder path in settings and CLAUDE.md\n\nUpdate BUILD_PROJECT from /mnt/hgfs/httpclient_x86 to the actual path\n/mnt/hgfs/workspace/bistroApp/Linux/httpclient_x86 confirmed by successful\ncompilation on 2026-05-08.\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-08T17:07:38+08:00"}],"HeadCommit":{"Sha1":"7eb14fbcafe5e5f5eb49d5cb29c70517a5134dbf","Message":"fix: correct VMware shared folder path in settings and CLAUDE.md\n\nUpdate BUILD_PROJECT from /mnt/hgfs/httpclient_x86 to the actual path\n/mnt/hgfs/workspace/bistroApp/Linux/httpclient_x86 confirmed by successful\ncompilation on 2026-05-08.\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-08T17:07:38+08:00"},"CompareURL":"laiqiaojie/httpclient_x86/compare/d315418f8d49ded5f9a28dc74c844b636da4a413...7eb14fbcafe5e5f5eb49d5cb29c70517a5134dbf","Len":1}...
|
1778231263
|
Edit
Delete
|
|
1802
|
4
|
5
|
4
|
20
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"a1f24e1c4 {"Commits":[{"Sha1":"a1f24e1c44238d58c016ffaeed9e4bb86a0f7c2c","Message":"docs: add deployment notes for watchdog script and SCP compatibility\n\nDocument the /etc/tool/httpclientktv.sh watchdog behavior on the KTV\ndevice, correct deploy sequence (kill watchdog before process), and\nthe -O flag requirement for scp with OpenSSH 10.x vs old server.\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-08T17:14:08+08:00"}],"HeadCommit":{"Sha1":"a1f24e1c44238d58c016ffaeed9e4bb86a0f7c2c","Message":"docs: add deployment notes for watchdog script and SCP compatibility\n\nDocument the /etc/tool/httpclientktv.sh watchdog behavior on the KTV\ndevice, correct deploy sequence (kill watchdog before process), and\nthe -O flag requirement for scp with OpenSSH 10.x vs old server.\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-08T17:14:08+08:00"},"CompareURL":"laiqiaojie/httpclient_x86/compare/7eb14fbcafe5e5f5eb49d5cb29c70517a5134dbf...a1f24e1c44238d58c016ffaeed9e4bb86a0f7c2c","Len":1}...
|
1778231652
|
Edit
Delete
|
|
1803
|
4
|
5
|
4
|
20
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"d1d787e98 {"Commits":[{"Sha1":"d1d787e981030a2d7012aed000dbfdc71bc292e6","Message":"docs: restructure build/deploy/verify section in CLAUDE.md\n\nConsolidate scattered deployment notes into a single clean workflow:\n- Merge env intro, build, deploy and verify into one section\n- Remove repeated SSH -o flags (both hosts now in ~/.ssh/config)\n- Add expected log output for startup verification\n- Simplify watchdog script description\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-08T17:16:14+08:00"}],"HeadCommit":{"Sha1":"d1d787e981030a2d7012aed000dbfdc71bc292e6","Message":"docs: restructure build/deploy/verify section in CLAUDE.md\n\nConsolidate scattered deployment notes into a single clean workflow:\n- Merge env intro, build, deploy and verify into one section\n- Remove repeated SSH -o flags (both hosts now in ~/.ssh/config)\n- Add expected log output for startup verification\n- Simplify watchdog script description\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-08T17:16:14+08:00"},"CompareURL":"laiqiaojie/httpclient_x86/compare/a1f24e1c44238d58c016ffaeed9e4bb86a0f7c2c...d1d787e981030a2d7012aed000dbfdc71bc292e6","Len":1}...
|
1778231777
|
Edit
Delete
|
|
2021
|
4
|
1
|
4
|
24
|
0
|
0
|
|
1
|
|
1778663202
|
Edit
Delete
|
|
2145
|
4
|
5
|
4
|
20
|
0
|
0
|
refs/heads/master
|
1
|
{"Commits":[{"Sha1":"e7903e9e7 {"Commits":[{"Sha1":"e7903e9e7794ec054036431a7c1fc0a6b7aaf835","Message":"fix: 修复2001接口无错误详情及失败无重试问题\n\n- LIBCURLWrapper: 检查curl_easy_perform返回值,失败时记录errcode/errmsg/http状态码/耗时\n- LIBCURLWrapper: 修正CURLOPT_CONNECTTIMEOUT单位错误(秒误传毫秒),改用CURLOPT_CONNECTTIMEOUT_MS\n- LIBCURLWrapper: response日志增加耗时差值,便于定位慢请求\n- main: GetSongsNamePath失败后最多重试3次(间隔3秒),避免偶发网络抖动丢失下载任务\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-15T17:51:33+08:00"}],"HeadCommit":{"Sha1":"e7903e9e7794ec054036431a7c1fc0a6b7aaf835","Message":"fix: 修复2001接口无错误详情及失败无重试问题\n\n- LIBCURLWrapper: 检查curl_easy_perform返回值,失败时记录errcode/errmsg/http状态码/耗时\n- LIBCURLWrapper: 修正CURLOPT_CONNECTTIMEOUT单位错误(秒误传毫秒),改用CURLOPT_CONNECTTIMEOUT_MS\n- LIBCURLWrapper: response日志增加耗时差值,便于定位慢请求\n- main: GetSongsNamePath失败后最多重试3次(间隔3秒),避免偶发网络抖动丢失下载任务\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-15T17:51:33+08:00"},"CompareURL":"laiqiaojie/httpclient_x86/compare/d1d787e981030a2d7012aed000dbfdc71bc292e6...e7903e9e7794ec054036431a7c1fc0a6b7aaf835","Len":1}...
|
1778838701
|
Edit
Delete
|
|
5192
|
4
|
1
|
4
|
26
|
0
|
0
|
|
1
|
|
1779718182
|
Edit
Delete
|
|
5193
|
4
|
2
|
4
|
26
|
0
|
0
|
|
1
|
AI----
|
1779718248
|
Edit
Delete
|
|
5194
|
4
|
1
|
4
|
27
|
0
|
0
|
|
1
|
|
1779718429
|
Edit
Delete
|
|
5195
|
4
|
5
|
4
|
27
|
0
|
0
|
refs/heads/main
|
1
|
|
1779718439
|
Edit
Delete
|
|
5196
|
4
|
5
|
4
|
27
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"aabeecb96 {"Commits":[{"Sha1":"aabeecb96a6025fb42becd8cd25ed1f62213747a","Message":"Initial commit: lyric-driven AI video generation\n\n- Auto ASR lyric recognition (DashScope Paraformer-v2)\n- Every 2 lyric lines generate one scene\n- Lyric imagery drives image prompt generation\n- Segment parallel I2V for speed\n- Fade transition between clips synced to lyrics\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@gitea.g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@gitea.g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-25T22:04:55+08:00"}],"HeadCommit":{"Sha1":"aabeecb96a6025fb42becd8cd25ed1f62213747a","Message":"Initial commit: lyric-driven AI video generation\n\n- Auto ASR lyric recognition (DashScope Paraformer-v2)\n- Every 2 lyric lines generate one scene\n- Lyric imagery drives image prompt generation\n- Segment parallel I2V for speed\n- Fade transition between clips synced to lyrics\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@gitea.g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@gitea.g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-25T22:04:55+08:00"},"CompareURL":"","Len":1}...
|
1779718439
|
Edit
Delete
|
|
5197
|
4
|
5
|
4
|
27
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"3270836b6 {"Commits":[{"Sha1":"3270836b6afd45fd99d44b185bef8e545d0fc77d","Message":"feat: burn lyric subtitles synced to music into final video\n\n- Add _write_ass() to generate ASS subtitle file from Scene lyrics\n- Add _burn_subtitles() to bake subtitles via FFmpeg ass filter\n- build_video() accepts burn_lyrics=True to trigger subtitle burn\n- gui/app.py enables burn_lyrics in lyric-driven mode\n- Two lyric lines displayed with \\N line break, timed to scene start/end\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@gitea.g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@gitea.g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-25T22:29:14+08:00"}],"HeadCommit":{"Sha1":"3270836b6afd45fd99d44b185bef8e545d0fc77d","Message":"feat: burn lyric subtitles synced to music into final video\n\n- Add _write_ass() to generate ASS subtitle file from Scene lyrics\n- Add _burn_subtitles() to bake subtitles via FFmpeg ass filter\n- build_video() accepts burn_lyrics=True to trigger subtitle burn\n- gui/app.py enables burn_lyrics in lyric-driven mode\n- Two lyric lines displayed with \\N line break, timed to scene start/end\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@gitea.g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@gitea.g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-25T22:29:14+08:00"},"CompareURL":"laiqiaojie/AI-video/compare/aabeecb96a6025fb42becd8cd25ed1f62213747a...3270836b6afd45fd99d44b185bef8e545d0fc77d","Len":1}...
|
1779719354
|
Edit
Delete
|
|
5198
|
4
|
5
|
4
|
27
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"f8e9694fe {"Commits":[{"Sha1":"f8e9694febf6aa26156c8122b2b1129df2f323b6","Message":"fix: remove lyric subtitles; improve character quality in prompts\n\n- Disable burn_lyrics to remove subtitle overlay\n- Add beauty/handsomeness descriptors to quality string:\n beautiful female with delicate features, handsome male with\n chiseled jawline, perfect anatomy, no distortion, sharp focus\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@gitea.g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@gitea.g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-25T22:57:58+08:00"}],"HeadCommit":{"Sha1":"f8e9694febf6aa26156c8122b2b1129df2f323b6","Message":"fix: remove lyric subtitles; improve character quality in prompts\n\n- Disable burn_lyrics to remove subtitle overlay\n- Add beauty/handsomeness descriptors to quality string:\n beautiful female with delicate features, handsome male with\n chiseled jawline, perfect anatomy, no distortion, sharp focus\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@gitea.g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@gitea.g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-25T22:57:58+08:00"},"CompareURL":"laiqiaojie/AI-video/compare/3270836b6afd45fd99d44b185bef8e545d0fc77d...f8e9694febf6aa26156c8122b2b1129df2f323b6","Len":1}...
|
1779721080
|
Edit
Delete
|
|
5199
|
4
|
5
|
4
|
27
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"c79bd1999 {"Commits":[{"Sha1":"c79bd1999b45cd257c5c6ac197df02560611b70d","Message":"feat: skip image generation in lyric mode, use T2V directly\n\n- Add generate_all_videos_lyric() for fully parallel T2V generation\n- Add _build_lyric_video_prompt() converting lyrics to cinematic prompts\n with safety filters (no violence/blood/nudity) and character quality\n- Add T2V_MODEL = \"wan2.7-t2v-2026-04-25\" to config.py\n- gui/app.py: lyric mode bypasses image generation entirely\n → all scenes submitted in parallel (no chain dependency)\n → beat mode keeps existing image gen + segment-parallel I2V flow\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@gitea.g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@gitea.g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-25T23:11:34+08:00"}],"HeadCommit":{"Sha1":"c79bd1999b45cd257c5c6ac197df02560611b70d","Message":"feat: skip image generation in lyric mode, use T2V directly\n\n- Add generate_all_videos_lyric() for fully parallel T2V generation\n- Add _build_lyric_video_prompt() converting lyrics to cinematic prompts\n with safety filters (no violence/blood/nudity) and character quality\n- Add T2V_MODEL = \"wan2.7-t2v-2026-04-25\" to config.py\n- gui/app.py: lyric mode bypasses image generation entirely\n → all scenes submitted in parallel (no chain dependency)\n → beat mode keeps existing image gen + segment-parallel I2V flow\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@gitea.g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@gitea.g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-25T23:11:34+08:00"},"CompareURL":"laiqiaojie/AI-video/compare/f8e9694febf6aa26156c8122b2b1129df2f323b6...c79bd1999b45cd257c5c6ac197df02560611b70d","Len":1}...
|
1779721897
|
Edit
Delete
|
|
5200
|
4
|
5
|
4
|
27
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"9a2987af6 {"Commits":[{"Sha1":"9a2987af624e2406fb3cb2353b3c4b51f192ff0f","Message":"feat: add T2V model selector in GUI settings panel\n\n- Add \"文生视频模型 (歌词驱动)\" combo with wan2.7/wan2.1 T2V options\n- Rename I2V section to \"图生视频模型 (节拍驱动)\" for clarity\n- Add _on_t2v_model_change() callback updating config.T2V_MODEL\n- Add tooltip explaining lyric-driven T2V vs beat-driven I2V\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@gitea.g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@gitea.g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-25T23:14:31+08:00"}],"HeadCommit":{"Sha1":"9a2987af624e2406fb3cb2353b3c4b51f192ff0f","Message":"feat: add T2V model selector in GUI settings panel\n\n- Add \"文生视频模型 (歌词驱动)\" combo with wan2.7/wan2.1 T2V options\n- Rename I2V section to \"图生视频模型 (节拍驱动)\" for clarity\n- Add _on_t2v_model_change() callback updating config.T2V_MODEL\n- Add tooltip explaining lyric-driven T2V vs beat-driven I2V\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@gitea.g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@gitea.g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-25T23:14:31+08:00"},"CompareURL":"laiqiaojie/AI-video/compare/c79bd1999b45cd257c5c6ac197df02560611b70d...9a2987af624e2406fb3cb2353b3c4b51f192ff0f","Len":1}...
|
1779722073
|
Edit
Delete
|
|
5201
|
4
|
5
|
4
|
27
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"3f6f7ca2f {"Commits":[{"Sha1":"3f6f7ca2ff79d15f9ec9f89abeffafa4a80ac104","Message":"fix: inject selected visual style into T2V prompt\n\n- _build_lyric_video_prompt() now accepts style_name parameter\n- Loads style prefix and energy modifier from styles.json\n- Propagates through _submit_and_poll_t2v → generate_all_videos_lyric\n- gui/app.py passes style variable to generate_all_videos_lyric\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@gitea.g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@gitea.g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-25T23:31:14+08:00"}],"HeadCommit":{"Sha1":"3f6f7ca2ff79d15f9ec9f89abeffafa4a80ac104","Message":"fix: inject selected visual style into T2V prompt\n\n- _build_lyric_video_prompt() now accepts style_name parameter\n- Loads style prefix and energy modifier from styles.json\n- Propagates through _submit_and_poll_t2v → generate_all_videos_lyric\n- gui/app.py passes style variable to generate_all_videos_lyric\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@gitea.g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@gitea.g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-25T23:31:14+08:00"},"CompareURL":"laiqiaojie/AI-video/compare/9a2987af624e2406fb3cb2353b3c4b51f192ff0f...3f6f7ca2ff79d15f9ec9f89abeffafa4a80ac104","Len":1}...
|
1779723074
|
Edit
Delete
|
|
5202
|
4
|
5
|
4
|
27
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"753cb3573 {"Commits":[{"Sha1":"753cb3573ea9b14f0bbf61ca0479ca07eed705fa","Message":"docs: add PROJECT_STATUS.md for session continuity\n","AuthorEmail":"laiqiaojie@gitea.g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@gitea.g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-25T23:36:46+08:00"}],"HeadCommit":{"Sha1":"753cb3573ea9b14f0bbf61ca0479ca07eed705fa","Message":"docs: add PROJECT_STATUS.md for session continuity\n","AuthorEmail":"laiqiaojie@gitea.g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@gitea.g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-25T23:36:46+08:00"},"CompareURL":"laiqiaojie/AI-video/compare/3f6f7ca2ff79d15f9ec9f89abeffafa4a80ac104...753cb3573ea9b14f0bbf61ca0479ca07eed705fa","Len":1}...
|
1779723407
|
Edit
Delete
|
|
5203
|
4
|
5
|
4
|
27
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"a64b1b32c {"Commits":[{"Sha1":"a64b1b32ca5c7b0d373bdb8f75ad325c7cdcc139","Message":"fix: correct T2V/I2V model names (wan2.1 → wanx2.1)\n\n- wanx2.1-t2v-turbo / wanx2.1-t2v-plus (was wan2.1-t2v-*)\n- wanx2.1-i2v-turbo / wanx2.1-i2v-plus (was wan2.1-i2v-*)\n- Default T2V_MODEL changed to wanx2.1-t2v-turbo (fastest)\n- Add tests/test_t2v_models.py: 12 tests covering\n - T2V/I2V model existence via API probe\n - config defaults in GUI list\n - lyric prompt style injection\n - safety filter presence\n - no-lyric edge case\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@gitea.g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@gitea.g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-25T23:58:25+08:00"}],"HeadCommit":{"Sha1":"a64b1b32ca5c7b0d373bdb8f75ad325c7cdcc139","Message":"fix: correct T2V/I2V model names (wan2.1 → wanx2.1)\n\n- wanx2.1-t2v-turbo / wanx2.1-t2v-plus (was wan2.1-t2v-*)\n- wanx2.1-i2v-turbo / wanx2.1-i2v-plus (was wan2.1-i2v-*)\n- Default T2V_MODEL changed to wanx2.1-t2v-turbo (fastest)\n- Add tests/test_t2v_models.py: 12 tests covering\n - T2V/I2V model existence via API probe\n - config defaults in GUI list\n - lyric prompt style injection\n - safety filter presence\n - no-lyric edge case\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@gitea.g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@gitea.g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-25T23:58:25+08:00"},"CompareURL":"laiqiaojie/AI-video/compare/753cb3573ea9b14f0bbf61ca0479ca07eed705fa...a64b1b32ca5c7b0d373bdb8f75ad325c7cdcc139","Len":1}...
|
1779724707
|
Edit
Delete
|
|
5204
|
4
|
5
|
4
|
27
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"ec4be1eba {"Commits":[{"Sha1":"ec4be1eba01ab1b3fcf798c27622800f7cae5676","Message":"fix: wanx2.1 models don't support duration parameter\n\n- Add _supports_duration(model) helper: returns False for wanx2.1-*\n- _submit_and_poll_t2v: omit duration for wanx2.1 T2V models\n- _submit_and_poll (I2V): omit duration for wanx2.1 I2V models\n- Add 4 new tests: _supports_duration logic + API acceptance without duration\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@gitea.g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@gitea.g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-26T00:01:45+08:00"}],"HeadCommit":{"Sha1":"ec4be1eba01ab1b3fcf798c27622800f7cae5676","Message":"fix: wanx2.1 models don't support duration parameter\n\n- Add _supports_duration(model) helper: returns False for wanx2.1-*\n- _submit_and_poll_t2v: omit duration for wanx2.1 T2V models\n- _submit_and_poll (I2V): omit duration for wanx2.1 I2V models\n- Add 4 new tests: _supports_duration logic + API acceptance without duration\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@gitea.g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@gitea.g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-26T00:01:45+08:00"},"CompareURL":"laiqiaojie/AI-video/compare/a64b1b32ca5c7b0d373bdb8f75ad325c7cdcc139...ec4be1eba01ab1b3fcf798c27622800f7cae5676","Len":1}...
|
1779724906
|
Edit
Delete
|
|
5205
|
4
|
5
|
4
|
27
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"a587df237 {"Commits":[{"Sha1":"a587df237b38deb9d2f135998dcf66da032d0ccb","Message":"docs: update PROJECT_STATUS.md with test coverage and model compatibility table\n","AuthorEmail":"laiqiaojie@gitea.g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@gitea.g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-26T00:10:32+08:00"}],"HeadCommit":{"Sha1":"a587df237b38deb9d2f135998dcf66da032d0ccb","Message":"docs: update PROJECT_STATUS.md with test coverage and model compatibility table\n","AuthorEmail":"laiqiaojie@gitea.g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@gitea.g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-26T00:10:32+08:00"},"CompareURL":"laiqiaojie/AI-video/compare/ec4be1eba01ab1b3fcf798c27622800f7cae5676...a587df237b38deb9d2f135998dcf66da032d0ccb","Len":1}...
|
1779725433
|
Edit
Delete
|
|
5206
|
4
|
5
|
4
|
27
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"694177981 {"Commits":[{"Sha1":"694177981c8c594843b5456fe8abc9bbc1598056","Message":"test: mark API probe tests as @pytest.mark.network\n\n- Add pytest.ini with 'network' marker registration\n- Tag test_t2v_model_exists, test_i2v_model_exists,\n test_t2v_no_duration_param_accepted with @pytest.mark.network\n- Daily CI: pytest tests/ -m \"not network\" (fast, no API calls)\n- Manual full check: pytest tests/test_t2v_models.py -v\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@gitea.g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@gitea.g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-26T00:15:26+08:00"}],"HeadCommit":{"Sha1":"694177981c8c594843b5456fe8abc9bbc1598056","Message":"test: mark API probe tests as @pytest.mark.network\n\n- Add pytest.ini with 'network' marker registration\n- Tag test_t2v_model_exists, test_i2v_model_exists,\n test_t2v_no_duration_param_accepted with @pytest.mark.network\n- Daily CI: pytest tests/ -m \"not network\" (fast, no API calls)\n- Manual full check: pytest tests/test_t2v_models.py -v\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@gitea.g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@gitea.g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-26T00:15:26+08:00"},"CompareURL":"laiqiaojie/AI-video/compare/a587df237b38deb9d2f135998dcf66da032d0ccb...694177981c8c594843b5456fe8abc9bbc1598056","Len":1}...
|
1779725727
|
Edit
Delete
|
|
5207
|
4
|
1
|
4
|
28
|
0
|
0
|
|
0
|
|
1779726075
|
Edit
Delete
|
|
5208
|
4
|
5
|
4
|
28
|
0
|
0
|
refs/heads/main
|
0
|
|
1779726080
|
Edit
Delete
|
|
5209
|
4
|
5
|
4
|
28
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"2b3d6bd5a {"Commits":[{"Sha1":"2b3d6bd5a23df024b7940c6364b355c6e05cc197","Message":" Initial commit: AI语音桌面应用\n\n 包含核心功能:\n - 音频录制与处理\n - 语音识别(DashScope)\n - 视频合并\n - GUI界面(PyQt6)\n\n 🤖 Generated with [Qoder][https://qoder.com]\n","AuthorEmail":"laiqiaojie@laiqiaojiedeMacBook-Pro.local","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@laiqiaojiedeMacBook-Pro.local","CommitterName":"laiqiaojie","Timestamp":"2026-05-26T00:19:29+08:00"}],"HeadCommit":{"Sha1":"2b3d6bd5a23df024b7940c6364b355c6e05cc197","Message":" Initial commit: AI语音桌面应用\n\n 包含核心功能:\n - 音频录制与处理\n - 语音识别(DashScope)\n - 视频合并\n - GUI界面(PyQt6)\n\n 🤖 Generated with [Qoder][https://qoder.com]\n","AuthorEmail":"laiqiaojie@laiqiaojiedeMacBook-Pro.local","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@laiqiaojiedeMacBook-Pro.local","CommitterName":"laiqiaojie","Timestamp":"2026-05-26T00:19:29+08:00"},"CompareURL":"","Len":1}...
|
1779726080
|
Edit
Delete
|
|
5210
|
4
|
5
|
4
|
27
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"0fd1fcee6 {"Commits":[{"Sha1":"0fd1fcee668f994bee9259a29a25402b841f9914","Message":"test: mark I2VSpeedBenchmark as @pytest.mark.network\n\nPrevents 5+ min real API calls from running in daily CI.\n\"not network\" suite now completes in ~12s instead of 5m37s.\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@gitea.g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@gitea.g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-26T00:22:45+08:00"}],"HeadCommit":{"Sha1":"0fd1fcee668f994bee9259a29a25402b841f9914","Message":"test: mark I2VSpeedBenchmark as @pytest.mark.network\n\nPrevents 5+ min real API calls from running in daily CI.\n\"not network\" suite now completes in ~12s instead of 5m37s.\n\nCo-Authored-By: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@gitea.g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@gitea.g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-05-26T00:22:45+08:00"},"CompareURL":"laiqiaojie/AI-video/compare/694177981c8c594843b5456fe8abc9bbc1598056...0fd1fcee668f994bee9259a29a25402b841f9914","Len":1}...
|
1779726167
|
Edit
Delete
|
|
7375
|
4
|
1
|
4
|
29
|
0
|
0
|
|
1
|
|
1780312724
|
Edit
Delete
|
|
7376
|
4
|
5
|
4
|
29
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"d4dcb1813 {"Commits":[{"Sha1":"d4dcb1813534e74f4fb3ce00ec0f056a73e07796","Message":"add ssh-connect skill with business rules\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-06-01T19:19:21+08:00"}],"HeadCommit":{"Sha1":"d4dcb1813534e74f4fb3ce00ec0f056a73e07796","Message":"add ssh-connect skill with business rules\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-06-01T19:19:21+08:00"},"CompareURL":"laiqiaojie/claude-skills/compare/6971732d037a5d6c7a8b6110bdd30ec8e3d73567...d4dcb1813534e74f4fb3ce00ec0f056a73e07796","Len":1}...
|
1780312767
|
Edit
Delete
|
|
7457
|
4
|
5
|
4
|
28
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"427ad6931 {"Commits":[{"Sha1":"427ad6931c164ffed90f4c7e42b0f71a80d77ead","Message":"feat: 时间线分段架构 + 多音轨选择UI\n\n核心变更:\n- 从固定 clip_duration + 循环裁剪模式改为前奏/歌词段/尾奏的精确时间线拼接\n- 新增 SegmentType(INTRO/LYRIC/OUTRO) + TimelineSegment 数据模型\n- 每段视频 duration 由时间线分段自动计算(min5s/max15s)\n- 前奏/尾奏独立 Prompt: 含蓄渐进 / 余韵渐远\n- build_timeline: trim裁剪 / tpad补帧 / stream_loop循环填充\n- 新增音轨检测(probe_audio_tracks) + 音轨选择对话框(AudioTrackDialog)\n- 多音轨MKV文件导入时自动弹出选择对话框,支持预览播放前30秒\n- 修复主窗口 QMediaPlayer 缺少 QAudioOutput 的 bug\n- 移除 clip_duration 配置项\n- 更新项目文档(PROJECT_DOC.md)\n\n🤖 Generated with [Qoder][https://qoder.com]\n","AuthorEmail":"laiqiaojie@192.168.31.162","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@192.168.31.162","CommitterName":"laiqiaojie","Timestamp":"2026-06-02T00:34:11+08:00"}],"HeadCommit":{"Sha1":"427ad6931c164ffed90f4c7e42b0f71a80d77ead","Message":"feat: 时间线分段架构 + 多音轨选择UI\n\n核心变更:\n- 从固定 clip_duration + 循环裁剪模式改为前奏/歌词段/尾奏的精确时间线拼接\n- 新增 SegmentType(INTRO/LYRIC/OUTRO) + TimelineSegment 数据模型\n- 每段视频 duration 由时间线分段自动计算(min5s/max15s)\n- 前奏/尾奏独立 Prompt: 含蓄渐进 / 余韵渐远\n- build_timeline: trim裁剪 / tpad补帧 / stream_loop循环填充\n- 新增音轨检测(probe_audio_tracks) + 音轨选择对话框(AudioTrackDialog)\n- 多音轨MKV文件导入时自动弹出选择对话框,支持预览播放前30秒\n- 修复主窗口 QMediaPlayer 缺少 QAudioOutput 的 bug\n- 移除 clip_duration 配置项\n- 更新项目文档(PROJECT_DOC.md)\n\n🤖 Generated with [Qoder][https://qoder.com]\n","AuthorEmail":"laiqiaojie@192.168.31.162","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@192.168.31.162","CommitterName":"laiqiaojie","Timestamp":"2026-06-02T00:34:11+08:00"},"CompareURL":"laiqiaojie/mv_create/compare/2b3d6bd5a23df024b7940c6364b355c6e05cc197...427ad6931c164ffed90f4c7e42b0f71a80d77ead","Len":1}...
|
1780331658
|
Edit
Delete
|
|
7631
|
4
|
5
|
4
|
29
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"6b441f443 {"Commits":[{"Sha1":"6b441f4433de8a71092264abf45d4b765126a907","Message":"feat(ssh-connect): 添加 Read error 排查方法论\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-06-02T11:30:09+08:00"}],"HeadCommit":{"Sha1":"6b441f4433de8a71092264abf45d4b765126a907","Message":"feat(ssh-connect): 添加 Read error 排查方法论\n","AuthorEmail":"laiqiaojie@g-hi.com","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@g-hi.com","CommitterName":"laiqiaojie","Timestamp":"2026-06-02T11:30:09+08:00"},"CompareURL":"laiqiaojie/claude-skills/compare/d4dcb1813534e74f4fb3ce00ec0f056a73e07796...6b441f4433de8a71092264abf45d4b765126a907","Len":1}...
|
1780371013
|
Edit
Delete
|
|
8016
|
4
|
5
|
4
|
28
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"66120ddb5 {"Commits":[{"Sha1":"66120ddb513aad1dde4c957a2cdf89ed5f0f7f0d","Message":"fix: 修复 BPM 检测八度偏差问题\n\n用 Generate-then-Score 算法重写 _detect_tempo:\n- 多候选生成(含 x2 和 /2 八度变体)\n- onset envelope peak 覆盖率打分\n- 半速优先策略(覆盖率 \u003e= 90% 时选半速)\n\n修复前: test_bpm.mp3 → 176 BPM(双倍错误)\n修复后: test_bpm.mp3 → 88 BPM(正确)\n\n新增 8 个单元测试覆盖核心逻辑\n\n🤖 Generated with [Qoder][https://qoder.com]\n","AuthorEmail":"gitea@gitea.g-hi.com","AuthorName":"gitea","CommitterEmail":"gitea@gitea.g-hi.com","CommitterName":"gitea","Timestamp":"2026-06-02T19:14:34+08:00"}],"HeadCommit":{"Sha1":"66120ddb513aad1dde4c957a2cdf89ed5f0f7f0d","Message":"fix: 修复 BPM 检测八度偏差问题\n\n用 Generate-then-Score 算法重写 _detect_tempo:\n- 多候选生成(含 x2 和 /2 八度变体)\n- onset envelope peak 覆盖率打分\n- 半速优先策略(覆盖率 \u003e= 90% 时选半速)\n\n修复前: test_bpm.mp3 → 176 BPM(双倍错误)\n修复后: test_bpm.mp3 → 88 BPM(正确)\n\n新增 8 个单元测试覆盖核心逻辑\n\n🤖 Generated with [Qoder][https://qoder.com]\n","AuthorEmail":"gitea@gitea.g-hi.com","AuthorName":"gitea","CommitterEmail":"gitea@gitea.g-hi.com","CommitterName":"gitea","Timestamp":"2026-06-02T19:14:34+08:00"},"CompareURL":"laiqiaojie/mv_create/compare/427ad6931c164ffed90f4c7e42b0f71a80d77ead...66120ddb513aad1dde4c957a2cdf89ed5f0f7f0d","Len":1}...
|
1780398884
|
Edit
Delete
|
|
8097
|
4
|
5
|
4
|
28
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"d989619a0 {"Commits":[{"Sha1":"d989619a06dfea86b98129ef6985973c5b28e47a","Message":"docs: 更新 BPM/VAD 修复至项目文档\n\n同步 BPM 检测算法(seed 共识八度校正)与歌词识别(关闭 VAD)的当前实现,\n进度表新增 v2.2 两条修复。\n\nCo-Authored-By: Claude Opus 4.7 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@laiqiaojiedeMacBook-Pro.local","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@laiqiaojiedeMacBook-Pro.local","CommitterName":"laiqiaojie","Timestamp":"2026-06-02T23:06:32+08:00"},{"Sha1":"8a2d2b709fc04b86748b109b7c30a350436524c4","Message":"fix: 补上 audio_track_dialog 缺失的 QWidget 导入;新增 .gitignore\n\n.gitignore 忽略大体积测试素材(*.mp4)、生成产物(mv_clips/)、日志与\n.DS_Store,避免误提交。\n\nCo-Authored-By: Claude Opus 4.7 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@laiqiaojiedeMacBook-Pro.local","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@laiqiaojiedeMacBook-Pro.local","CommitterName":"laiqiaojie","Timestamp":"2026-06-02T23:00:08+08:00"},{"Sha1":"6cc325f58aa266c8bb68ef47c1b72600c3e2d70e","Message":"fix: BPM 八度误判改用 seed 共识校正 + 关闭歌词识别 VAD\n\nBPM: 慢板情歌常被检成双倍速(如 131)。Phase 4 八度校正改用与解码\n无关的 beat-tracker seed 共识投票——best\u003e120 且多数 seed 收敛到其半速时\n减半。之前的低频带 mel 打分在 GUI/CLI 不同解码后端下结果不稳。\n\n歌词: 关闭 vad_filter。Silero VAD 在整首带伴奏音乐上易把演唱误判为\n非人声,导致整首歌词被滤光(实测整首 342s 开 VAD 得 0 段、关 VAD 得 33 段)。\n\nCo-Authored-By: Claude Opus 4.7 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@laiqiaojiedeMacBook-Pro.local","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@laiqiaojiedeMacBook-Pro.local","CommitterName":"laiqiaojie","Timestamp":"2026-06-02T22:56:02+08:00"}],"HeadCommit":{"Sha1":"d989619a06dfea86b98129ef6985973c5b28e47a","Message":"docs: 更新 BPM/VAD 修复至项目文档\n\n同步 BPM 检测算法(seed 共识八度校正)与歌词识别(关闭 VAD)的当前实现,\n进度表新增 v2.2 两条修复。\n\nCo-Authored-By: Claude Opus 4.7 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@laiqiaojiedeMacBook-Pro.local","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@laiqiaojiedeMacBook-Pro.local","CommitterName":"laiqiaojie","Timestamp":"2026-06-02T23:06:32+08:00"},"CompareURL":"laiqiaojie/mv_create/compare/66120ddb513aad1dde4c957a2cdf89ed5f0f7f0d...d989619a06dfea86b98129ef6985973c5b28e47a","Len":3}...
|
1780412807
|
Edit
Delete
|
|
8098
|
4
|
5
|
4
|
28
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"6129a4ab6 {"Commits":[{"Sha1":"6129a4ab637a642b945c044cf31ee1fa6ad8741c","Message":"chore: 补充合并链路详细日志,便于排查片段丢失问题\n\n- 日志 handler 挂到 root logger 并落盘 app_run.log(每次启动覆盖),\n 使 core.* 各模块(video_merger 等)的 INFO 日志可见(此前子 logger\n 未配 handler,只输出 WARNING+,合并细节不可见)\n- Step5 输出失败片段索引与错误、成功片段索引\n- Step6 打印进入合并的片段清单(start/槽时长/实测时长)\n- video_merger 打印所选合并路径、拼接总时长;音频循环分支升级为 warning\n\n排查\"很多片段但只用一个\"时可沿: 成功数→进合并数→合并路径→拼接总时长\n→是否循环铺满 逐步定位。\n\nCo-Authored-By: Claude Opus 4.7 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@laiqiaojiedeMacBook-Pro.local","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@laiqiaojiedeMacBook-Pro.local","CommitterName":"laiqiaojie","Timestamp":"2026-06-03T09:25:54+08:00"}],"HeadCommit":{"Sha1":"6129a4ab637a642b945c044cf31ee1fa6ad8741c","Message":"chore: 补充合并链路详细日志,便于排查片段丢失问题\n\n- 日志 handler 挂到 root logger 并落盘 app_run.log(每次启动覆盖),\n 使 core.* 各模块(video_merger 等)的 INFO 日志可见(此前子 logger\n 未配 handler,只输出 WARNING+,合并细节不可见)\n- Step5 输出失败片段索引与错误、成功片段索引\n- Step6 打印进入合并的片段清单(start/槽时长/实测时长)\n- video_merger 打印所选合并路径、拼接总时长;音频循环分支升级为 warning\n\n排查\"很多片段但只用一个\"时可沿: 成功数→进合并数→合并路径→拼接总时长\n→是否循环铺满 逐步定位。\n\nCo-Authored-By: Claude Opus 4.7 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@laiqiaojiedeMacBook-Pro.local","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@laiqiaojiedeMacBook-Pro.local","CommitterName":"laiqiaojie","Timestamp":"2026-06-03T09:25:54+08:00"},"CompareURL":"laiqiaojie/mv_create/compare/d989619a06dfea86b98129ef6985973c5b28e47a...6129a4ab637a642b945c044cf31ee1fa6ad8741c","Len":1}...
|
1780449961
|
Edit
Delete
|