|
7638
|
refactor: 8模块96处 as any 精确替换清零
|
6
|
5
|
test-pipeline.yml
|
7563
|
5
|
0
|
refs/heads/main
|
8c39619c9cdb0d888d10942bf50533c8238021df
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"cfe1efeda7265f05374d3bd0036cf684a15f3cb9","after":"8c39619c9cdb0d888d10942bf50533c8238021df","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/cfe1efeda7265f05374d3bd0036cf684a15f3cb9...8c39619c9cdb0d888d10942bf50533c8238021df","commits":[{"id":"8c39619c9cdb0d888d10942bf50533c8238021df","message":"refactor: 8模块96处 as any 精确替换清零\n\n## 手动清理 (33处)\n- ticket-operations.service.ts: 11→0 (Prisma UpdateManyMutationInput)\n- knowledge-crud.service.ts: 11→0 (Record\u003cstring,unknown\u003e + 具体DTO)\n- crm-activity.service.ts: 11→0 (prismaModel + Record + string)\n\n## Agent 清理 (63处)\n- groupbuy-promotion.service.ts: 14→0\n- analytics.controller.ts: 13→0\n- partner.service.ts: 12→0\n- groupbuy-redemption.service.ts: 12→0\n- groupbuy-participant.service.ts: 12→0\n\n累计 as any 清零:299处 (203+96),覆盖24个文件\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8c39619c9cdb0d888d10942bf50533c8238021df","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T09:45:09+08:00","added":[],"removed":[],"modified":["backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/crm-activities/crm-activity.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/tickets/ticket-operations.service.ts"]}],"total_commits":0,"head_commit":{"id":"8c39619c9cdb0d888d10942bf50533c8238021df","message":"refactor: 8模块96处 as any 精确替换清零\n\n## 手动清理 (33处)\n- ticket-operations.service.ts: 11→0 (Prisma UpdateManyMutationInput)\n- knowledge-crud.service.ts: 11→0 (Record\u003cstring,unknown\u003e + 具体DTO)\n- crm-activity.service.ts: 11→0 (prismaModel + Record + string)\n\n## Agent 清理 (63处)\n- groupbuy-promotion.service.ts: 14→0\n- analytics.controller.ts: 13→0\n- partner.service.ts: 12→0\n- groupbuy-redemption.service.ts: 12→0\n- groupbuy-participant.service.ts: 12→0\n\n累计 as any 清零:299处 (203+96),覆盖24个文件\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8c39619c9cdb0d888d10942bf50533c8238021df","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T09:45:09+08:00","added":[],"removed":[],"modified":["backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/crm-activities/crm-activity.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/tickets/ticket-operations.service.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1956499,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-24T09:17:39+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
68
|
1774316929
|
1774316965
|
0
|
1774316715
|
1774317032
|
group: test-pipeline-${{ github.ref }}
cancel-in-p group: test-pipeline-${{ github.ref }}
cancel-in-progress: "true"
...
|
test-pipeline-refs/heads/main
|
1
|
Edit
Delete
|
|
7644
|
refactor: 8模块96处 as any 精确替换清零
|
6
|
5
|
health-check.yml
|
7569
|
-2
|
127
|
refs/heads/main
|
8c39619c9cdb0d888d10942bf50533c8238021df
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"cfe1efeda7265f05374d3bd0036cf684a15f3cb9","after":"8c39619c9cdb0d888d10942bf50533c8238021df","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/cfe1efeda7265f05374d3bd0036cf684a15f3cb9...8c39619c9cdb0d888d10942bf50533c8238021df","commits":[{"id":"8c39619c9cdb0d888d10942bf50533c8238021df","message":"refactor: 8模块96处 as any 精确替换清零\n\n## 手动清理 (33处)\n- ticket-operations.service.ts: 11→0 (Prisma UpdateManyMutationInput)\n- knowledge-crud.service.ts: 11→0 (Record\u003cstring,unknown\u003e + 具体DTO)\n- crm-activity.service.ts: 11→0 (prismaModel + Record + string)\n\n## Agent 清理 (63处)\n- groupbuy-promotion.service.ts: 14→0\n- analytics.controller.ts: 13→0\n- partner.service.ts: 12→0\n- groupbuy-redemption.service.ts: 12→0\n- groupbuy-participant.service.ts: 12→0\n\n累计 as any 清零:299处 (203+96),覆盖24个文件\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8c39619c9cdb0d888d10942bf50533c8238021df","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T09:45:09+08:00","added":[],"removed":[],"modified":["backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/crm-activities/crm-activity.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/tickets/ticket-operations.service.ts"]}],"total_commits":0,"head_commit":{"id":"8c39619c9cdb0d888d10942bf50533c8238021df","message":"refactor: 8模块96处 as any 精确替换清零\n\n## 手动清理 (33处)\n- ticket-operations.service.ts: 11→0 (Prisma UpdateManyMutationInput)\n- knowledge-crud.service.ts: 11→0 (Record\u003cstring,unknown\u003e + 具体DTO)\n- crm-activity.service.ts: 11→0 (prismaModel + Record + string)\n\n## Agent 清理 (63处)\n- groupbuy-promotion.service.ts: 14→0\n- analytics.controller.ts: 13→0\n- partner.service.ts: 12→0\n- groupbuy-redemption.service.ts: 12→0\n- groupbuy-participant.service.ts: 12→0\n\n累计 as any 清零:299处 (203+96),覆盖24个文件\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8c39619c9cdb0d888d10942bf50533c8238021df","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T09:45:09+08:00","added":[],"removed":[],"modified":["backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/crm-activities/crm-activity.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/tickets/ticket-operations.service.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1956499,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-24T09:17:39+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774317046
|
1774317046
|
0
|
1774317040
|
1774317046
|
|
|
0
|
Edit
Delete
|
|
7645
|
refactor: 8模块96处 as any 精确替换清零
|
6
|
5
|
health-check.yml
|
7570
|
-2
|
127
|
refs/heads/main
|
8c39619c9cdb0d888d10942bf50533c8238021df
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"cfe1efeda7265f05374d3bd0036cf684a15f3cb9","after":"8c39619c9cdb0d888d10942bf50533c8238021df","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/cfe1efeda7265f05374d3bd0036cf684a15f3cb9...8c39619c9cdb0d888d10942bf50533c8238021df","commits":[{"id":"8c39619c9cdb0d888d10942bf50533c8238021df","message":"refactor: 8模块96处 as any 精确替换清零\n\n## 手动清理 (33处)\n- ticket-operations.service.ts: 11→0 (Prisma UpdateManyMutationInput)\n- knowledge-crud.service.ts: 11→0 (Record\u003cstring,unknown\u003e + 具体DTO)\n- crm-activity.service.ts: 11→0 (prismaModel + Record + string)\n\n## Agent 清理 (63处)\n- groupbuy-promotion.service.ts: 14→0\n- analytics.controller.ts: 13→0\n- partner.service.ts: 12→0\n- groupbuy-redemption.service.ts: 12→0\n- groupbuy-participant.service.ts: 12→0\n\n累计 as any 清零:299处 (203+96),覆盖24个文件\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8c39619c9cdb0d888d10942bf50533c8238021df","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T09:45:09+08:00","added":[],"removed":[],"modified":["backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/crm-activities/crm-activity.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/tickets/ticket-operations.service.ts"]}],"total_commits":0,"head_commit":{"id":"8c39619c9cdb0d888d10942bf50533c8238021df","message":"refactor: 8模块96处 as any 精确替换清零\n\n## 手动清理 (33处)\n- ticket-operations.service.ts: 11→0 (Prisma UpdateManyMutationInput)\n- knowledge-crud.service.ts: 11→0 (Record\u003cstring,unknown\u003e + 具体DTO)\n- crm-activity.service.ts: 11→0 (prismaModel + Record + string)\n\n## Agent 清理 (63处)\n- groupbuy-promotion.service.ts: 14→0\n- analytics.controller.ts: 13→0\n- partner.service.ts: 12→0\n- groupbuy-redemption.service.ts: 12→0\n- groupbuy-participant.service.ts: 12→0\n\n累计 as any 清零:299处 (203+96),覆盖24个文件\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8c39619c9cdb0d888d10942bf50533c8238021df","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T09:45:09+08:00","added":[],"removed":[],"modified":["backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/crm-activities/crm-activity.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/tickets/ticket-operations.service.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1956499,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-24T09:17:39+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774317340
|
1774317340
|
0
|
1774317340
|
1774317340
|
|
|
0
|
Edit
Delete
|
|
7646
|
refactor: 8模块96处 as any 精确替换清零
|
6
|
5
|
health-check.yml
|
7571
|
-2
|
127
|
refs/heads/main
|
8c39619c9cdb0d888d10942bf50533c8238021df
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"cfe1efeda7265f05374d3bd0036cf684a15f3cb9","after":"8c39619c9cdb0d888d10942bf50533c8238021df","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/cfe1efeda7265f05374d3bd0036cf684a15f3cb9...8c39619c9cdb0d888d10942bf50533c8238021df","commits":[{"id":"8c39619c9cdb0d888d10942bf50533c8238021df","message":"refactor: 8模块96处 as any 精确替换清零\n\n## 手动清理 (33处)\n- ticket-operations.service.ts: 11→0 (Prisma UpdateManyMutationInput)\n- knowledge-crud.service.ts: 11→0 (Record\u003cstring,unknown\u003e + 具体DTO)\n- crm-activity.service.ts: 11→0 (prismaModel + Record + string)\n\n## Agent 清理 (63处)\n- groupbuy-promotion.service.ts: 14→0\n- analytics.controller.ts: 13→0\n- partner.service.ts: 12→0\n- groupbuy-redemption.service.ts: 12→0\n- groupbuy-participant.service.ts: 12→0\n\n累计 as any 清零:299处 (203+96),覆盖24个文件\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8c39619c9cdb0d888d10942bf50533c8238021df","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T09:45:09+08:00","added":[],"removed":[],"modified":["backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/crm-activities/crm-activity.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/tickets/ticket-operations.service.ts"]}],"total_commits":0,"head_commit":{"id":"8c39619c9cdb0d888d10942bf50533c8238021df","message":"refactor: 8模块96处 as any 精确替换清零\n\n## 手动清理 (33处)\n- ticket-operations.service.ts: 11→0 (Prisma UpdateManyMutationInput)\n- knowledge-crud.service.ts: 11→0 (Record\u003cstring,unknown\u003e + 具体DTO)\n- crm-activity.service.ts: 11→0 (prismaModel + Record + string)\n\n## Agent 清理 (63处)\n- groupbuy-promotion.service.ts: 14→0\n- analytics.controller.ts: 13→0\n- partner.service.ts: 12→0\n- groupbuy-redemption.service.ts: 12→0\n- groupbuy-participant.service.ts: 12→0\n\n累计 as any 清零:299处 (203+96),覆盖24个文件\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8c39619c9cdb0d888d10942bf50533c8238021df","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T09:45:09+08:00","added":[],"removed":[],"modified":["backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/crm-activities/crm-activity.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/tickets/ticket-operations.service.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1956499,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-24T09:17:39+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774317640
|
1774317640
|
0
|
1774317640
|
1774317640
|
|
|
0
|
Edit
Delete
|
|
7647
|
refactor: 8模块96处 as any 精确替换清零
|
6
|
5
|
health-check.yml
|
7572
|
-2
|
127
|
refs/heads/main
|
8c39619c9cdb0d888d10942bf50533c8238021df
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"cfe1efeda7265f05374d3bd0036cf684a15f3cb9","after":"8c39619c9cdb0d888d10942bf50533c8238021df","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/cfe1efeda7265f05374d3bd0036cf684a15f3cb9...8c39619c9cdb0d888d10942bf50533c8238021df","commits":[{"id":"8c39619c9cdb0d888d10942bf50533c8238021df","message":"refactor: 8模块96处 as any 精确替换清零\n\n## 手动清理 (33处)\n- ticket-operations.service.ts: 11→0 (Prisma UpdateManyMutationInput)\n- knowledge-crud.service.ts: 11→0 (Record\u003cstring,unknown\u003e + 具体DTO)\n- crm-activity.service.ts: 11→0 (prismaModel + Record + string)\n\n## Agent 清理 (63处)\n- groupbuy-promotion.service.ts: 14→0\n- analytics.controller.ts: 13→0\n- partner.service.ts: 12→0\n- groupbuy-redemption.service.ts: 12→0\n- groupbuy-participant.service.ts: 12→0\n\n累计 as any 清零:299处 (203+96),覆盖24个文件\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8c39619c9cdb0d888d10942bf50533c8238021df","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T09:45:09+08:00","added":[],"removed":[],"modified":["backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/crm-activities/crm-activity.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/tickets/ticket-operations.service.ts"]}],"total_commits":0,"head_commit":{"id":"8c39619c9cdb0d888d10942bf50533c8238021df","message":"refactor: 8模块96处 as any 精确替换清零\n\n## 手动清理 (33处)\n- ticket-operations.service.ts: 11→0 (Prisma UpdateManyMutationInput)\n- knowledge-crud.service.ts: 11→0 (Record\u003cstring,unknown\u003e + 具体DTO)\n- crm-activity.service.ts: 11→0 (prismaModel + Record + string)\n\n## Agent 清理 (63处)\n- groupbuy-promotion.service.ts: 14→0\n- analytics.controller.ts: 13→0\n- partner.service.ts: 12→0\n- groupbuy-redemption.service.ts: 12→0\n- groupbuy-participant.service.ts: 12→0\n\n累计 as any 清零:299处 (203+96),覆盖24个文件\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8c39619c9cdb0d888d10942bf50533c8238021df","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T09:45:09+08:00","added":[],"removed":[],"modified":["backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/crm-activities/crm-activity.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/tickets/ticket-operations.service.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1956499,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-24T09:17:39+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774317940
|
1774317940
|
0
|
1774317940
|
1774317940
|
|
|
0
|
Edit
Delete
|
|
7648
|
refactor: 8模块96处 as any 精确替换清零
|
6
|
5
|
health-check.yml
|
7573
|
-2
|
127
|
refs/heads/main
|
8c39619c9cdb0d888d10942bf50533c8238021df
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"cfe1efeda7265f05374d3bd0036cf684a15f3cb9","after":"8c39619c9cdb0d888d10942bf50533c8238021df","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/cfe1efeda7265f05374d3bd0036cf684a15f3cb9...8c39619c9cdb0d888d10942bf50533c8238021df","commits":[{"id":"8c39619c9cdb0d888d10942bf50533c8238021df","message":"refactor: 8模块96处 as any 精确替换清零\n\n## 手动清理 (33处)\n- ticket-operations.service.ts: 11→0 (Prisma UpdateManyMutationInput)\n- knowledge-crud.service.ts: 11→0 (Record\u003cstring,unknown\u003e + 具体DTO)\n- crm-activity.service.ts: 11→0 (prismaModel + Record + string)\n\n## Agent 清理 (63处)\n- groupbuy-promotion.service.ts: 14→0\n- analytics.controller.ts: 13→0\n- partner.service.ts: 12→0\n- groupbuy-redemption.service.ts: 12→0\n- groupbuy-participant.service.ts: 12→0\n\n累计 as any 清零:299处 (203+96),覆盖24个文件\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8c39619c9cdb0d888d10942bf50533c8238021df","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T09:45:09+08:00","added":[],"removed":[],"modified":["backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/crm-activities/crm-activity.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/tickets/ticket-operations.service.ts"]}],"total_commits":0,"head_commit":{"id":"8c39619c9cdb0d888d10942bf50533c8238021df","message":"refactor: 8模块96处 as any 精确替换清零\n\n## 手动清理 (33处)\n- ticket-operations.service.ts: 11→0 (Prisma UpdateManyMutationInput)\n- knowledge-crud.service.ts: 11→0 (Record\u003cstring,unknown\u003e + 具体DTO)\n- crm-activity.service.ts: 11→0 (prismaModel + Record + string)\n\n## Agent 清理 (63处)\n- groupbuy-promotion.service.ts: 14→0\n- analytics.controller.ts: 13→0\n- partner.service.ts: 12→0\n- groupbuy-redemption.service.ts: 12→0\n- groupbuy-participant.service.ts: 12→0\n\n累计 as any 清零:299处 (203+96),覆盖24个文件\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8c39619c9cdb0d888d10942bf50533c8238021df","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T09:45:09+08:00","added":[],"removed":[],"modified":["backend/src/modules/analytics/analytics.controller.ts","backend/src/modules/crm-activities/crm-activity.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.service.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/groupbuy-redemptions/groupbuy-redemption.service.ts","backend/src/modules/knowledge/knowledge-crud.service.ts","backend/src/modules/partners/partner.service.ts","backend/src/modules/tickets/ticket-operations.service.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1956499,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-24T09:17:39+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
4
|
4
|
1774318240
|
1774318240
|
0
|
1774318240
|
1774318240
|
|
|
0
|
Edit
Delete
|
|
6423
|
sync: 同步治理文档与协同/系统中心治理回放产物
|
6
|
5
|
ci.yml
|
6351
|
5
|
0
|
refs/heads/main
|
2732364ba177bf3cf8029788b582f34689d5d9a9
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"cf72cf544ca2a256fc4024e735a4c2e127aa6e39","after":"2732364ba177bf3cf8029788b582f34689d5d9a9","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/cf72cf544ca2a256fc4024e735a4c2e127aa6e39...2732364ba177bf3cf8029788b582f34689d5d9a9","commits":[{"id":"2732364ba177bf3cf8029788b582f34689d5d9a9","message":"sync: 同步治理文档与协同/系统中心治理回放产物\n\n- 同步四份统一文档(AGENTS/CLAUDE/GEMINI/README)\n- 更新治理经验报告与契约治理 3.0 文档\n- 更新 admin.json 认证夹具\n- 新增协同中心治理回放产物 (synergy-governance-recheck-v1~v4)\n - 包含用户/角色/资源请求 probes 与覆盖报告\n- 新增系统中心治理回放产物:\n - system-governance-recheck-v1~v3: 系统配置/事件订阅/IM 渠道\n - system-governance-loginlogs-v1: 登录日志\n - system-governance-operationlogs-v1: 操作日志\n - system-governance-scheduled-v1: 定时任务\n - system-governance-message-v1~v3: 消息渠道\n- 更新可见菜单写动作 runner (01-visible-menu-write-runner.spec.ts)\n- 更新 module-catalog.overrides.ts 配置\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2732364ba177bf3cf8029788b582f34689d5d9a9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T20:08:42+08:00","added":["e2e/output/playwright/synergy-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/synergy-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/synergy-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/synergy-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/synergy-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/synergy-governance-recheck-v3/failure-1.html","e2e/output/playwright/synergy-governance-recheck-v3/failure-1.png","e2e/output/playwright/synergy-governance-recheck-v3/failure-2.html","e2e/output/playwright/synergy-governance-recheck-v3/failure-2.png","e2e/output/playwright/synergy-governance-recheck-v3/probes/-roles-1773748206620.json","e2e/output/playwright/synergy-governance-recheck-v3/probes/-users-1773748205599.json","e2e/output/playwright/synergy-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/synergy-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/synergy-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/synergy-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/synergy-governance-recheck-v4/probes/-resource-requests-1773748497939.json","e2e/output/playwright/synergy-governance-recheck-v4/probes/-roles-1773748483571.json","e2e/output/playwright/synergy-governance-recheck-v4/probes/-users-1773748481271.json","e2e/output/playwright/synergy-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/system-governance-loginlogs-v1/action-coverage-report.json","e2e/output/playwright/system-governance-loginlogs-v1/action-coverage-report.md","e2e/output/playwright/system-governance-loginlogs-v1/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-loginlogs-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-message-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-message-v2/probes/-im-channels-1773748950535.json","e2e/output/playwright/system-governance-message-v2/visible-menu-snapshot.json","e2e/output/playwright/system-governance-message-v3/action-coverage-report.json","e2e/output/playwright/system-governance-message-v3/action-coverage-report.md","e2e/output/playwright/system-governance-message-v3/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-message-v3/probes/-im-channels-1773749016167.json","e2e/output/playwright/system-governance-message-v3/visible-menu-snapshot.json","e2e/output/playwright/system-governance-operationlogs-v1/action-coverage-report.json","e2e/output/playwright/system-governance-operationlogs-v1/action-coverage-report.md","e2e/output/playwright/system-governance-operationlogs-v1/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-operationlogs-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/system-governance-recheck-v1/probes/-event-subscriptions-1773748598665.json","e2e/output/playwright/system-governance-recheck-v1/probes/-system-biz-sequences-1773748584661.json","e2e/output/playwright/system-governance-recheck-v1/probes/-system-params-1773748561057.json","e2e/output/playwright/system-governance-recheck-v1/probes/-system-tenant-configs-1773748559031.json","e2e/output/playwright/system-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/system-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/system-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/system-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-recheck-v3/probes/-im-channels-1773749049710.json","e2e/output/playwright/system-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/system-governance-scheduled-v1/action-coverage-report.json","e2e/output/playwright/system-governance-scheduled-v1/action-coverage-report.md","e2e/output/playwright/system-governance-scheduled-v1/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-scheduled-v1/visible-menu-snapshot.json"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/contract-governance-3.0.md","docs/reports/governance-experience-2026-03-07.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/test-results/results.json","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts"]}],"total_commits":0,"head_commit":{"id":"2732364ba177bf3cf8029788b582f34689d5d9a9","message":"sync: 同步治理文档与协同/系统中心治理回放产物\n\n- 同步四份统一文档(AGENTS/CLAUDE/GEMINI/README)\n- 更新治理经验报告与契约治理 3.0 文档\n- 更新 admin.json 认证夹具\n- 新增协同中心治理回放产物 (synergy-governance-recheck-v1~v4)\n - 包含用户/角色/资源请求 probes 与覆盖报告\n- 新增系统中心治理回放产物:\n - system-governance-recheck-v1~v3: 系统配置/事件订阅/IM 渠道\n - system-governance-loginlogs-v1: 登录日志\n - system-governance-operationlogs-v1: 操作日志\n - system-governance-scheduled-v1: 定时任务\n - system-governance-message-v1~v3: 消息渠道\n- 更新可见菜单写动作 runner (01-visible-menu-write-runner.spec.ts)\n- 更新 module-catalog.overrides.ts 配置\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2732364ba177bf3cf8029788b582f34689d5d9a9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T20:08:42+08:00","added":["e2e/output/playwright/synergy-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/synergy-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/synergy-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/synergy-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/synergy-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/synergy-governance-recheck-v3/failure-1.html","e2e/output/playwright/synergy-governance-recheck-v3/failure-1.png","e2e/output/playwright/synergy-governance-recheck-v3/failure-2.html","e2e/output/playwright/synergy-governance-recheck-v3/failure-2.png","e2e/output/playwright/synergy-governance-recheck-v3/probes/-roles-1773748206620.json","e2e/output/playwright/synergy-governance-recheck-v3/probes/-users-1773748205599.json","e2e/output/playwright/synergy-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/synergy-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/synergy-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/synergy-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/synergy-governance-recheck-v4/probes/-resource-requests-1773748497939.json","e2e/output/playwright/synergy-governance-recheck-v4/probes/-roles-1773748483571.json","e2e/output/playwright/synergy-governance-recheck-v4/probes/-users-1773748481271.json","e2e/output/playwright/synergy-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/system-governance-loginlogs-v1/action-coverage-report.json","e2e/output/playwright/system-governance-loginlogs-v1/action-coverage-report.md","e2e/output/playwright/system-governance-loginlogs-v1/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-loginlogs-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-message-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-message-v2/probes/-im-channels-1773748950535.json","e2e/output/playwright/system-governance-message-v2/visible-menu-snapshot.json","e2e/output/playwright/system-governance-message-v3/action-coverage-report.json","e2e/output/playwright/system-governance-message-v3/action-coverage-report.md","e2e/output/playwright/system-governance-message-v3/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-message-v3/probes/-im-channels-1773749016167.json","e2e/output/playwright/system-governance-message-v3/visible-menu-snapshot.json","e2e/output/playwright/system-governance-operationlogs-v1/action-coverage-report.json","e2e/output/playwright/system-governance-operationlogs-v1/action-coverage-report.md","e2e/output/playwright/system-governance-operationlogs-v1/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-operationlogs-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/system-governance-recheck-v1/probes/-event-subscriptions-1773748598665.json","e2e/output/playwright/system-governance-recheck-v1/probes/-system-biz-sequences-1773748584661.json","e2e/output/playwright/system-governance-recheck-v1/probes/-system-params-1773748561057.json","e2e/output/playwright/system-governance-recheck-v1/probes/-system-tenant-configs-1773748559031.json","e2e/output/playwright/system-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/system-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/system-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/system-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-recheck-v3/probes/-im-channels-1773749049710.json","e2e/output/playwright/system-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/system-governance-scheduled-v1/action-coverage-report.json","e2e/output/playwright/system-governance-scheduled-v1/action-coverage-report.md","e2e/output/playwright/system-governance-scheduled-v1/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-scheduled-v1/visible-menu-snapshot.json"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/contract-governance-3.0.md","docs/reports/governance-experience-2026-03-07.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/test-results/results.json","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1838217,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-17T20:05:32+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
24
|
1773749338
|
1773749372
|
0
|
1773749337
|
1773749372
|
NULL
|
|
0
|
Edit
Delete
|
|
6424
|
sync: 同步治理文档与协同/系统中心治理回放产物
|
6
|
5
|
health-check.yml
|
6352
|
-2
|
63
|
refs/heads/main
|
2732364ba177bf3cf8029788b582f34689d5d9a9
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"cf72cf544ca2a256fc4024e735a4c2e127aa6e39","after":"2732364ba177bf3cf8029788b582f34689d5d9a9","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/cf72cf544ca2a256fc4024e735a4c2e127aa6e39...2732364ba177bf3cf8029788b582f34689d5d9a9","commits":[{"id":"2732364ba177bf3cf8029788b582f34689d5d9a9","message":"sync: 同步治理文档与协同/系统中心治理回放产物\n\n- 同步四份统一文档(AGENTS/CLAUDE/GEMINI/README)\n- 更新治理经验报告与契约治理 3.0 文档\n- 更新 admin.json 认证夹具\n- 新增协同中心治理回放产物 (synergy-governance-recheck-v1~v4)\n - 包含用户/角色/资源请求 probes 与覆盖报告\n- 新增系统中心治理回放产物:\n - system-governance-recheck-v1~v3: 系统配置/事件订阅/IM 渠道\n - system-governance-loginlogs-v1: 登录日志\n - system-governance-operationlogs-v1: 操作日志\n - system-governance-scheduled-v1: 定时任务\n - system-governance-message-v1~v3: 消息渠道\n- 更新可见菜单写动作 runner (01-visible-menu-write-runner.spec.ts)\n- 更新 module-catalog.overrides.ts 配置\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2732364ba177bf3cf8029788b582f34689d5d9a9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T20:08:42+08:00","added":["e2e/output/playwright/synergy-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/synergy-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/synergy-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/synergy-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/synergy-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/synergy-governance-recheck-v3/failure-1.html","e2e/output/playwright/synergy-governance-recheck-v3/failure-1.png","e2e/output/playwright/synergy-governance-recheck-v3/failure-2.html","e2e/output/playwright/synergy-governance-recheck-v3/failure-2.png","e2e/output/playwright/synergy-governance-recheck-v3/probes/-roles-1773748206620.json","e2e/output/playwright/synergy-governance-recheck-v3/probes/-users-1773748205599.json","e2e/output/playwright/synergy-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/synergy-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/synergy-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/synergy-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/synergy-governance-recheck-v4/probes/-resource-requests-1773748497939.json","e2e/output/playwright/synergy-governance-recheck-v4/probes/-roles-1773748483571.json","e2e/output/playwright/synergy-governance-recheck-v4/probes/-users-1773748481271.json","e2e/output/playwright/synergy-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/system-governance-loginlogs-v1/action-coverage-report.json","e2e/output/playwright/system-governance-loginlogs-v1/action-coverage-report.md","e2e/output/playwright/system-governance-loginlogs-v1/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-loginlogs-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-message-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-message-v2/probes/-im-channels-1773748950535.json","e2e/output/playwright/system-governance-message-v2/visible-menu-snapshot.json","e2e/output/playwright/system-governance-message-v3/action-coverage-report.json","e2e/output/playwright/system-governance-message-v3/action-coverage-report.md","e2e/output/playwright/system-governance-message-v3/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-message-v3/probes/-im-channels-1773749016167.json","e2e/output/playwright/system-governance-message-v3/visible-menu-snapshot.json","e2e/output/playwright/system-governance-operationlogs-v1/action-coverage-report.json","e2e/output/playwright/system-governance-operationlogs-v1/action-coverage-report.md","e2e/output/playwright/system-governance-operationlogs-v1/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-operationlogs-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/system-governance-recheck-v1/probes/-event-subscriptions-1773748598665.json","e2e/output/playwright/system-governance-recheck-v1/probes/-system-biz-sequences-1773748584661.json","e2e/output/playwright/system-governance-recheck-v1/probes/-system-params-1773748561057.json","e2e/output/playwright/system-governance-recheck-v1/probes/-system-tenant-configs-1773748559031.json","e2e/output/playwright/system-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/system-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/system-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/system-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-recheck-v3/probes/-im-channels-1773749049710.json","e2e/output/playwright/system-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/system-governance-scheduled-v1/action-coverage-report.json","e2e/output/playwright/system-governance-scheduled-v1/action-coverage-report.md","e2e/output/playwright/system-governance-scheduled-v1/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-scheduled-v1/visible-menu-snapshot.json"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/contract-governance-3.0.md","docs/reports/governance-experience-2026-03-07.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/test-results/results.json","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts"]}],"total_commits":0,"head_commit":{"id":"2732364ba177bf3cf8029788b582f34689d5d9a9","message":"sync: 同步治理文档与协同/系统中心治理回放产物\n\n- 同步四份统一文档(AGENTS/CLAUDE/GEMINI/README)\n- 更新治理经验报告与契约治理 3.0 文档\n- 更新 admin.json 认证夹具\n- 新增协同中心治理回放产物 (synergy-governance-recheck-v1~v4)\n - 包含用户/角色/资源请求 probes 与覆盖报告\n- 新增系统中心治理回放产物:\n - system-governance-recheck-v1~v3: 系统配置/事件订阅/IM 渠道\n - system-governance-loginlogs-v1: 登录日志\n - system-governance-operationlogs-v1: 操作日志\n - system-governance-scheduled-v1: 定时任务\n - system-governance-message-v1~v3: 消息渠道\n- 更新可见菜单写动作 runner (01-visible-menu-write-runner.spec.ts)\n- 更新 module-catalog.overrides.ts 配置\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2732364ba177bf3cf8029788b582f34689d5d9a9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T20:08:42+08:00","added":["e2e/output/playwright/synergy-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/synergy-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/synergy-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/synergy-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/synergy-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/synergy-governance-recheck-v3/failure-1.html","e2e/output/playwright/synergy-governance-recheck-v3/failure-1.png","e2e/output/playwright/synergy-governance-recheck-v3/failure-2.html","e2e/output/playwright/synergy-governance-recheck-v3/failure-2.png","e2e/output/playwright/synergy-governance-recheck-v3/probes/-roles-1773748206620.json","e2e/output/playwright/synergy-governance-recheck-v3/probes/-users-1773748205599.json","e2e/output/playwright/synergy-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/synergy-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/synergy-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/synergy-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/synergy-governance-recheck-v4/probes/-resource-requests-1773748497939.json","e2e/output/playwright/synergy-governance-recheck-v4/probes/-roles-1773748483571.json","e2e/output/playwright/synergy-governance-recheck-v4/probes/-users-1773748481271.json","e2e/output/playwright/synergy-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/system-governance-loginlogs-v1/action-coverage-report.json","e2e/output/playwright/system-governance-loginlogs-v1/action-coverage-report.md","e2e/output/playwright/system-governance-loginlogs-v1/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-loginlogs-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-message-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-message-v2/probes/-im-channels-1773748950535.json","e2e/output/playwright/system-governance-message-v2/visible-menu-snapshot.json","e2e/output/playwright/system-governance-message-v3/action-coverage-report.json","e2e/output/playwright/system-governance-message-v3/action-coverage-report.md","e2e/output/playwright/system-governance-message-v3/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-message-v3/probes/-im-channels-1773749016167.json","e2e/output/playwright/system-governance-message-v3/visible-menu-snapshot.json","e2e/output/playwright/system-governance-operationlogs-v1/action-coverage-report.json","e2e/output/playwright/system-governance-operationlogs-v1/action-coverage-report.md","e2e/output/playwright/system-governance-operationlogs-v1/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-operationlogs-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/system-governance-recheck-v1/probes/-event-subscriptions-1773748598665.json","e2e/output/playwright/system-governance-recheck-v1/probes/-system-biz-sequences-1773748584661.json","e2e/output/playwright/system-governance-recheck-v1/probes/-system-params-1773748561057.json","e2e/output/playwright/system-governance-recheck-v1/probes/-system-tenant-configs-1773748559031.json","e2e/output/playwright/system-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/system-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/system-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/system-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-recheck-v3/probes/-im-channels-1773749049710.json","e2e/output/playwright/system-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/system-governance-scheduled-v1/action-coverage-report.json","e2e/output/playwright/system-governance-scheduled-v1/action-coverage-report.md","e2e/output/playwright/system-governance-scheduled-v1/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-scheduled-v1/visible-menu-snapshot.json"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/contract-governance-3.0.md","docs/reports/governance-experience-2026-03-07.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/test-results/results.json","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1838217,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-17T20:05:32+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1773749433
|
1773749434
|
0
|
1773749432
|
1773749434
|
NULL
|
|
0
|
Edit
Delete
|
|
6425
|
sync: 同步治理文档与协同/系统中心治理回放产物
|
6
|
5
|
health-check.yml
|
6353
|
-2
|
63
|
refs/heads/main
|
2732364ba177bf3cf8029788b582f34689d5d9a9
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"cf72cf544ca2a256fc4024e735a4c2e127aa6e39","after":"2732364ba177bf3cf8029788b582f34689d5d9a9","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/cf72cf544ca2a256fc4024e735a4c2e127aa6e39...2732364ba177bf3cf8029788b582f34689d5d9a9","commits":[{"id":"2732364ba177bf3cf8029788b582f34689d5d9a9","message":"sync: 同步治理文档与协同/系统中心治理回放产物\n\n- 同步四份统一文档(AGENTS/CLAUDE/GEMINI/README)\n- 更新治理经验报告与契约治理 3.0 文档\n- 更新 admin.json 认证夹具\n- 新增协同中心治理回放产物 (synergy-governance-recheck-v1~v4)\n - 包含用户/角色/资源请求 probes 与覆盖报告\n- 新增系统中心治理回放产物:\n - system-governance-recheck-v1~v3: 系统配置/事件订阅/IM 渠道\n - system-governance-loginlogs-v1: 登录日志\n - system-governance-operationlogs-v1: 操作日志\n - system-governance-scheduled-v1: 定时任务\n - system-governance-message-v1~v3: 消息渠道\n- 更新可见菜单写动作 runner (01-visible-menu-write-runner.spec.ts)\n- 更新 module-catalog.overrides.ts 配置\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2732364ba177bf3cf8029788b582f34689d5d9a9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T20:08:42+08:00","added":["e2e/output/playwright/synergy-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/synergy-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/synergy-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/synergy-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/synergy-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/synergy-governance-recheck-v3/failure-1.html","e2e/output/playwright/synergy-governance-recheck-v3/failure-1.png","e2e/output/playwright/synergy-governance-recheck-v3/failure-2.html","e2e/output/playwright/synergy-governance-recheck-v3/failure-2.png","e2e/output/playwright/synergy-governance-recheck-v3/probes/-roles-1773748206620.json","e2e/output/playwright/synergy-governance-recheck-v3/probes/-users-1773748205599.json","e2e/output/playwright/synergy-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/synergy-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/synergy-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/synergy-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/synergy-governance-recheck-v4/probes/-resource-requests-1773748497939.json","e2e/output/playwright/synergy-governance-recheck-v4/probes/-roles-1773748483571.json","e2e/output/playwright/synergy-governance-recheck-v4/probes/-users-1773748481271.json","e2e/output/playwright/synergy-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/system-governance-loginlogs-v1/action-coverage-report.json","e2e/output/playwright/system-governance-loginlogs-v1/action-coverage-report.md","e2e/output/playwright/system-governance-loginlogs-v1/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-loginlogs-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-message-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-message-v2/probes/-im-channels-1773748950535.json","e2e/output/playwright/system-governance-message-v2/visible-menu-snapshot.json","e2e/output/playwright/system-governance-message-v3/action-coverage-report.json","e2e/output/playwright/system-governance-message-v3/action-coverage-report.md","e2e/output/playwright/system-governance-message-v3/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-message-v3/probes/-im-channels-1773749016167.json","e2e/output/playwright/system-governance-message-v3/visible-menu-snapshot.json","e2e/output/playwright/system-governance-operationlogs-v1/action-coverage-report.json","e2e/output/playwright/system-governance-operationlogs-v1/action-coverage-report.md","e2e/output/playwright/system-governance-operationlogs-v1/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-operationlogs-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/system-governance-recheck-v1/probes/-event-subscriptions-1773748598665.json","e2e/output/playwright/system-governance-recheck-v1/probes/-system-biz-sequences-1773748584661.json","e2e/output/playwright/system-governance-recheck-v1/probes/-system-params-1773748561057.json","e2e/output/playwright/system-governance-recheck-v1/probes/-system-tenant-configs-1773748559031.json","e2e/output/playwright/system-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/system-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/system-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/system-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-recheck-v3/probes/-im-channels-1773749049710.json","e2e/output/playwright/system-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/system-governance-scheduled-v1/action-coverage-report.json","e2e/output/playwright/system-governance-scheduled-v1/action-coverage-report.md","e2e/output/playwright/system-governance-scheduled-v1/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-scheduled-v1/visible-menu-snapshot.json"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/contract-governance-3.0.md","docs/reports/governance-experience-2026-03-07.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/test-results/results.json","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts"]}],"total_commits":0,"head_commit":{"id":"2732364ba177bf3cf8029788b582f34689d5d9a9","message":"sync: 同步治理文档与协同/系统中心治理回放产物\n\n- 同步四份统一文档(AGENTS/CLAUDE/GEMINI/README)\n- 更新治理经验报告与契约治理 3.0 文档\n- 更新 admin.json 认证夹具\n- 新增协同中心治理回放产物 (synergy-governance-recheck-v1~v4)\n - 包含用户/角色/资源请求 probes 与覆盖报告\n- 新增系统中心治理回放产物:\n - system-governance-recheck-v1~v3: 系统配置/事件订阅/IM 渠道\n - system-governance-loginlogs-v1: 登录日志\n - system-governance-operationlogs-v1: 操作日志\n - system-governance-scheduled-v1: 定时任务\n - system-governance-message-v1~v3: 消息渠道\n- 更新可见菜单写动作 runner (01-visible-menu-write-runner.spec.ts)\n- 更新 module-catalog.overrides.ts 配置\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2732364ba177bf3cf8029788b582f34689d5d9a9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T20:08:42+08:00","added":["e2e/output/playwright/synergy-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/synergy-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/synergy-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/synergy-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/synergy-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/synergy-governance-recheck-v3/failure-1.html","e2e/output/playwright/synergy-governance-recheck-v3/failure-1.png","e2e/output/playwright/synergy-governance-recheck-v3/failure-2.html","e2e/output/playwright/synergy-governance-recheck-v3/failure-2.png","e2e/output/playwright/synergy-governance-recheck-v3/probes/-roles-1773748206620.json","e2e/output/playwright/synergy-governance-recheck-v3/probes/-users-1773748205599.json","e2e/output/playwright/synergy-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/synergy-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/synergy-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/synergy-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/synergy-governance-recheck-v4/probes/-resource-requests-1773748497939.json","e2e/output/playwright/synergy-governance-recheck-v4/probes/-roles-1773748483571.json","e2e/output/playwright/synergy-governance-recheck-v4/probes/-users-1773748481271.json","e2e/output/playwright/synergy-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/system-governance-loginlogs-v1/action-coverage-report.json","e2e/output/playwright/system-governance-loginlogs-v1/action-coverage-report.md","e2e/output/playwright/system-governance-loginlogs-v1/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-loginlogs-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-message-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-message-v2/probes/-im-channels-1773748950535.json","e2e/output/playwright/system-governance-message-v2/visible-menu-snapshot.json","e2e/output/playwright/system-governance-message-v3/action-coverage-report.json","e2e/output/playwright/system-governance-message-v3/action-coverage-report.md","e2e/output/playwright/system-governance-message-v3/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-message-v3/probes/-im-channels-1773749016167.json","e2e/output/playwright/system-governance-message-v3/visible-menu-snapshot.json","e2e/output/playwright/system-governance-operationlogs-v1/action-coverage-report.json","e2e/output/playwright/system-governance-operationlogs-v1/action-coverage-report.md","e2e/output/playwright/system-governance-operationlogs-v1/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-operationlogs-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/system-governance-recheck-v1/probes/-event-subscriptions-1773748598665.json","e2e/output/playwright/system-governance-recheck-v1/probes/-system-biz-sequences-1773748584661.json","e2e/output/playwright/system-governance-recheck-v1/probes/-system-params-1773748561057.json","e2e/output/playwright/system-governance-recheck-v1/probes/-system-tenant-configs-1773748559031.json","e2e/output/playwright/system-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/system-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/system-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/system-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-recheck-v3/probes/-im-channels-1773749049710.json","e2e/output/playwright/system-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/system-governance-scheduled-v1/action-coverage-report.json","e2e/output/playwright/system-governance-scheduled-v1/action-coverage-report.md","e2e/output/playwright/system-governance-scheduled-v1/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-scheduled-v1/visible-menu-snapshot.json"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/contract-governance-3.0.md","docs/reports/governance-experience-2026-03-07.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/test-results/results.json","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1838217,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-17T20:05:32+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1773749733
|
1773749734
|
0
|
1773749732
|
1773749734
|
NULL
|
|
0
|
Edit
Delete
|
|
6426
|
sync: 同步治理文档与协同/系统中心治理回放产物
|
6
|
5
|
health-check.yml
|
6354
|
-2
|
63
|
refs/heads/main
|
2732364ba177bf3cf8029788b582f34689d5d9a9
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"cf72cf544ca2a256fc4024e735a4c2e127aa6e39","after":"2732364ba177bf3cf8029788b582f34689d5d9a9","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/cf72cf544ca2a256fc4024e735a4c2e127aa6e39...2732364ba177bf3cf8029788b582f34689d5d9a9","commits":[{"id":"2732364ba177bf3cf8029788b582f34689d5d9a9","message":"sync: 同步治理文档与协同/系统中心治理回放产物\n\n- 同步四份统一文档(AGENTS/CLAUDE/GEMINI/README)\n- 更新治理经验报告与契约治理 3.0 文档\n- 更新 admin.json 认证夹具\n- 新增协同中心治理回放产物 (synergy-governance-recheck-v1~v4)\n - 包含用户/角色/资源请求 probes 与覆盖报告\n- 新增系统中心治理回放产物:\n - system-governance-recheck-v1~v3: 系统配置/事件订阅/IM 渠道\n - system-governance-loginlogs-v1: 登录日志\n - system-governance-operationlogs-v1: 操作日志\n - system-governance-scheduled-v1: 定时任务\n - system-governance-message-v1~v3: 消息渠道\n- 更新可见菜单写动作 runner (01-visible-menu-write-runner.spec.ts)\n- 更新 module-catalog.overrides.ts 配置\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2732364ba177bf3cf8029788b582f34689d5d9a9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T20:08:42+08:00","added":["e2e/output/playwright/synergy-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/synergy-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/synergy-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/synergy-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/synergy-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/synergy-governance-recheck-v3/failure-1.html","e2e/output/playwright/synergy-governance-recheck-v3/failure-1.png","e2e/output/playwright/synergy-governance-recheck-v3/failure-2.html","e2e/output/playwright/synergy-governance-recheck-v3/failure-2.png","e2e/output/playwright/synergy-governance-recheck-v3/probes/-roles-1773748206620.json","e2e/output/playwright/synergy-governance-recheck-v3/probes/-users-1773748205599.json","e2e/output/playwright/synergy-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/synergy-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/synergy-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/synergy-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/synergy-governance-recheck-v4/probes/-resource-requests-1773748497939.json","e2e/output/playwright/synergy-governance-recheck-v4/probes/-roles-1773748483571.json","e2e/output/playwright/synergy-governance-recheck-v4/probes/-users-1773748481271.json","e2e/output/playwright/synergy-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/system-governance-loginlogs-v1/action-coverage-report.json","e2e/output/playwright/system-governance-loginlogs-v1/action-coverage-report.md","e2e/output/playwright/system-governance-loginlogs-v1/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-loginlogs-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-message-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-message-v2/probes/-im-channels-1773748950535.json","e2e/output/playwright/system-governance-message-v2/visible-menu-snapshot.json","e2e/output/playwright/system-governance-message-v3/action-coverage-report.json","e2e/output/playwright/system-governance-message-v3/action-coverage-report.md","e2e/output/playwright/system-governance-message-v3/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-message-v3/probes/-im-channels-1773749016167.json","e2e/output/playwright/system-governance-message-v3/visible-menu-snapshot.json","e2e/output/playwright/system-governance-operationlogs-v1/action-coverage-report.json","e2e/output/playwright/system-governance-operationlogs-v1/action-coverage-report.md","e2e/output/playwright/system-governance-operationlogs-v1/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-operationlogs-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/system-governance-recheck-v1/probes/-event-subscriptions-1773748598665.json","e2e/output/playwright/system-governance-recheck-v1/probes/-system-biz-sequences-1773748584661.json","e2e/output/playwright/system-governance-recheck-v1/probes/-system-params-1773748561057.json","e2e/output/playwright/system-governance-recheck-v1/probes/-system-tenant-configs-1773748559031.json","e2e/output/playwright/system-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/system-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/system-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/system-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-recheck-v3/probes/-im-channels-1773749049710.json","e2e/output/playwright/system-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/system-governance-scheduled-v1/action-coverage-report.json","e2e/output/playwright/system-governance-scheduled-v1/action-coverage-report.md","e2e/output/playwright/system-governance-scheduled-v1/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-scheduled-v1/visible-menu-snapshot.json"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/contract-governance-3.0.md","docs/reports/governance-experience-2026-03-07.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/test-results/results.json","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts"]}],"total_commits":0,"head_commit":{"id":"2732364ba177bf3cf8029788b582f34689d5d9a9","message":"sync: 同步治理文档与协同/系统中心治理回放产物\n\n- 同步四份统一文档(AGENTS/CLAUDE/GEMINI/README)\n- 更新治理经验报告与契约治理 3.0 文档\n- 更新 admin.json 认证夹具\n- 新增协同中心治理回放产物 (synergy-governance-recheck-v1~v4)\n - 包含用户/角色/资源请求 probes 与覆盖报告\n- 新增系统中心治理回放产物:\n - system-governance-recheck-v1~v3: 系统配置/事件订阅/IM 渠道\n - system-governance-loginlogs-v1: 登录日志\n - system-governance-operationlogs-v1: 操作日志\n - system-governance-scheduled-v1: 定时任务\n - system-governance-message-v1~v3: 消息渠道\n- 更新可见菜单写动作 runner (01-visible-menu-write-runner.spec.ts)\n- 更新 module-catalog.overrides.ts 配置\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2732364ba177bf3cf8029788b582f34689d5d9a9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T20:08:42+08:00","added":["e2e/output/playwright/synergy-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/synergy-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/synergy-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/synergy-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/synergy-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/synergy-governance-recheck-v3/failure-1.html","e2e/output/playwright/synergy-governance-recheck-v3/failure-1.png","e2e/output/playwright/synergy-governance-recheck-v3/failure-2.html","e2e/output/playwright/synergy-governance-recheck-v3/failure-2.png","e2e/output/playwright/synergy-governance-recheck-v3/probes/-roles-1773748206620.json","e2e/output/playwright/synergy-governance-recheck-v3/probes/-users-1773748205599.json","e2e/output/playwright/synergy-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/synergy-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/synergy-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/synergy-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/synergy-governance-recheck-v4/probes/-resource-requests-1773748497939.json","e2e/output/playwright/synergy-governance-recheck-v4/probes/-roles-1773748483571.json","e2e/output/playwright/synergy-governance-recheck-v4/probes/-users-1773748481271.json","e2e/output/playwright/synergy-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/system-governance-loginlogs-v1/action-coverage-report.json","e2e/output/playwright/system-governance-loginlogs-v1/action-coverage-report.md","e2e/output/playwright/system-governance-loginlogs-v1/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-loginlogs-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-message-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-message-v2/probes/-im-channels-1773748950535.json","e2e/output/playwright/system-governance-message-v2/visible-menu-snapshot.json","e2e/output/playwright/system-governance-message-v3/action-coverage-report.json","e2e/output/playwright/system-governance-message-v3/action-coverage-report.md","e2e/output/playwright/system-governance-message-v3/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-message-v3/probes/-im-channels-1773749016167.json","e2e/output/playwright/system-governance-message-v3/visible-menu-snapshot.json","e2e/output/playwright/system-governance-operationlogs-v1/action-coverage-report.json","e2e/output/playwright/system-governance-operationlogs-v1/action-coverage-report.md","e2e/output/playwright/system-governance-operationlogs-v1/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-operationlogs-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/system-governance-recheck-v1/probes/-event-subscriptions-1773748598665.json","e2e/output/playwright/system-governance-recheck-v1/probes/-system-biz-sequences-1773748584661.json","e2e/output/playwright/system-governance-recheck-v1/probes/-system-params-1773748561057.json","e2e/output/playwright/system-governance-recheck-v1/probes/-system-tenant-configs-1773748559031.json","e2e/output/playwright/system-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/system-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/system-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/system-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-recheck-v3/probes/-im-channels-1773749049710.json","e2e/output/playwright/system-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/system-governance-scheduled-v1/action-coverage-report.json","e2e/output/playwright/system-governance-scheduled-v1/action-coverage-report.md","e2e/output/playwright/system-governance-scheduled-v1/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-scheduled-v1/visible-menu-snapshot.json"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/contract-governance-3.0.md","docs/reports/governance-experience-2026-03-07.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/test-results/results.json","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1838217,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-17T20:05:32+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1773750033
|
1773750034
|
0
|
1773750032
|
1773750034
|
NULL
|
|
0
|
Edit
Delete
|
|
6427
|
sync: 同步治理文档与协同/系统中心治理回放产物
|
6
|
5
|
health-check.yml
|
6355
|
-2
|
63
|
refs/heads/main
|
2732364ba177bf3cf8029788b582f34689d5d9a9
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"cf72cf544ca2a256fc4024e735a4c2e127aa6e39","after":"2732364ba177bf3cf8029788b582f34689d5d9a9","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/cf72cf544ca2a256fc4024e735a4c2e127aa6e39...2732364ba177bf3cf8029788b582f34689d5d9a9","commits":[{"id":"2732364ba177bf3cf8029788b582f34689d5d9a9","message":"sync: 同步治理文档与协同/系统中心治理回放产物\n\n- 同步四份统一文档(AGENTS/CLAUDE/GEMINI/README)\n- 更新治理经验报告与契约治理 3.0 文档\n- 更新 admin.json 认证夹具\n- 新增协同中心治理回放产物 (synergy-governance-recheck-v1~v4)\n - 包含用户/角色/资源请求 probes 与覆盖报告\n- 新增系统中心治理回放产物:\n - system-governance-recheck-v1~v3: 系统配置/事件订阅/IM 渠道\n - system-governance-loginlogs-v1: 登录日志\n - system-governance-operationlogs-v1: 操作日志\n - system-governance-scheduled-v1: 定时任务\n - system-governance-message-v1~v3: 消息渠道\n- 更新可见菜单写动作 runner (01-visible-menu-write-runner.spec.ts)\n- 更新 module-catalog.overrides.ts 配置\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2732364ba177bf3cf8029788b582f34689d5d9a9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T20:08:42+08:00","added":["e2e/output/playwright/synergy-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/synergy-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/synergy-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/synergy-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/synergy-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/synergy-governance-recheck-v3/failure-1.html","e2e/output/playwright/synergy-governance-recheck-v3/failure-1.png","e2e/output/playwright/synergy-governance-recheck-v3/failure-2.html","e2e/output/playwright/synergy-governance-recheck-v3/failure-2.png","e2e/output/playwright/synergy-governance-recheck-v3/probes/-roles-1773748206620.json","e2e/output/playwright/synergy-governance-recheck-v3/probes/-users-1773748205599.json","e2e/output/playwright/synergy-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/synergy-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/synergy-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/synergy-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/synergy-governance-recheck-v4/probes/-resource-requests-1773748497939.json","e2e/output/playwright/synergy-governance-recheck-v4/probes/-roles-1773748483571.json","e2e/output/playwright/synergy-governance-recheck-v4/probes/-users-1773748481271.json","e2e/output/playwright/synergy-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/system-governance-loginlogs-v1/action-coverage-report.json","e2e/output/playwright/system-governance-loginlogs-v1/action-coverage-report.md","e2e/output/playwright/system-governance-loginlogs-v1/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-loginlogs-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-message-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-message-v2/probes/-im-channels-1773748950535.json","e2e/output/playwright/system-governance-message-v2/visible-menu-snapshot.json","e2e/output/playwright/system-governance-message-v3/action-coverage-report.json","e2e/output/playwright/system-governance-message-v3/action-coverage-report.md","e2e/output/playwright/system-governance-message-v3/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-message-v3/probes/-im-channels-1773749016167.json","e2e/output/playwright/system-governance-message-v3/visible-menu-snapshot.json","e2e/output/playwright/system-governance-operationlogs-v1/action-coverage-report.json","e2e/output/playwright/system-governance-operationlogs-v1/action-coverage-report.md","e2e/output/playwright/system-governance-operationlogs-v1/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-operationlogs-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/system-governance-recheck-v1/probes/-event-subscriptions-1773748598665.json","e2e/output/playwright/system-governance-recheck-v1/probes/-system-biz-sequences-1773748584661.json","e2e/output/playwright/system-governance-recheck-v1/probes/-system-params-1773748561057.json","e2e/output/playwright/system-governance-recheck-v1/probes/-system-tenant-configs-1773748559031.json","e2e/output/playwright/system-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/system-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/system-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/system-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-recheck-v3/probes/-im-channels-1773749049710.json","e2e/output/playwright/system-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/system-governance-scheduled-v1/action-coverage-report.json","e2e/output/playwright/system-governance-scheduled-v1/action-coverage-report.md","e2e/output/playwright/system-governance-scheduled-v1/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-scheduled-v1/visible-menu-snapshot.json"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/contract-governance-3.0.md","docs/reports/governance-experience-2026-03-07.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/test-results/results.json","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts"]}],"total_commits":0,"head_commit":{"id":"2732364ba177bf3cf8029788b582f34689d5d9a9","message":"sync: 同步治理文档与协同/系统中心治理回放产物\n\n- 同步四份统一文档(AGENTS/CLAUDE/GEMINI/README)\n- 更新治理经验报告与契约治理 3.0 文档\n- 更新 admin.json 认证夹具\n- 新增协同中心治理回放产物 (synergy-governance-recheck-v1~v4)\n - 包含用户/角色/资源请求 probes 与覆盖报告\n- 新增系统中心治理回放产物:\n - system-governance-recheck-v1~v3: 系统配置/事件订阅/IM 渠道\n - system-governance-loginlogs-v1: 登录日志\n - system-governance-operationlogs-v1: 操作日志\n - system-governance-scheduled-v1: 定时任务\n - system-governance-message-v1~v3: 消息渠道\n- 更新可见菜单写动作 runner (01-visible-menu-write-runner.spec.ts)\n- 更新 module-catalog.overrides.ts 配置\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2732364ba177bf3cf8029788b582f34689d5d9a9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T20:08:42+08:00","added":["e2e/output/playwright/synergy-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/synergy-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/synergy-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/synergy-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/synergy-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/synergy-governance-recheck-v3/failure-1.html","e2e/output/playwright/synergy-governance-recheck-v3/failure-1.png","e2e/output/playwright/synergy-governance-recheck-v3/failure-2.html","e2e/output/playwright/synergy-governance-recheck-v3/failure-2.png","e2e/output/playwright/synergy-governance-recheck-v3/probes/-roles-1773748206620.json","e2e/output/playwright/synergy-governance-recheck-v3/probes/-users-1773748205599.json","e2e/output/playwright/synergy-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/synergy-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/synergy-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/synergy-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/synergy-governance-recheck-v4/probes/-resource-requests-1773748497939.json","e2e/output/playwright/synergy-governance-recheck-v4/probes/-roles-1773748483571.json","e2e/output/playwright/synergy-governance-recheck-v4/probes/-users-1773748481271.json","e2e/output/playwright/synergy-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/system-governance-loginlogs-v1/action-coverage-report.json","e2e/output/playwright/system-governance-loginlogs-v1/action-coverage-report.md","e2e/output/playwright/system-governance-loginlogs-v1/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-loginlogs-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-message-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-message-v2/probes/-im-channels-1773748950535.json","e2e/output/playwright/system-governance-message-v2/visible-menu-snapshot.json","e2e/output/playwright/system-governance-message-v3/action-coverage-report.json","e2e/output/playwright/system-governance-message-v3/action-coverage-report.md","e2e/output/playwright/system-governance-message-v3/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-message-v3/probes/-im-channels-1773749016167.json","e2e/output/playwright/system-governance-message-v3/visible-menu-snapshot.json","e2e/output/playwright/system-governance-operationlogs-v1/action-coverage-report.json","e2e/output/playwright/system-governance-operationlogs-v1/action-coverage-report.md","e2e/output/playwright/system-governance-operationlogs-v1/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-operationlogs-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/system-governance-recheck-v1/probes/-event-subscriptions-1773748598665.json","e2e/output/playwright/system-governance-recheck-v1/probes/-system-biz-sequences-1773748584661.json","e2e/output/playwright/system-governance-recheck-v1/probes/-system-params-1773748561057.json","e2e/output/playwright/system-governance-recheck-v1/probes/-system-tenant-configs-1773748559031.json","e2e/output/playwright/system-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/system-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/system-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/system-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-recheck-v3/probes/-im-channels-1773749049710.json","e2e/output/playwright/system-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/system-governance-scheduled-v1/action-coverage-report.json","e2e/output/playwright/system-governance-scheduled-v1/action-coverage-report.md","e2e/output/playwright/system-governance-scheduled-v1/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-scheduled-v1/visible-menu-snapshot.json"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/contract-governance-3.0.md","docs/reports/governance-experience-2026-03-07.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/test-results/results.json","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1838217,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-17T20:05:32+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1773750333
|
1773750334
|
0
|
1773750332
|
1773750334
|
NULL
|
|
0
|
Edit
Delete
|
|
6428
|
sync: 同步治理文档与协同/系统中心治理回放产物
|
6
|
5
|
health-check.yml
|
6356
|
-2
|
63
|
refs/heads/main
|
2732364ba177bf3cf8029788b582f34689d5d9a9
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"cf72cf544ca2a256fc4024e735a4c2e127aa6e39","after":"2732364ba177bf3cf8029788b582f34689d5d9a9","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/cf72cf544ca2a256fc4024e735a4c2e127aa6e39...2732364ba177bf3cf8029788b582f34689d5d9a9","commits":[{"id":"2732364ba177bf3cf8029788b582f34689d5d9a9","message":"sync: 同步治理文档与协同/系统中心治理回放产物\n\n- 同步四份统一文档(AGENTS/CLAUDE/GEMINI/README)\n- 更新治理经验报告与契约治理 3.0 文档\n- 更新 admin.json 认证夹具\n- 新增协同中心治理回放产物 (synergy-governance-recheck-v1~v4)\n - 包含用户/角色/资源请求 probes 与覆盖报告\n- 新增系统中心治理回放产物:\n - system-governance-recheck-v1~v3: 系统配置/事件订阅/IM 渠道\n - system-governance-loginlogs-v1: 登录日志\n - system-governance-operationlogs-v1: 操作日志\n - system-governance-scheduled-v1: 定时任务\n - system-governance-message-v1~v3: 消息渠道\n- 更新可见菜单写动作 runner (01-visible-menu-write-runner.spec.ts)\n- 更新 module-catalog.overrides.ts 配置\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2732364ba177bf3cf8029788b582f34689d5d9a9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T20:08:42+08:00","added":["e2e/output/playwright/synergy-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/synergy-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/synergy-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/synergy-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/synergy-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/synergy-governance-recheck-v3/failure-1.html","e2e/output/playwright/synergy-governance-recheck-v3/failure-1.png","e2e/output/playwright/synergy-governance-recheck-v3/failure-2.html","e2e/output/playwright/synergy-governance-recheck-v3/failure-2.png","e2e/output/playwright/synergy-governance-recheck-v3/probes/-roles-1773748206620.json","e2e/output/playwright/synergy-governance-recheck-v3/probes/-users-1773748205599.json","e2e/output/playwright/synergy-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/synergy-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/synergy-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/synergy-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/synergy-governance-recheck-v4/probes/-resource-requests-1773748497939.json","e2e/output/playwright/synergy-governance-recheck-v4/probes/-roles-1773748483571.json","e2e/output/playwright/synergy-governance-recheck-v4/probes/-users-1773748481271.json","e2e/output/playwright/synergy-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/system-governance-loginlogs-v1/action-coverage-report.json","e2e/output/playwright/system-governance-loginlogs-v1/action-coverage-report.md","e2e/output/playwright/system-governance-loginlogs-v1/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-loginlogs-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-message-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-message-v2/probes/-im-channels-1773748950535.json","e2e/output/playwright/system-governance-message-v2/visible-menu-snapshot.json","e2e/output/playwright/system-governance-message-v3/action-coverage-report.json","e2e/output/playwright/system-governance-message-v3/action-coverage-report.md","e2e/output/playwright/system-governance-message-v3/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-message-v3/probes/-im-channels-1773749016167.json","e2e/output/playwright/system-governance-message-v3/visible-menu-snapshot.json","e2e/output/playwright/system-governance-operationlogs-v1/action-coverage-report.json","e2e/output/playwright/system-governance-operationlogs-v1/action-coverage-report.md","e2e/output/playwright/system-governance-operationlogs-v1/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-operationlogs-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/system-governance-recheck-v1/probes/-event-subscriptions-1773748598665.json","e2e/output/playwright/system-governance-recheck-v1/probes/-system-biz-sequences-1773748584661.json","e2e/output/playwright/system-governance-recheck-v1/probes/-system-params-1773748561057.json","e2e/output/playwright/system-governance-recheck-v1/probes/-system-tenant-configs-1773748559031.json","e2e/output/playwright/system-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/system-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/system-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/system-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-recheck-v3/probes/-im-channels-1773749049710.json","e2e/output/playwright/system-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/system-governance-scheduled-v1/action-coverage-report.json","e2e/output/playwright/system-governance-scheduled-v1/action-coverage-report.md","e2e/output/playwright/system-governance-scheduled-v1/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-scheduled-v1/visible-menu-snapshot.json"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/contract-governance-3.0.md","docs/reports/governance-experience-2026-03-07.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/test-results/results.json","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts"]}],"total_commits":0,"head_commit":{"id":"2732364ba177bf3cf8029788b582f34689d5d9a9","message":"sync: 同步治理文档与协同/系统中心治理回放产物\n\n- 同步四份统一文档(AGENTS/CLAUDE/GEMINI/README)\n- 更新治理经验报告与契约治理 3.0 文档\n- 更新 admin.json 认证夹具\n- 新增协同中心治理回放产物 (synergy-governance-recheck-v1~v4)\n - 包含用户/角色/资源请求 probes 与覆盖报告\n- 新增系统中心治理回放产物:\n - system-governance-recheck-v1~v3: 系统配置/事件订阅/IM 渠道\n - system-governance-loginlogs-v1: 登录日志\n - system-governance-operationlogs-v1: 操作日志\n - system-governance-scheduled-v1: 定时任务\n - system-governance-message-v1~v3: 消息渠道\n- 更新可见菜单写动作 runner (01-visible-menu-write-runner.spec.ts)\n- 更新 module-catalog.overrides.ts 配置\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2732364ba177bf3cf8029788b582f34689d5d9a9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T20:08:42+08:00","added":["e2e/output/playwright/synergy-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/synergy-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/synergy-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/synergy-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/synergy-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/synergy-governance-recheck-v3/failure-1.html","e2e/output/playwright/synergy-governance-recheck-v3/failure-1.png","e2e/output/playwright/synergy-governance-recheck-v3/failure-2.html","e2e/output/playwright/synergy-governance-recheck-v3/failure-2.png","e2e/output/playwright/synergy-governance-recheck-v3/probes/-roles-1773748206620.json","e2e/output/playwright/synergy-governance-recheck-v3/probes/-users-1773748205599.json","e2e/output/playwright/synergy-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/synergy-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/synergy-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/synergy-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/synergy-governance-recheck-v4/probes/-resource-requests-1773748497939.json","e2e/output/playwright/synergy-governance-recheck-v4/probes/-roles-1773748483571.json","e2e/output/playwright/synergy-governance-recheck-v4/probes/-users-1773748481271.json","e2e/output/playwright/synergy-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/system-governance-loginlogs-v1/action-coverage-report.json","e2e/output/playwright/system-governance-loginlogs-v1/action-coverage-report.md","e2e/output/playwright/system-governance-loginlogs-v1/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-loginlogs-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-message-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-message-v2/probes/-im-channels-1773748950535.json","e2e/output/playwright/system-governance-message-v2/visible-menu-snapshot.json","e2e/output/playwright/system-governance-message-v3/action-coverage-report.json","e2e/output/playwright/system-governance-message-v3/action-coverage-report.md","e2e/output/playwright/system-governance-message-v3/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-message-v3/probes/-im-channels-1773749016167.json","e2e/output/playwright/system-governance-message-v3/visible-menu-snapshot.json","e2e/output/playwright/system-governance-operationlogs-v1/action-coverage-report.json","e2e/output/playwright/system-governance-operationlogs-v1/action-coverage-report.md","e2e/output/playwright/system-governance-operationlogs-v1/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-operationlogs-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/system-governance-recheck-v1/probes/-event-subscriptions-1773748598665.json","e2e/output/playwright/system-governance-recheck-v1/probes/-system-biz-sequences-1773748584661.json","e2e/output/playwright/system-governance-recheck-v1/probes/-system-params-1773748561057.json","e2e/output/playwright/system-governance-recheck-v1/probes/-system-tenant-configs-1773748559031.json","e2e/output/playwright/system-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/system-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/system-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/system-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-recheck-v3/probes/-im-channels-1773749049710.json","e2e/output/playwright/system-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/system-governance-scheduled-v1/action-coverage-report.json","e2e/output/playwright/system-governance-scheduled-v1/action-coverage-report.md","e2e/output/playwright/system-governance-scheduled-v1/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-scheduled-v1/visible-menu-snapshot.json"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/contract-governance-3.0.md","docs/reports/governance-experience-2026-03-07.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/test-results/results.json","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1838217,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-17T20:05:32+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1773750633
|
1773750634
|
0
|
1773750632
|
1773750634
|
NULL
|
|
0
|
Edit
Delete
|
|
6429
|
sync: 同步治理文档与协同/系统中心治理回放产物
|
6
|
5
|
health-check.yml
|
6357
|
-2
|
63
|
refs/heads/main
|
2732364ba177bf3cf8029788b582f34689d5d9a9
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"cf72cf544ca2a256fc4024e735a4c2e127aa6e39","after":"2732364ba177bf3cf8029788b582f34689d5d9a9","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/cf72cf544ca2a256fc4024e735a4c2e127aa6e39...2732364ba177bf3cf8029788b582f34689d5d9a9","commits":[{"id":"2732364ba177bf3cf8029788b582f34689d5d9a9","message":"sync: 同步治理文档与协同/系统中心治理回放产物\n\n- 同步四份统一文档(AGENTS/CLAUDE/GEMINI/README)\n- 更新治理经验报告与契约治理 3.0 文档\n- 更新 admin.json 认证夹具\n- 新增协同中心治理回放产物 (synergy-governance-recheck-v1~v4)\n - 包含用户/角色/资源请求 probes 与覆盖报告\n- 新增系统中心治理回放产物:\n - system-governance-recheck-v1~v3: 系统配置/事件订阅/IM 渠道\n - system-governance-loginlogs-v1: 登录日志\n - system-governance-operationlogs-v1: 操作日志\n - system-governance-scheduled-v1: 定时任务\n - system-governance-message-v1~v3: 消息渠道\n- 更新可见菜单写动作 runner (01-visible-menu-write-runner.spec.ts)\n- 更新 module-catalog.overrides.ts 配置\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2732364ba177bf3cf8029788b582f34689d5d9a9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T20:08:42+08:00","added":["e2e/output/playwright/synergy-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/synergy-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/synergy-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/synergy-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/synergy-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/synergy-governance-recheck-v3/failure-1.html","e2e/output/playwright/synergy-governance-recheck-v3/failure-1.png","e2e/output/playwright/synergy-governance-recheck-v3/failure-2.html","e2e/output/playwright/synergy-governance-recheck-v3/failure-2.png","e2e/output/playwright/synergy-governance-recheck-v3/probes/-roles-1773748206620.json","e2e/output/playwright/synergy-governance-recheck-v3/probes/-users-1773748205599.json","e2e/output/playwright/synergy-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/synergy-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/synergy-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/synergy-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/synergy-governance-recheck-v4/probes/-resource-requests-1773748497939.json","e2e/output/playwright/synergy-governance-recheck-v4/probes/-roles-1773748483571.json","e2e/output/playwright/synergy-governance-recheck-v4/probes/-users-1773748481271.json","e2e/output/playwright/synergy-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/system-governance-loginlogs-v1/action-coverage-report.json","e2e/output/playwright/system-governance-loginlogs-v1/action-coverage-report.md","e2e/output/playwright/system-governance-loginlogs-v1/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-loginlogs-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-message-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-message-v2/probes/-im-channels-1773748950535.json","e2e/output/playwright/system-governance-message-v2/visible-menu-snapshot.json","e2e/output/playwright/system-governance-message-v3/action-coverage-report.json","e2e/output/playwright/system-governance-message-v3/action-coverage-report.md","e2e/output/playwright/system-governance-message-v3/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-message-v3/probes/-im-channels-1773749016167.json","e2e/output/playwright/system-governance-message-v3/visible-menu-snapshot.json","e2e/output/playwright/system-governance-operationlogs-v1/action-coverage-report.json","e2e/output/playwright/system-governance-operationlogs-v1/action-coverage-report.md","e2e/output/playwright/system-governance-operationlogs-v1/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-operationlogs-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/system-governance-recheck-v1/probes/-event-subscriptions-1773748598665.json","e2e/output/playwright/system-governance-recheck-v1/probes/-system-biz-sequences-1773748584661.json","e2e/output/playwright/system-governance-recheck-v1/probes/-system-params-1773748561057.json","e2e/output/playwright/system-governance-recheck-v1/probes/-system-tenant-configs-1773748559031.json","e2e/output/playwright/system-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/system-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/system-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/system-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-recheck-v3/probes/-im-channels-1773749049710.json","e2e/output/playwright/system-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/system-governance-scheduled-v1/action-coverage-report.json","e2e/output/playwright/system-governance-scheduled-v1/action-coverage-report.md","e2e/output/playwright/system-governance-scheduled-v1/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-scheduled-v1/visible-menu-snapshot.json"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/contract-governance-3.0.md","docs/reports/governance-experience-2026-03-07.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/test-results/results.json","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts"]}],"total_commits":0,"head_commit":{"id":"2732364ba177bf3cf8029788b582f34689d5d9a9","message":"sync: 同步治理文档与协同/系统中心治理回放产物\n\n- 同步四份统一文档(AGENTS/CLAUDE/GEMINI/README)\n- 更新治理经验报告与契约治理 3.0 文档\n- 更新 admin.json 认证夹具\n- 新增协同中心治理回放产物 (synergy-governance-recheck-v1~v4)\n - 包含用户/角色/资源请求 probes 与覆盖报告\n- 新增系统中心治理回放产物:\n - system-governance-recheck-v1~v3: 系统配置/事件订阅/IM 渠道\n - system-governance-loginlogs-v1: 登录日志\n - system-governance-operationlogs-v1: 操作日志\n - system-governance-scheduled-v1: 定时任务\n - system-governance-message-v1~v3: 消息渠道\n- 更新可见菜单写动作 runner (01-visible-menu-write-runner.spec.ts)\n- 更新 module-catalog.overrides.ts 配置\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2732364ba177bf3cf8029788b582f34689d5d9a9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T20:08:42+08:00","added":["e2e/output/playwright/synergy-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/synergy-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/synergy-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/synergy-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/synergy-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/synergy-governance-recheck-v3/failure-1.html","e2e/output/playwright/synergy-governance-recheck-v3/failure-1.png","e2e/output/playwright/synergy-governance-recheck-v3/failure-2.html","e2e/output/playwright/synergy-governance-recheck-v3/failure-2.png","e2e/output/playwright/synergy-governance-recheck-v3/probes/-roles-1773748206620.json","e2e/output/playwright/synergy-governance-recheck-v3/probes/-users-1773748205599.json","e2e/output/playwright/synergy-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/synergy-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/synergy-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/synergy-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/synergy-governance-recheck-v4/probes/-resource-requests-1773748497939.json","e2e/output/playwright/synergy-governance-recheck-v4/probes/-roles-1773748483571.json","e2e/output/playwright/synergy-governance-recheck-v4/probes/-users-1773748481271.json","e2e/output/playwright/synergy-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/system-governance-loginlogs-v1/action-coverage-report.json","e2e/output/playwright/system-governance-loginlogs-v1/action-coverage-report.md","e2e/output/playwright/system-governance-loginlogs-v1/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-loginlogs-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-message-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-message-v2/probes/-im-channels-1773748950535.json","e2e/output/playwright/system-governance-message-v2/visible-menu-snapshot.json","e2e/output/playwright/system-governance-message-v3/action-coverage-report.json","e2e/output/playwright/system-governance-message-v3/action-coverage-report.md","e2e/output/playwright/system-governance-message-v3/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-message-v3/probes/-im-channels-1773749016167.json","e2e/output/playwright/system-governance-message-v3/visible-menu-snapshot.json","e2e/output/playwright/system-governance-operationlogs-v1/action-coverage-report.json","e2e/output/playwright/system-governance-operationlogs-v1/action-coverage-report.md","e2e/output/playwright/system-governance-operationlogs-v1/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-operationlogs-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/system-governance-recheck-v1/probes/-event-subscriptions-1773748598665.json","e2e/output/playwright/system-governance-recheck-v1/probes/-system-biz-sequences-1773748584661.json","e2e/output/playwright/system-governance-recheck-v1/probes/-system-params-1773748561057.json","e2e/output/playwright/system-governance-recheck-v1/probes/-system-tenant-configs-1773748559031.json","e2e/output/playwright/system-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/system-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/system-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/system-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/system-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-recheck-v3/probes/-im-channels-1773749049710.json","e2e/output/playwright/system-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/system-governance-scheduled-v1/action-coverage-report.json","e2e/output/playwright/system-governance-scheduled-v1/action-coverage-report.md","e2e/output/playwright/system-governance-scheduled-v1/blocked-unmapped-pages.json","e2e/output/playwright/system-governance-scheduled-v1/visible-menu-snapshot.json"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/contract-governance-3.0.md","docs/reports/governance-experience-2026-03-07.md","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/test-results/results.json","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1838217,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-17T20:05:32+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1773750933
|
1773750934
|
0
|
1773750932
|
1773750934
|
NULL
|
|
0
|
Edit
Delete
|
|
7
|
测试修改3333
|
2
|
2
|
hello-world.yaml
|
6
|
1
|
0
|
refs/heads/main
|
a931e51a2c8c1e80aab44673de58b17e14e7b34e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"ce36f880dce499ef2d3c804c32a1b8ba04ffbcc2","after":"a931e51a2c8c1e80aab44673de58b17e14e7b34e","compare_url":"https://gitea.g-hi.com/juhai/testpc/compare/ce36f880dce499ef2d3c804c32a1b8ba04ffbcc2...a931e51a2c8c1e80aab44673de58b17e14e7b34e","commits":[{"id":"a931e51a2c8c1e80aab44673de58b17e14e7b34e","message":"测试修改3333\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/a931e51a2c8c1e80aab44673de58b17e14e7b34e","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-02-11T17:04:32+08:00","added":[],"removed":[],"modified":[".gitea/workflows/hello-world.yaml"]}],"total_commits":0,"head_commit":{"id":"a931e51a2c8c1e80aab44673de58b17e14e7b34e","message":"测试修改3333\n","url":"https://gitea.g-hi.com/juhai/testpc/commit/a931e51a2c8c1e80aab44673de58b17e14e7b34e","author":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"committer":{"name":"zhangjunnan","email":"121158035@qq.com","username":"zhangjunnan"},"verification":null,"timestamp":"2026-02-11T17:04:32+08:00","added":[],"removed":[],"modified":[".gitea/workflows/hello-world.yaml"]},"repository":{"id":2,"owner":{"id":2,"login":"juhai","login_name":"","source_id":0,"full_name":"","email":"","avatar_url":"https://gitea.g-hi.com/avatars/8edeea9a6ada1d3d48db9231e9328f15","html_url":"https://gitea.g-hi.com/juhai","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:37:00+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"private","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"juhai"},"name":"testpc","full_name":"juhai/testpc","description":"pc测试环境","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":17703,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc/languages","html_url":"https://gitea.g-hi.com/juhai/testpc","url":"https://gitea.g-hi.com/api/v1/repos/juhai/testpc","link":"","ssh_url":"git@gitea.g-hi.com:juhai/testpc.git","clone_url":"https://gitea.g-hi.com/juhai/testpc.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-06T13:52:11+08:00","updated_at":"2026-02-11T16:59:04+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":true,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"zhangjunnan"},"sender":{"id":1,"login":"zhangjunnan","login_name":"","source_id":0,"full_name":"","email":"zhangjunnan@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/db7dcb12d6f370df9341167b55583f8b","html_url":"https://gitea.g-hi.com/zhangjunnan","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T15:36:25+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"zhangjunnan"}}...
|
push
|
2
|
3
|
1770800679
|
1770800685
|
0
|
1770800679
|
1770800685
|
NULL
|
|
0
|
Edit
Delete
|
|
53
|
Update predictive and RFM modules
|
6
|
5
|
ci.yml
|
14
|
5
|
0
|
refs/heads/main
|
7145a8553a880d8a94356baf7bcb4e2df4631e61
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c8adeb7142f7f1b57a10bfffc3de856524997227","after":"7145a8553a880d8a94356baf7bcb4e2df4631e61","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/c8adeb7142f7f1b57a10bfffc3de856524997227...7145a8553a880d8a94356baf7bcb4e2df4631e61","commits":[{"id":"7145a8553a880d8a94356baf7bcb4e2df4631e61","message":"Update predictive and RFM modules\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/7145a8553a880d8a94356baf7bcb4e2df4631e61","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-11T01:01:39+08:00","added":[],"removed":[],"modified":["backend/src/modules/predictive-analytics/predictive-analytics.compat.routes.ts","backend/src/modules/predictive-analytics/predictive-analytics.controller.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/predictive-analytics/predictive-analytics.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.compat.routes.ts","backend/src/modules/rfm-analysis/rfm-analysis.controller.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/rfm-analysis/rfm-analysis.schema.ts","backend/src/modules/rfm-analysis/rfm-analysis.service.ts"]},{"id":"0f2d9c3835013e4d3629614ecd18a44606763f27","message":"Review analytics module updates\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/0f2d9c3835013e4d3629614ecd18a44606763f27","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-11T00:49:16+08:00","added":["backend/src/modules/campaign-analytics/campaign-analytics.controller.ts","backend/src/modules/campaign-analytics/campaign-analytics.docs.ts","backend/src/modules/campaign-analytics/campaign-analytics.schema.ts","backend/src/modules/campaign-analytics/campaign-analytics.service.ts","backend/src/modules/channel-analytics/channel-analytics.controller.ts","backend/src/modules/channel-analytics/channel-analytics.docs.ts","backend/src/modules/channel-analytics/channel-analytics.schema.ts","backend/src/modules/channel-analytics/channel-analytics.service.ts","backend/src/modules/cohort-analysis/cohort-analysis.controller.ts","backend/src/modules/cohort-analysis/cohort-analysis.docs.ts","backend/src/modules/cohort-analysis/cohort-analysis.schema.ts","backend/src/modules/cohort-analysis/cohort-analysis.service.ts","backend/src/modules/consumer-behavior-analytics/consumer-behavior-analytics.controller.ts","backend/src/modules/consumer-behavior-analytics/consumer-behavior-analytics.docs.ts","backend/src/modules/consumer-behavior-analytics/consumer-behavior-analytics.schema.ts","backend/src/modules/consumer-behavior-analytics/consumer-behavior-analytics.service.ts","backend/src/modules/cost-allocation/cost-allocation.controller.ts","backend/src/modules/cost-allocation/cost-allocation.docs.ts","backend/src/modules/cost-allocation/cost-allocation.schema.ts","backend/src/modules/cost-allocation/cost-allocation.service.ts","backend/src/modules/cross-domain-funnel/cross-domain-funnel.controller.ts","backend/src/modules/cross-domain-funnel/cross-domain-funnel.docs.ts","backend/src/modules/cross-domain-funnel/cross-domain-funnel.schema.ts","backend/src/modules/cross-domain-funnel/cross-domain-funnel.service.ts","backend/src/modules/customer-journey-orchestration/customer-journey-orchestration.controller.ts","backend/src/modules/customer-journey-orchestration/customer-journey-orchestration.docs.ts","backend/src/modules/customer-journey-orchestration/customer-journey-orchestration.schema.ts","backend/src/modules/customer-journey-orchestration/customer-journey-orchestration.service.ts","backend/src/modules/customer-lifecycle-value/customer-lifecycle-value.controller.ts","backend/src/modules/customer-lifecycle-value/customer-lifecycle-value.docs.ts","backend/src/modules/customer-lifecycle-value/customer-lifecycle-value.schema.ts","backend/src/modules/customer-lifecycle-value/customer-lifecycle-value.service.ts","backend/src/modules/customer-ltv/customer-ltv.controller.ts","backend/src/modules/customer-ltv/customer-ltv.docs.ts","backend/src/modules/customer-ltv/customer-ltv.schema.ts","backend/src/modules/customer-ltv/customer-ltv.service.ts","backend/src/modules/dictionaries/dictionary.docs.ts","backend/src/modules/dimension-transform/dimension-transform.controller.ts","backend/src/modules/dimension-transform/dimension-transform.docs.ts","backend/src/modules/dimension-transform/dimension-transform.schema.ts","backend/src/modules/dimension-transform/dimension-transform.service.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.controller.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.docs.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.schema.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.ts","backend/src/modules/mdm/mdm.docs.ts","backend/src/modules/menus/menu.docs.ts","backend/src/modules/omnichannel-dashboard/omnichannel-dashboard.controller.ts","backend/src/modules/omnichannel-dashboard/omnichannel-dashboard.docs.ts","backend/src/modules/omnichannel-dashboard/omnichannel-dashboard.schema.ts","backend/src/modules/omnichannel-dashboard/omnichannel-dashboard.service.ts","backend/src/modules/omnichannel-data-hub/omnichannel-data-hub.controller.ts","backend/src/modules/omnichannel-data-hub/omnichannel-data-hub.docs.ts","backend/src/modules/omnichannel-data-hub/omnichannel-data-hub.schema.ts","backend/src/modules/omnichannel-data-hub/omnichannel-data-hub.service.ts","backend/src/modules/omnichannel-touchpoints/omnichannel-touchpoints.controller.ts","backend/src/modules/omnichannel-touchpoints/omnichannel-touchpoints.docs.ts","backend/src/modules/omnichannel-touchpoints/omnichannel-touchpoints.schema.ts","backend/src/modules/omnichannel-touchpoints/omnichannel-touchpoints.service.ts","backend/src/modules/positions/positions.controller.ts","backend/src/modules/positions/positions.docs.ts","backend/src/modules/positions/positions.schema.ts","backend/src/modules/positions/positions.service.ts","backend/src/modules/predictive-analytics/predictive-analytics.controller.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/predictive-analytics/predictive-analytics.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.controller.ts","backend/src/modules/realtime-trigger/realtime-trigger.docs.ts","backend/src/modules/realtime-trigger/realtime-trigger.schema.ts","backend/src/modules/realtime-trigger/realtime-trigger.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.controller.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/rfm-analysis/rfm-analysis.schema.ts","backend/src/modules/rfm-analysis/rfm-analysis.service.ts","backend/src/modules/supplier-payments/supplier-payments.controller.ts","backend/src/modules/supplier-payments/supplier-payments.docs.ts","backend/src/modules/supplier-payments/supplier-payments.schema.ts","backend/src/modules/supplier-payments/supplier-payments.service.ts"],"removed":[],"modified":["docs/ACTION-PLAN-2026.md","docs/ROADMAP_2026_Q1.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/全域收敛状态总览_2026-02-10.md"]},{"id":"9675324a5bbabd31646b05a46b9ccea1f19bbfb9","message":"Review backend and docs updates\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9675324a5bbabd31646b05a46b9ccea1f19bbfb9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-11T00:29:08+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/alliance-campaigns/alliance-campaign.service.ts","backend/src/modules/alliance-partners/alliance-partner.service.ts","backend/src/modules/campaign-drafts/campaign-draft.service.ts","backend/src/modules/devices/device.service.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/inventory/services/inventory-reservation.service.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.ts","backend/src/modules/meddpicc-analyses/meddpicc.service.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/web-tracking/web-tracking.service.ts","docs/ACQUISITION-DOMAIN-ANALYSIS.md","docs/ACQUISITION-INNOVATION-TRANSFORMATION-PLAN.md","docs/ACTION-PLAN-2026.md","docs/AI-AGENT-SYSTEM-ANALYSIS.md","docs/ALIGNMENT_REPORT.md","docs/API_REFACTORING_PLAN.md","docs/AUTO-FIX-REPORT.md","docs/BACKEND-QUALITY-AUDIT-REPORT.md","docs/BATCH_OPERATIONS_AUDIT.md","docs/BUSINESS-DOMAIN-ANALYSIS.md","docs/DATABASE_MIGRATION_GUIDE.md","docs/DEPLOYMENT_COMPLETE.md","docs/DUPLICATION_ANALYSIS_REPORT.md","docs/E2E-TEST-STRATEGY.md","docs/EVENT_STREAM_OPTIMIZATION_REPORT.md","docs/FRONTEND-BACKEND-GAP-ANALYSIS.md","docs/FRONTEND-UI-TEST-SPECIFICATION.md","docs/FRONTEND_ANALYSIS_20260102.md","docs/FRONTEND_ARCHITECTURE_ANALYSIS.md","docs/FULLSTACK-MATCHER-ANALYSIS.md","docs/IMPLEMENTATION-GAP-ANALYSIS.md","docs/IMPROVEMENT-PLAN.md","docs/IMPROVEMENTS_SUMMARY_20260102.md","docs/IMPROVEMENT_REPORT_2026-01-02.md","docs/KTV-LOCATION-SELECTION-PRD.md","docs/MARKETING-ARCHITECTURE-INNOVATION.md","docs/MENU-DESIGN-PROPOSAL.md","docs/MENU-STRUCTURE-COMPLETE.md","docs/MOBILE_CHAT_CRM_DEVELOPMENT_PLAN.md","docs/MODULE-STRUCTURE-ANALYSIS.md","docs/OMNICHANNEL-MARKETING-ARCHITECTURE.md","docs/P2-OPTIMIZATION-FINAL-REPORT.md","docs/PERFORMANCE_AUDIT_REPORT.md","docs/PHP-MIGRATION-ANALYSIS.md","docs/PLANNED-ROUTES.md","docs/PRD_巨嗨全域智库_v1.0.md","docs/PRODUCTION_CHECKLIST.md","docs/PROJECT_MODULE_OPTIMIZATION.md","docs/REFACTOR_COMPLETED.md","docs/ROADMAP_2026_Q1.md","docs/SALES-DOMAIN-ANALYSIS.md","docs/SECURITY-AUDIT-REPORT.md","docs/STABILITY-ANALYSIS-REPORT.md","docs/SWOT-ANALYSIS.md","docs/TEST-MATURITY-ASSESSMENT-REPORT.md","docs/TEST_COVERAGE_REPORT.md","docs/TEST_SPECIFICATION_REVIEW.md","docs/WEAKNESS-REMEDIATION-PLAN.md","docs/ZOD_VALIDATION_ENHANCEMENT_REPORT.md","docs/architecture/CAMPAIGNS-TENANT-ID-MIGRATION.md","docs/architecture/CONSISTENCY-CHECKER-COMPLETE.md","docs/architecture/P0-OUTBOX-IMPLEMENTATION-PLAN.md","docs/architecture/P0-OUTBOX-IMPLEMENTATION-REPORT.md","docs/architecture/P0-TABLE-PARTITIONING-PLAN.md","docs/architecture/P1-IMPLEMENTATION-PLAN.md","docs/architecture/PHASE_1_FIX_PLAN.md","docs/architecture/REFACTOR-MODULE-LIST-COMPLETE.md","docs/architecture/REFACTOR_IMPLEMENTATION_PLAN.md","docs/architecture/ROI-ANALYSIS-EMERGENCY-FIX.md","docs/architecture/ROI-ANALYSIS-FIX-UPDATED.md","docs/architecture/ROI-ANALYSIS-IMPLEMENTATION.md","docs/architecture/ROI-MENU-RENAME-COMPLETION.md","docs/architecture/ROI-MENU-RENAME-PLAN.md","docs/architecture/ROI-RENAME-SUMMARY.md","docs/architecture/ROUTE-LAYER-REFACTOR-REPORT.md","docs/architecture/SYSTEM-MANAGEMENT-ANALYSIS.md","docs/audits/comprehensive-scan-report-2026-01-08.md","docs/batch-refactor-plan.md","docs/batch-refactor-summary-phase1.md","docs/deployment-checklist.md","docs/guides/TESTING-SUMMARY.md","docs/guides/TODO-CLEANUP-PLAN.md","docs/guides/TODO-GITHUB-ISSUES.md","docs/guides/TYPESCRIPT-ERRORS-FIX-PLAN.md","docs/kafka-event-improvement-plan.md","docs/menus/MENU-ALIGNMENT-FINAL-REPORT.md","docs/menus/MENU-FIX-COMPLETION-REPORT.md","docs/menus/MENU-FIX-SUMMARY.md","docs/menus/MENU-MIGRATION-GUIDE.md","docs/menus/MENU-PERMISSIONS-ANALYSIS.md","docs/menus/MENU-PERMISSIONS-IMPLEMENTATION-GUIDE.md","docs/menus/MENU-PERMISSIONS-QUICK-REFERENCE.md","docs/menus/MENU-PERMISSIONS-SUMMARY.md","docs/menus/MENU-STRUCTURE-V2.2.md","docs/menus/MENU-STRUCTURE-VISUAL.md","docs/menus/MENU-UPDATE-V2.2-FINAL.md","docs/pinia-persistence-verification.md","docs/refactor-final-report.md","docs/refactor-plan-partner-customers.md","docs/refactor-progress.md","docs/refactor-session-summary-2026-01-06.md","docs/refactor-summary-partner-customers.md","docs/refactor-summary.md","docs/reports/AI_AGENT_IMPLEMENTATION_SUMMARY.md","docs/reports/CAMPAIGNS-MIGRATION-REPORT-20260110.md","docs/reports/CHANGELOG_ROUTER_FIX.md","docs/reports/CODE_AUDIT_REPORT.md","docs/reports/CODE_AUDIT_REPORT_2026-01-24.md","docs/reports/CODE_FIX_REPORT_2026-01-24.md","docs/reports/CONFIG_ANALYSIS_REPORT.md","docs/reports/DATABASE-INDEX-MIGRATION-REPORT.md","docs/reports/DATABASE-PARTITIONING-MERGE-SUMMARY.md","docs/reports/DEPENDENCY_AUDIT_REPORT.md","docs/reports/FRONTEND_AUDIT_REPORT.md","docs/reports/FULLSTACK-GAP-ANALYSIS.md","docs/reports/GAP_ANALYSIS_REPORT.md","docs/reports/IMMEDIATE-ACTION-SUMMARY.md","docs/reports/OPTIMIZATION-REPORT.md","docs/reports/P0-TASKS-COMPLETION-REPORT.md","docs/reports/P0-VERIFICATION-CHECKLIST.md","docs/reports/P1-SCHEMA-VALIDATION-REPORT.md","docs/reports/P1-SENTRY-INTEGRATION-REPORT.md","docs/reports/P2_OPTIMIZATION_REPORT.md","docs/reports/PERFORMANCE_ANALYSIS_REPORT.md","docs/reports/PERFORMANCE_OPTIMIZATION_REPORT.md","docs/reports/PHASE_0_COMPLETION_REPORT.md","docs/reports/PHASE_1_STATUS_REPORT.md","docs/reports/PRISMA_GAP_ANALYSIS.md","docs/reports/PROJECT_ANALYSIS_REPORT.md","docs/reports/PROJECT_COMPREHENSIVE_ANALYSIS_2026-01-24.md","docs/reports/REALITY_CHECK_20251222.md","docs/reports/ROUTER_WHITE_SCREEN_FINAL_FIX.md","docs/reports/SECURITY_AUDIT_REPORT_2026-01-24.md","docs/reports/TASK_COMPLETION_SUMMARY.md","docs/reports/TEST-CLEANUP-FIX-REPORT.md","docs/reports/TEST-EXECUTION-REPORT.md","docs/reports/TEST-FIXES-SUMMARY.md","docs/reports/TEST-INFRASTRUCTURE-COMPLETE.md","docs/reports/TEST_REPORT.md","docs/reports/TODO-ANALYSIS-REPORT.md","docs/testing/TEST_IMPROVEMENT_PLAN.md","docs/zod-fix-final-report.md","docs/zod-fix-verification.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/全域收敛状态总览_2026-02-10.md"]},{"id":"eb3fcc5f8f454b79674c60ad457e4d5ecd3ee310","message":"Review recent docs and service edits\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/eb3fcc5f8f454b79674c60ad457e4d5ecd3ee310","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-11T00:16:16+08:00","added":[],"removed":[],"modified":["backend/src/modules/campaigns/campaign-effectiveness.service.ts","docs/ACQUISITION-DOMAIN-ANALYSIS.md","docs/ACQUISITION-INNOVATION-TRANSFORMATION-PLAN.md","docs/ACTION-PLAN-2026.md","docs/AI-AGENT-SYSTEM-ANALYSIS.md","docs/ALIGNMENT_REPORT.md","docs/API_REFACTORING_PLAN.md","docs/AUTO-FIX-REPORT.md","docs/BACKEND-QUALITY-AUDIT-REPORT.md","docs/BATCH_OPERATIONS_AUDIT.md","docs/BUSINESS-DOMAIN-ANALYSIS.md","docs/DATABASE_MIGRATION_GUIDE.md","docs/DEPLOYMENT_COMPLETE.md","docs/DUPLICATION_ANALYSIS_REPORT.md","docs/E2E-TEST-STRATEGY.md","docs/EVENT_STREAM_OPTIMIZATION_REPORT.md","docs/FRONTEND-BACKEND-GAP-ANALYSIS.md","docs/FRONTEND-UI-TEST-SPECIFICATION.md","docs/FRONTEND_ANALYSIS_20260102.md","docs/FRONTEND_ARCHITECTURE_ANALYSIS.md","docs/FULLSTACK-MATCHER-ANALYSIS.md","docs/IMPLEMENTATION-GAP-ANALYSIS.md","docs/IMPROVEMENT-PLAN.md","docs/IMPROVEMENTS_SUMMARY_20260102.md","docs/IMPROVEMENT_REPORT_2026-01-02.md","docs/KTV-LOCATION-SELECTION-PRD.md","docs/MARKETING-ARCHITECTURE-INNOVATION.md","docs/MENU-DESIGN-PROPOSAL.md","docs/MENU-STRUCTURE-COMPLETE.md","docs/MOBILE_CHAT_CRM_DEVELOPMENT_PLAN.md","docs/MODULE-STRUCTURE-ANALYSIS.md","docs/OMNICHANNEL-MARKETING-ARCHITECTURE.md","docs/P2-OPTIMIZATION-FINAL-REPORT.md","docs/PERFORMANCE_AUDIT_REPORT.md","docs/PHP-MIGRATION-ANALYSIS.md","docs/PLANNED-ROUTES.md","docs/PRD_巨嗨全域智库_v1.0.md","docs/PRODUCTION_CHECKLIST.md","docs/PROJECT_MODULE_OPTIMIZATION.md","docs/REFACTOR_COMPLETED.md","docs/ROADMAP_2026_Q1.md","docs/SALES-DOMAIN-ANALYSIS.md","docs/SECURITY-AUDIT-REPORT.md","docs/STABILITY-ANALYSIS-REPORT.md","docs/SWOT-ANALYSIS.md","docs/TEST-MATURITY-ASSESSMENT-REPORT.md","docs/TEST_COVERAGE_REPORT.md","docs/TEST_SPECIFICATION_REVIEW.md","docs/WEAKNESS-REMEDIATION-PLAN.md","docs/ZOD_VALIDATION_ENHANCEMENT_REPORT.md","docs/architecture/CAMPAIGNS-TENANT-ID-MIGRATION.md","docs/architecture/CONSISTENCY-CHECKER-COMPLETE.md","docs/architecture/P0-OUTBOX-IMPLEMENTATION-PLAN.md","docs/architecture/P0-OUTBOX-IMPLEMENTATION-REPORT.md","docs/architecture/P0-TABLE-PARTITIONING-PLAN.md","docs/architecture/P1-IMPLEMENTATION-PLAN.md","docs/architecture/PHASE_1_FIX_PLAN.md","docs/architecture/REFACTOR-MODULE-LIST-COMPLETE.md","docs/architecture/REFACTOR_IMPLEMENTATION_PLAN.md","docs/architecture/ROI-ANALYSIS-EMERGENCY-FIX.md","docs/architecture/ROI-ANALYSIS-FIX-UPDATED.md","docs/architecture/ROI-ANALYSIS-IMPLEMENTATION.md","docs/architecture/ROI-MENU-RENAME-COMPLETION.md","docs/architecture/ROI-MENU-RENAME-PLAN.md","docs/architecture/ROI-RENAME-SUMMARY.md","docs/architecture/ROUTE-LAYER-REFACTOR-REPORT.md","docs/architecture/SYSTEM-MANAGEMENT-ANALYSIS.md","docs/audits/comprehensive-scan-report-2026-01-08.md","docs/batch-refactor-plan.md","docs/batch-refactor-summary-phase1.md","docs/deployment-checklist.md","docs/guides/TESTING-SUMMARY.md","docs/guides/TODO-CLEANUP-PLAN.md","docs/guides/TODO-GITHUB-ISSUES.md","docs/guides/TYPESCRIPT-ERRORS-FIX-PLAN.md","docs/kafka-event-improvement-plan.md","docs/menus/MENU-ALIGNMENT-FINAL-REPORT.md","docs/menus/MENU-FIX-COMPLETION-REPORT.md","docs/menus/MENU-FIX-SUMMARY.md","docs/menus/MENU-MIGRATION-GUIDE.md","docs/menus/MENU-PERMISSIONS-ANALYSIS.md","docs/menus/MENU-PERMISSIONS-IMPLEMENTATION-GUIDE.md","docs/menus/MENU-PERMISSIONS-QUICK-REFERENCE.md","docs/menus/MENU-PERMISSIONS-SUMMARY.md","docs/menus/MENU-STRUCTURE-V2.2.md","docs/menus/MENU-STRUCTURE-VISUAL.md","docs/menus/MENU-UPDATE-V2.2-FINAL.md","docs/pinia-persistence-verification.md","docs/refactor-final-report.md","docs/refactor-plan-partner-customers.md","docs/refactor-progress.md","docs/refactor-session-summary-2026-01-06.md","docs/refactor-summary-partner-customers.md","docs/refactor-summary.md","docs/reports/AI_AGENT_IMPLEMENTATION_SUMMARY.md","docs/reports/CAMPAIGNS-MIGRATION-REPORT-20260110.md","docs/reports/CHANGELOG_ROUTER_FIX.md","docs/reports/CODE_AUDIT_REPORT.md","docs/reports/CODE_AUDIT_REPORT_2026-01-24.md","docs/reports/CODE_FIX_REPORT_2026-01-24.md","docs/reports/CONFIG_ANALYSIS_REPORT.md","docs/reports/DATABASE-INDEX-MIGRATION-REPORT.md","docs/reports/DATABASE-PARTITIONING-MERGE-SUMMARY.md","docs/reports/DEPENDENCY_AUDIT_REPORT.md","docs/reports/FRONTEND_AUDIT_REPORT.md","docs/reports/FULLSTACK-GAP-ANALYSIS.md","docs/reports/GAP_ANALYSIS_REPORT.md","docs/reports/IMMEDIATE-ACTION-SUMMARY.md","docs/reports/OPTIMIZATION-REPORT.md","docs/reports/P0-TASKS-COMPLETION-REPORT.md","docs/reports/P0-VERIFICATION-CHECKLIST.md","docs/reports/P1-SCHEMA-VALIDATION-REPORT.md","docs/reports/P1-SENTRY-INTEGRATION-REPORT.md","docs/reports/P2_OPTIMIZATION_REPORT.md","docs/reports/PERFORMANCE_ANALYSIS_REPORT.md","docs/reports/PERFORMANCE_OPTIMIZATION_REPORT.md","docs/reports/PHASE_0_COMPLETION_REPORT.md","docs/reports/PHASE_1_STATUS_REPORT.md","docs/reports/PRISMA_GAP_ANALYSIS.md","docs/reports/PROJECT_ANALYSIS_REPORT.md","docs/reports/PROJECT_COMPREHENSIVE_ANALYSIS_2026-01-24.md","docs/reports/REALITY_CHECK_20251222.md","docs/reports/ROUTER_WHITE_SCREEN_FINAL_FIX.md","docs/reports/SECURITY_AUDIT_REPORT_2026-01-24.md","docs/reports/TASK_COMPLETION_SUMMARY.md","docs/reports/TEST-CLEANUP-FIX-REPORT.md","docs/reports/TEST-EXECUTION-REPORT.md","docs/reports/TEST-FIXES-SUMMARY.md","docs/reports/TEST-INFRASTRUCTURE-COMPLETE.md","docs/reports/TEST_REPORT.md","docs/reports/TODO-ANALYSIS-REPORT.md","docs/testing/TEST_IMPROVEMENT_PLAN.md","docs/zod-fix-final-report.md","docs/zod-fix-verification.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/全域收敛状态总览_2026-02-10.md"]},{"id":"2d6cf596bcfe9ab7bfa9a6d26a1d0572fef6cc8c","message":"Summarize backend doc updates\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2d6cf596bcfe9ab7bfa9a6d26a1d0572fef6cc8c","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-11T00:12:40+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agents/services/task-heartbeat.service.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/community-fission/community-fission.service.ts","backend/src/modules/crm-activities/crm-activity.service.ts","backend/src/modules/im/im.service.ts","backend/src/modules/inventory/services/inventory-export.service.ts","backend/src/modules/knowledge-capture/knowledge-ai.service.ts","backend/src/modules/livestream/livestream.service.ts","backend/src/modules/marketing-automation/workflow-action.service.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/pm/pm.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/rma/rma.compat.routes.ts","backend/src/modules/rma/rma.service.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/stage-knowledge/stage-knowledge.service.ts","docs/ACQUISITION-DOMAIN-ANALYSIS.md","docs/ACQUISITION-INNOVATION-TRANSFORMATION-PLAN.md","docs/ACTION-PLAN-2026.md","docs/AI-AGENT-SYSTEM-ANALYSIS.md","docs/ALIGNMENT_REPORT.md","docs/API_REFACTORING_PLAN.md","docs/AUTO-FIX-REPORT.md","docs/BACKEND-QUALITY-AUDIT-REPORT.md","docs/BATCH_OPERATIONS_AUDIT.md","docs/BUSINESS-DOMAIN-ANALYSIS.md","docs/DATABASE_MIGRATION_GUIDE.md","docs/DEPLOYMENT_COMPLETE.md","docs/DUPLICATION_ANALYSIS_REPORT.md","docs/E2E-TEST-STRATEGY.md","docs/EVENT_STREAM_OPTIMIZATION_REPORT.md","docs/FRONTEND-BACKEND-GAP-ANALYSIS.md","docs/FRONTEND-UI-TEST-SPECIFICATION.md","docs/FRONTEND_ANALYSIS_20260102.md","docs/FRONTEND_ARCHITECTURE_ANALYSIS.md","docs/FULLSTACK-MATCHER-ANALYSIS.md","docs/IMPLEMENTATION-GAP-ANALYSIS.md","docs/IMPROVEMENT-PLAN.md","docs/IMPROVEMENTS_SUMMARY_20260102.md","docs/IMPROVEMENT_REPORT_2026-01-02.md","docs/KTV-LOCATION-SELECTION-PRD.md","docs/MARKETING-ARCHITECTURE-INNOVATION.md","docs/MENU-DESIGN-PROPOSAL.md","docs/MENU-STRUCTURE-COMPLETE.md","docs/MOBILE_CHAT_CRM_DEVELOPMENT_PLAN.md","docs/MODULE-STRUCTURE-ANALYSIS.md","docs/OMNICHANNEL-MARKETING-ARCHITECTURE.md","docs/P2-OPTIMIZATION-FINAL-REPORT.md","docs/PERFORMANCE_AUDIT_REPORT.md","docs/PHP-MIGRATION-ANALYSIS.md","docs/PLANNED-ROUTES.md","docs/PRD_巨嗨全域智库_v1.0.md","docs/PRODUCTION_CHECKLIST.md","docs/PROJECT_MODULE_OPTIMIZATION.md","docs/REFACTOR_COMPLETED.md","docs/ROADMAP_2026_Q1.md","docs/SALES-DOMAIN-ANALYSIS.md","docs/SECURITY-AUDIT-REPORT.md","docs/STABILITY-ANALYSIS-REPORT.md","docs/SWOT-ANALYSIS.md","docs/TEST-MATURITY-ASSESSMENT-REPORT.md","docs/TEST_COVERAGE_REPORT.md","docs/TEST_SPECIFICATION_REVIEW.md","docs/WEAKNESS-REMEDIATION-PLAN.md","docs/ZOD_VALIDATION_ENHANCEMENT_REPORT.md","docs/architecture/CAMPAIGNS-TENANT-ID-MIGRATION.md","docs/architecture/CONSISTENCY-CHECKER-COMPLETE.md","docs/architecture/P0-OUTBOX-IMPLEMENTATION-PLAN.md","docs/architecture/P0-OUTBOX-IMPLEMENTATION-REPORT.md","docs/architecture/P0-TABLE-PARTITIONING-PLAN.md","docs/architecture/P1-IMPLEMENTATION-PLAN.md","docs/architecture/PHASE_1_FIX_PLAN.md","docs/architecture/REFACTOR-MODULE-LIST-COMPLETE.md","docs/architecture/REFACTOR_IMPLEMENTATION_PLAN.md","docs/architecture/ROI-ANALYSIS-EMERGENCY-FIX.md","docs/architecture/ROI-ANALYSIS-FIX-UPDATED.md","docs/architecture/ROI-ANALYSIS-IMPLEMENTATION.md","docs/architecture/ROI-MENU-RENAME-COMPLETION.md","docs/architecture/ROI-MENU-RENAME-PLAN.md","docs/architecture/ROI-RENAME-SUMMARY.md","docs/architecture/ROUTE-LAYER-REFACTOR-REPORT.md","docs/architecture/SYSTEM-MANAGEMENT-ANALYSIS.md","docs/audits/comprehensive-scan-report-2026-01-08.md","docs/batch-refactor-plan.md","docs/batch-refactor-summary-phase1.md","docs/deployment-checklist.md","docs/guides/TESTING-SUMMARY.md","docs/guides/TODO-CLEANUP-PLAN.md","docs/guides/TODO-GITHUB-ISSUES.md","docs/guides/TYPESCRIPT-ERRORS-FIX-PLAN.md","docs/kafka-event-improvement-plan.md","docs/menus/MENU-ALIGNMENT-FINAL-REPORT.md","docs/menus/MENU-FIX-COMPLETION-REPORT.md","docs/menus/MENU-FIX-SUMMARY.md","docs/menus/MENU-MIGRATION-GUIDE.md","docs/menus/MENU-PERMISSIONS-ANALYSIS.md","docs/menus/MENU-PERMISSIONS-IMPLEMENTATION-GUIDE.md","docs/menus/MENU-PERMISSIONS-QUICK-REFERENCE.md","docs/menus/MENU-PERMISSIONS-SUMMARY.md","docs/menus/MENU-STRUCTURE-V2.2.md","docs/menus/MENU-STRUCTURE-VISUAL.md","docs/menus/MENU-UPDATE-V2.2-FINAL.md","docs/pinia-persistence-verification.md","docs/refactor-final-report.md","docs/refactor-plan-partner-customers.md","docs/refactor-progress.md","docs/refactor-session-summary-2026-01-06.md","docs/refactor-summary-partner-customers.md","docs/refactor-summary.md","docs/reports/AI_AGENT_IMPLEMENTATION_SUMMARY.md","docs/reports/CAMPAIGNS-MIGRATION-REPORT-20260110.md","docs/reports/CHANGELOG_ROUTER_FIX.md","docs/reports/CODE_AUDIT_REPORT.md","docs/reports/CODE_AUDIT_REPORT_2026-01-24.md","docs/reports/CODE_FIX_REPORT_2026-01-24.md","docs/reports/CONFIG_ANALYSIS_REPORT.md","docs/reports/DATABASE-INDEX-MIGRATION-REPORT.md","docs/reports/DATABASE-PARTITIONING-MERGE-SUMMARY.md","docs/reports/DEPENDENCY_AUDIT_REPORT.md","docs/reports/FRONTEND_AUDIT_REPORT.md","docs/reports/FULLSTACK-GAP-ANALYSIS.md","docs/reports/GAP_ANALYSIS_REPORT.md","docs/reports/IMMEDIATE-ACTION-SUMMARY.md","docs/reports/OPTIMIZATION-REPORT.md","docs/reports/P0-TASKS-COMPLETION-REPORT.md","docs/reports/P0-VERIFICATION-CHECKLIST.md","docs/reports/P1-SCHEMA-VALIDATION-REPORT.md","docs/reports/P1-SENTRY-INTEGRATION-REPORT.md","docs/reports/P2_OPTIMIZATION_REPORT.md","docs/reports/PERFORMANCE_ANALYSIS_REPORT.md","docs/reports/PERFORMANCE_OPTIMIZATION_REPORT.md","docs/reports/PHASE_0_COMPLETION_REPORT.md","docs/reports/PHASE_1_STATUS_REPORT.md","docs/reports/PRISMA_GAP_ANALYSIS.md","docs/reports/PROJECT_ANALYSIS_REPORT.md","docs/reports/PROJECT_COMPREHENSIVE_ANALYSIS_2026-01-24.md","docs/reports/REALITY_CHECK_20251222.md","docs/reports/ROUTER_WHITE_SCREEN_FINAL_FIX.md","docs/reports/SECURITY_AUDIT_REPORT_2026-01-24.md","docs/reports/TASK_COMPLETION_SUMMARY.md","docs/reports/TEST-CLEANUP-FIX-REPORT.md","docs/reports/TEST-EXECUTION-REPORT.md","docs/reports/TEST-FIXES-SUMMARY.md","docs/reports/TEST-INFRASTRUCTURE-COMPLETE.md","docs/reports/TEST_REPORT.md","docs/reports/TODO-ANALYSIS-REPORT.md","docs/testing/TEST_IMPROVEMENT_PLAN.md","docs/zod-fix-final-report.md","docs/zod-fix-verification.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/全域收敛状态总览_2026-02-10.md"]}],"total_commits":0,"head_commit":{"id":"7145a8553a880d8a94356baf7bcb4e2df4631e61","message":"Update predictive and RFM modules\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/7145a8553a880d8a94356baf7bcb4e2df4631e61","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-11T01:01:39+08:00","added":[],"removed":[],"modified":["backend/src/modules/predictive-analytics/predictive-analytics.compat.routes.ts","backend/src/modules/predictive-analytics/predictive-analytics.controller.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/predictive-analytics/predictive-analytics.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.compat.routes.ts","backend/src/modules/rfm-analysis/rfm-analysis.controller.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/rfm-analysis/rfm-analysis.schema.ts","backend/src/modules/rfm-analysis/rfm-analysis.service.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":31473,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-02-24T00:01:59+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
19
|
1771862759
|
1771862764
|
0
|
1771862651
|
1771862764
|
NULL
|
|
0
|
Edit
Delete
|
|
54
|
Update predictive and RFM modules
|
6
|
5
|
test-comprehensive.yml
|
15
|
5
|
0
|
refs/heads/main
|
7145a8553a880d8a94356baf7bcb4e2df4631e61
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c8adeb7142f7f1b57a10bfffc3de856524997227","after":"7145a8553a880d8a94356baf7bcb4e2df4631e61","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/c8adeb7142f7f1b57a10bfffc3de856524997227...7145a8553a880d8a94356baf7bcb4e2df4631e61","commits":[{"id":"7145a8553a880d8a94356baf7bcb4e2df4631e61","message":"Update predictive and RFM modules\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/7145a8553a880d8a94356baf7bcb4e2df4631e61","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-11T01:01:39+08:00","added":[],"removed":[],"modified":["backend/src/modules/predictive-analytics/predictive-analytics.compat.routes.ts","backend/src/modules/predictive-analytics/predictive-analytics.controller.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/predictive-analytics/predictive-analytics.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.compat.routes.ts","backend/src/modules/rfm-analysis/rfm-analysis.controller.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/rfm-analysis/rfm-analysis.schema.ts","backend/src/modules/rfm-analysis/rfm-analysis.service.ts"]},{"id":"0f2d9c3835013e4d3629614ecd18a44606763f27","message":"Review analytics module updates\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/0f2d9c3835013e4d3629614ecd18a44606763f27","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-11T00:49:16+08:00","added":["backend/src/modules/campaign-analytics/campaign-analytics.controller.ts","backend/src/modules/campaign-analytics/campaign-analytics.docs.ts","backend/src/modules/campaign-analytics/campaign-analytics.schema.ts","backend/src/modules/campaign-analytics/campaign-analytics.service.ts","backend/src/modules/channel-analytics/channel-analytics.controller.ts","backend/src/modules/channel-analytics/channel-analytics.docs.ts","backend/src/modules/channel-analytics/channel-analytics.schema.ts","backend/src/modules/channel-analytics/channel-analytics.service.ts","backend/src/modules/cohort-analysis/cohort-analysis.controller.ts","backend/src/modules/cohort-analysis/cohort-analysis.docs.ts","backend/src/modules/cohort-analysis/cohort-analysis.schema.ts","backend/src/modules/cohort-analysis/cohort-analysis.service.ts","backend/src/modules/consumer-behavior-analytics/consumer-behavior-analytics.controller.ts","backend/src/modules/consumer-behavior-analytics/consumer-behavior-analytics.docs.ts","backend/src/modules/consumer-behavior-analytics/consumer-behavior-analytics.schema.ts","backend/src/modules/consumer-behavior-analytics/consumer-behavior-analytics.service.ts","backend/src/modules/cost-allocation/cost-allocation.controller.ts","backend/src/modules/cost-allocation/cost-allocation.docs.ts","backend/src/modules/cost-allocation/cost-allocation.schema.ts","backend/src/modules/cost-allocation/cost-allocation.service.ts","backend/src/modules/cross-domain-funnel/cross-domain-funnel.controller.ts","backend/src/modules/cross-domain-funnel/cross-domain-funnel.docs.ts","backend/src/modules/cross-domain-funnel/cross-domain-funnel.schema.ts","backend/src/modules/cross-domain-funnel/cross-domain-funnel.service.ts","backend/src/modules/customer-journey-orchestration/customer-journey-orchestration.controller.ts","backend/src/modules/customer-journey-orchestration/customer-journey-orchestration.docs.ts","backend/src/modules/customer-journey-orchestration/customer-journey-orchestration.schema.ts","backend/src/modules/customer-journey-orchestration/customer-journey-orchestration.service.ts","backend/src/modules/customer-lifecycle-value/customer-lifecycle-value.controller.ts","backend/src/modules/customer-lifecycle-value/customer-lifecycle-value.docs.ts","backend/src/modules/customer-lifecycle-value/customer-lifecycle-value.schema.ts","backend/src/modules/customer-lifecycle-value/customer-lifecycle-value.service.ts","backend/src/modules/customer-ltv/customer-ltv.controller.ts","backend/src/modules/customer-ltv/customer-ltv.docs.ts","backend/src/modules/customer-ltv/customer-ltv.schema.ts","backend/src/modules/customer-ltv/customer-ltv.service.ts","backend/src/modules/dictionaries/dictionary.docs.ts","backend/src/modules/dimension-transform/dimension-transform.controller.ts","backend/src/modules/dimension-transform/dimension-transform.docs.ts","backend/src/modules/dimension-transform/dimension-transform.schema.ts","backend/src/modules/dimension-transform/dimension-transform.service.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.controller.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.docs.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.schema.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.ts","backend/src/modules/mdm/mdm.docs.ts","backend/src/modules/menus/menu.docs.ts","backend/src/modules/omnichannel-dashboard/omnichannel-dashboard.controller.ts","backend/src/modules/omnichannel-dashboard/omnichannel-dashboard.docs.ts","backend/src/modules/omnichannel-dashboard/omnichannel-dashboard.schema.ts","backend/src/modules/omnichannel-dashboard/omnichannel-dashboard.service.ts","backend/src/modules/omnichannel-data-hub/omnichannel-data-hub.controller.ts","backend/src/modules/omnichannel-data-hub/omnichannel-data-hub.docs.ts","backend/src/modules/omnichannel-data-hub/omnichannel-data-hub.schema.ts","backend/src/modules/omnichannel-data-hub/omnichannel-data-hub.service.ts","backend/src/modules/omnichannel-touchpoints/omnichannel-touchpoints.controller.ts","backend/src/modules/omnichannel-touchpoints/omnichannel-touchpoints.docs.ts","backend/src/modules/omnichannel-touchpoints/omnichannel-touchpoints.schema.ts","backend/src/modules/omnichannel-touchpoints/omnichannel-touchpoints.service.ts","backend/src/modules/positions/positions.controller.ts","backend/src/modules/positions/positions.docs.ts","backend/src/modules/positions/positions.schema.ts","backend/src/modules/positions/positions.service.ts","backend/src/modules/predictive-analytics/predictive-analytics.controller.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/predictive-analytics/predictive-analytics.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.controller.ts","backend/src/modules/realtime-trigger/realtime-trigger.docs.ts","backend/src/modules/realtime-trigger/realtime-trigger.schema.ts","backend/src/modules/realtime-trigger/realtime-trigger.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.controller.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/rfm-analysis/rfm-analysis.schema.ts","backend/src/modules/rfm-analysis/rfm-analysis.service.ts","backend/src/modules/supplier-payments/supplier-payments.controller.ts","backend/src/modules/supplier-payments/supplier-payments.docs.ts","backend/src/modules/supplier-payments/supplier-payments.schema.ts","backend/src/modules/supplier-payments/supplier-payments.service.ts"],"removed":[],"modified":["docs/ACTION-PLAN-2026.md","docs/ROADMAP_2026_Q1.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/全域收敛状态总览_2026-02-10.md"]},{"id":"9675324a5bbabd31646b05a46b9ccea1f19bbfb9","message":"Review backend and docs updates\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9675324a5bbabd31646b05a46b9ccea1f19bbfb9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-11T00:29:08+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/alliance-campaigns/alliance-campaign.service.ts","backend/src/modules/alliance-partners/alliance-partner.service.ts","backend/src/modules/campaign-drafts/campaign-draft.service.ts","backend/src/modules/devices/device.service.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/inventory/services/inventory-reservation.service.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.ts","backend/src/modules/meddpicc-analyses/meddpicc.service.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/web-tracking/web-tracking.service.ts","docs/ACQUISITION-DOMAIN-ANALYSIS.md","docs/ACQUISITION-INNOVATION-TRANSFORMATION-PLAN.md","docs/ACTION-PLAN-2026.md","docs/AI-AGENT-SYSTEM-ANALYSIS.md","docs/ALIGNMENT_REPORT.md","docs/API_REFACTORING_PLAN.md","docs/AUTO-FIX-REPORT.md","docs/BACKEND-QUALITY-AUDIT-REPORT.md","docs/BATCH_OPERATIONS_AUDIT.md","docs/BUSINESS-DOMAIN-ANALYSIS.md","docs/DATABASE_MIGRATION_GUIDE.md","docs/DEPLOYMENT_COMPLETE.md","docs/DUPLICATION_ANALYSIS_REPORT.md","docs/E2E-TEST-STRATEGY.md","docs/EVENT_STREAM_OPTIMIZATION_REPORT.md","docs/FRONTEND-BACKEND-GAP-ANALYSIS.md","docs/FRONTEND-UI-TEST-SPECIFICATION.md","docs/FRONTEND_ANALYSIS_20260102.md","docs/FRONTEND_ARCHITECTURE_ANALYSIS.md","docs/FULLSTACK-MATCHER-ANALYSIS.md","docs/IMPLEMENTATION-GAP-ANALYSIS.md","docs/IMPROVEMENT-PLAN.md","docs/IMPROVEMENTS_SUMMARY_20260102.md","docs/IMPROVEMENT_REPORT_2026-01-02.md","docs/KTV-LOCATION-SELECTION-PRD.md","docs/MARKETING-ARCHITECTURE-INNOVATION.md","docs/MENU-DESIGN-PROPOSAL.md","docs/MENU-STRUCTURE-COMPLETE.md","docs/MOBILE_CHAT_CRM_DEVELOPMENT_PLAN.md","docs/MODULE-STRUCTURE-ANALYSIS.md","docs/OMNICHANNEL-MARKETING-ARCHITECTURE.md","docs/P2-OPTIMIZATION-FINAL-REPORT.md","docs/PERFORMANCE_AUDIT_REPORT.md","docs/PHP-MIGRATION-ANALYSIS.md","docs/PLANNED-ROUTES.md","docs/PRD_巨嗨全域智库_v1.0.md","docs/PRODUCTION_CHECKLIST.md","docs/PROJECT_MODULE_OPTIMIZATION.md","docs/REFACTOR_COMPLETED.md","docs/ROADMAP_2026_Q1.md","docs/SALES-DOMAIN-ANALYSIS.md","docs/SECURITY-AUDIT-REPORT.md","docs/STABILITY-ANALYSIS-REPORT.md","docs/SWOT-ANALYSIS.md","docs/TEST-MATURITY-ASSESSMENT-REPORT.md","docs/TEST_COVERAGE_REPORT.md","docs/TEST_SPECIFICATION_REVIEW.md","docs/WEAKNESS-REMEDIATION-PLAN.md","docs/ZOD_VALIDATION_ENHANCEMENT_REPORT.md","docs/architecture/CAMPAIGNS-TENANT-ID-MIGRATION.md","docs/architecture/CONSISTENCY-CHECKER-COMPLETE.md","docs/architecture/P0-OUTBOX-IMPLEMENTATION-PLAN.md","docs/architecture/P0-OUTBOX-IMPLEMENTATION-REPORT.md","docs/architecture/P0-TABLE-PARTITIONING-PLAN.md","docs/architecture/P1-IMPLEMENTATION-PLAN.md","docs/architecture/PHASE_1_FIX_PLAN.md","docs/architecture/REFACTOR-MODULE-LIST-COMPLETE.md","docs/architecture/REFACTOR_IMPLEMENTATION_PLAN.md","docs/architecture/ROI-ANALYSIS-EMERGENCY-FIX.md","docs/architecture/ROI-ANALYSIS-FIX-UPDATED.md","docs/architecture/ROI-ANALYSIS-IMPLEMENTATION.md","docs/architecture/ROI-MENU-RENAME-COMPLETION.md","docs/architecture/ROI-MENU-RENAME-PLAN.md","docs/architecture/ROI-RENAME-SUMMARY.md","docs/architecture/ROUTE-LAYER-REFACTOR-REPORT.md","docs/architecture/SYSTEM-MANAGEMENT-ANALYSIS.md","docs/audits/comprehensive-scan-report-2026-01-08.md","docs/batch-refactor-plan.md","docs/batch-refactor-summary-phase1.md","docs/deployment-checklist.md","docs/guides/TESTING-SUMMARY.md","docs/guides/TODO-CLEANUP-PLAN.md","docs/guides/TODO-GITHUB-ISSUES.md","docs/guides/TYPESCRIPT-ERRORS-FIX-PLAN.md","docs/kafka-event-improvement-plan.md","docs/menus/MENU-ALIGNMENT-FINAL-REPORT.md","docs/menus/MENU-FIX-COMPLETION-REPORT.md","docs/menus/MENU-FIX-SUMMARY.md","docs/menus/MENU-MIGRATION-GUIDE.md","docs/menus/MENU-PERMISSIONS-ANALYSIS.md","docs/menus/MENU-PERMISSIONS-IMPLEMENTATION-GUIDE.md","docs/menus/MENU-PERMISSIONS-QUICK-REFERENCE.md","docs/menus/MENU-PERMISSIONS-SUMMARY.md","docs/menus/MENU-STRUCTURE-V2.2.md","docs/menus/MENU-STRUCTURE-VISUAL.md","docs/menus/MENU-UPDATE-V2.2-FINAL.md","docs/pinia-persistence-verification.md","docs/refactor-final-report.md","docs/refactor-plan-partner-customers.md","docs/refactor-progress.md","docs/refactor-session-summary-2026-01-06.md","docs/refactor-summary-partner-customers.md","docs/refactor-summary.md","docs/reports/AI_AGENT_IMPLEMENTATION_SUMMARY.md","docs/reports/CAMPAIGNS-MIGRATION-REPORT-20260110.md","docs/reports/CHANGELOG_ROUTER_FIX.md","docs/reports/CODE_AUDIT_REPORT.md","docs/reports/CODE_AUDIT_REPORT_2026-01-24.md","docs/reports/CODE_FIX_REPORT_2026-01-24.md","docs/reports/CONFIG_ANALYSIS_REPORT.md","docs/reports/DATABASE-INDEX-MIGRATION-REPORT.md","docs/reports/DATABASE-PARTITIONING-MERGE-SUMMARY.md","docs/reports/DEPENDENCY_AUDIT_REPORT.md","docs/reports/FRONTEND_AUDIT_REPORT.md","docs/reports/FULLSTACK-GAP-ANALYSIS.md","docs/reports/GAP_ANALYSIS_REPORT.md","docs/reports/IMMEDIATE-ACTION-SUMMARY.md","docs/reports/OPTIMIZATION-REPORT.md","docs/reports/P0-TASKS-COMPLETION-REPORT.md","docs/reports/P0-VERIFICATION-CHECKLIST.md","docs/reports/P1-SCHEMA-VALIDATION-REPORT.md","docs/reports/P1-SENTRY-INTEGRATION-REPORT.md","docs/reports/P2_OPTIMIZATION_REPORT.md","docs/reports/PERFORMANCE_ANALYSIS_REPORT.md","docs/reports/PERFORMANCE_OPTIMIZATION_REPORT.md","docs/reports/PHASE_0_COMPLETION_REPORT.md","docs/reports/PHASE_1_STATUS_REPORT.md","docs/reports/PRISMA_GAP_ANALYSIS.md","docs/reports/PROJECT_ANALYSIS_REPORT.md","docs/reports/PROJECT_COMPREHENSIVE_ANALYSIS_2026-01-24.md","docs/reports/REALITY_CHECK_20251222.md","docs/reports/ROUTER_WHITE_SCREEN_FINAL_FIX.md","docs/reports/SECURITY_AUDIT_REPORT_2026-01-24.md","docs/reports/TASK_COMPLETION_SUMMARY.md","docs/reports/TEST-CLEANUP-FIX-REPORT.md","docs/reports/TEST-EXECUTION-REPORT.md","docs/reports/TEST-FIXES-SUMMARY.md","docs/reports/TEST-INFRASTRUCTURE-COMPLETE.md","docs/reports/TEST_REPORT.md","docs/reports/TODO-ANALYSIS-REPORT.md","docs/testing/TEST_IMPROVEMENT_PLAN.md","docs/zod-fix-final-report.md","docs/zod-fix-verification.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/全域收敛状态总览_2026-02-10.md"]},{"id":"eb3fcc5f8f454b79674c60ad457e4d5ecd3ee310","message":"Review recent docs and service edits\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/eb3fcc5f8f454b79674c60ad457e4d5ecd3ee310","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-11T00:16:16+08:00","added":[],"removed":[],"modified":["backend/src/modules/campaigns/campaign-effectiveness.service.ts","docs/ACQUISITION-DOMAIN-ANALYSIS.md","docs/ACQUISITION-INNOVATION-TRANSFORMATION-PLAN.md","docs/ACTION-PLAN-2026.md","docs/AI-AGENT-SYSTEM-ANALYSIS.md","docs/ALIGNMENT_REPORT.md","docs/API_REFACTORING_PLAN.md","docs/AUTO-FIX-REPORT.md","docs/BACKEND-QUALITY-AUDIT-REPORT.md","docs/BATCH_OPERATIONS_AUDIT.md","docs/BUSINESS-DOMAIN-ANALYSIS.md","docs/DATABASE_MIGRATION_GUIDE.md","docs/DEPLOYMENT_COMPLETE.md","docs/DUPLICATION_ANALYSIS_REPORT.md","docs/E2E-TEST-STRATEGY.md","docs/EVENT_STREAM_OPTIMIZATION_REPORT.md","docs/FRONTEND-BACKEND-GAP-ANALYSIS.md","docs/FRONTEND-UI-TEST-SPECIFICATION.md","docs/FRONTEND_ANALYSIS_20260102.md","docs/FRONTEND_ARCHITECTURE_ANALYSIS.md","docs/FULLSTACK-MATCHER-ANALYSIS.md","docs/IMPLEMENTATION-GAP-ANALYSIS.md","docs/IMPROVEMENT-PLAN.md","docs/IMPROVEMENTS_SUMMARY_20260102.md","docs/IMPROVEMENT_REPORT_2026-01-02.md","docs/KTV-LOCATION-SELECTION-PRD.md","docs/MARKETING-ARCHITECTURE-INNOVATION.md","docs/MENU-DESIGN-PROPOSAL.md","docs/MENU-STRUCTURE-COMPLETE.md","docs/MOBILE_CHAT_CRM_DEVELOPMENT_PLAN.md","docs/MODULE-STRUCTURE-ANALYSIS.md","docs/OMNICHANNEL-MARKETING-ARCHITECTURE.md","docs/P2-OPTIMIZATION-FINAL-REPORT.md","docs/PERFORMANCE_AUDIT_REPORT.md","docs/PHP-MIGRATION-ANALYSIS.md","docs/PLANNED-ROUTES.md","docs/PRD_巨嗨全域智库_v1.0.md","docs/PRODUCTION_CHECKLIST.md","docs/PROJECT_MODULE_OPTIMIZATION.md","docs/REFACTOR_COMPLETED.md","docs/ROADMAP_2026_Q1.md","docs/SALES-DOMAIN-ANALYSIS.md","docs/SECURITY-AUDIT-REPORT.md","docs/STABILITY-ANALYSIS-REPORT.md","docs/SWOT-ANALYSIS.md","docs/TEST-MATURITY-ASSESSMENT-REPORT.md","docs/TEST_COVERAGE_REPORT.md","docs/TEST_SPECIFICATION_REVIEW.md","docs/WEAKNESS-REMEDIATION-PLAN.md","docs/ZOD_VALIDATION_ENHANCEMENT_REPORT.md","docs/architecture/CAMPAIGNS-TENANT-ID-MIGRATION.md","docs/architecture/CONSISTENCY-CHECKER-COMPLETE.md","docs/architecture/P0-OUTBOX-IMPLEMENTATION-PLAN.md","docs/architecture/P0-OUTBOX-IMPLEMENTATION-REPORT.md","docs/architecture/P0-TABLE-PARTITIONING-PLAN.md","docs/architecture/P1-IMPLEMENTATION-PLAN.md","docs/architecture/PHASE_1_FIX_PLAN.md","docs/architecture/REFACTOR-MODULE-LIST-COMPLETE.md","docs/architecture/REFACTOR_IMPLEMENTATION_PLAN.md","docs/architecture/ROI-ANALYSIS-EMERGENCY-FIX.md","docs/architecture/ROI-ANALYSIS-FIX-UPDATED.md","docs/architecture/ROI-ANALYSIS-IMPLEMENTATION.md","docs/architecture/ROI-MENU-RENAME-COMPLETION.md","docs/architecture/ROI-MENU-RENAME-PLAN.md","docs/architecture/ROI-RENAME-SUMMARY.md","docs/architecture/ROUTE-LAYER-REFACTOR-REPORT.md","docs/architecture/SYSTEM-MANAGEMENT-ANALYSIS.md","docs/audits/comprehensive-scan-report-2026-01-08.md","docs/batch-refactor-plan.md","docs/batch-refactor-summary-phase1.md","docs/deployment-checklist.md","docs/guides/TESTING-SUMMARY.md","docs/guides/TODO-CLEANUP-PLAN.md","docs/guides/TODO-GITHUB-ISSUES.md","docs/guides/TYPESCRIPT-ERRORS-FIX-PLAN.md","docs/kafka-event-improvement-plan.md","docs/menus/MENU-ALIGNMENT-FINAL-REPORT.md","docs/menus/MENU-FIX-COMPLETION-REPORT.md","docs/menus/MENU-FIX-SUMMARY.md","docs/menus/MENU-MIGRATION-GUIDE.md","docs/menus/MENU-PERMISSIONS-ANALYSIS.md","docs/menus/MENU-PERMISSIONS-IMPLEMENTATION-GUIDE.md","docs/menus/MENU-PERMISSIONS-QUICK-REFERENCE.md","docs/menus/MENU-PERMISSIONS-SUMMARY.md","docs/menus/MENU-STRUCTURE-V2.2.md","docs/menus/MENU-STRUCTURE-VISUAL.md","docs/menus/MENU-UPDATE-V2.2-FINAL.md","docs/pinia-persistence-verification.md","docs/refactor-final-report.md","docs/refactor-plan-partner-customers.md","docs/refactor-progress.md","docs/refactor-session-summary-2026-01-06.md","docs/refactor-summary-partner-customers.md","docs/refactor-summary.md","docs/reports/AI_AGENT_IMPLEMENTATION_SUMMARY.md","docs/reports/CAMPAIGNS-MIGRATION-REPORT-20260110.md","docs/reports/CHANGELOG_ROUTER_FIX.md","docs/reports/CODE_AUDIT_REPORT.md","docs/reports/CODE_AUDIT_REPORT_2026-01-24.md","docs/reports/CODE_FIX_REPORT_2026-01-24.md","docs/reports/CONFIG_ANALYSIS_REPORT.md","docs/reports/DATABASE-INDEX-MIGRATION-REPORT.md","docs/reports/DATABASE-PARTITIONING-MERGE-SUMMARY.md","docs/reports/DEPENDENCY_AUDIT_REPORT.md","docs/reports/FRONTEND_AUDIT_REPORT.md","docs/reports/FULLSTACK-GAP-ANALYSIS.md","docs/reports/GAP_ANALYSIS_REPORT.md","docs/reports/IMMEDIATE-ACTION-SUMMARY.md","docs/reports/OPTIMIZATION-REPORT.md","docs/reports/P0-TASKS-COMPLETION-REPORT.md","docs/reports/P0-VERIFICATION-CHECKLIST.md","docs/reports/P1-SCHEMA-VALIDATION-REPORT.md","docs/reports/P1-SENTRY-INTEGRATION-REPORT.md","docs/reports/P2_OPTIMIZATION_REPORT.md","docs/reports/PERFORMANCE_ANALYSIS_REPORT.md","docs/reports/PERFORMANCE_OPTIMIZATION_REPORT.md","docs/reports/PHASE_0_COMPLETION_REPORT.md","docs/reports/PHASE_1_STATUS_REPORT.md","docs/reports/PRISMA_GAP_ANALYSIS.md","docs/reports/PROJECT_ANALYSIS_REPORT.md","docs/reports/PROJECT_COMPREHENSIVE_ANALYSIS_2026-01-24.md","docs/reports/REALITY_CHECK_20251222.md","docs/reports/ROUTER_WHITE_SCREEN_FINAL_FIX.md","docs/reports/SECURITY_AUDIT_REPORT_2026-01-24.md","docs/reports/TASK_COMPLETION_SUMMARY.md","docs/reports/TEST-CLEANUP-FIX-REPORT.md","docs/reports/TEST-EXECUTION-REPORT.md","docs/reports/TEST-FIXES-SUMMARY.md","docs/reports/TEST-INFRASTRUCTURE-COMPLETE.md","docs/reports/TEST_REPORT.md","docs/reports/TODO-ANALYSIS-REPORT.md","docs/testing/TEST_IMPROVEMENT_PLAN.md","docs/zod-fix-final-report.md","docs/zod-fix-verification.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/全域收敛状态总览_2026-02-10.md"]},{"id":"2d6cf596bcfe9ab7bfa9a6d26a1d0572fef6cc8c","message":"Summarize backend doc updates\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2d6cf596bcfe9ab7bfa9a6d26a1d0572fef6cc8c","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-11T00:12:40+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agents/services/task-heartbeat.service.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/community-fission/community-fission.service.ts","backend/src/modules/crm-activities/crm-activity.service.ts","backend/src/modules/im/im.service.ts","backend/src/modules/inventory/services/inventory-export.service.ts","backend/src/modules/knowledge-capture/knowledge-ai.service.ts","backend/src/modules/livestream/livestream.service.ts","backend/src/modules/marketing-automation/workflow-action.service.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/pm/pm.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/rma/rma.compat.routes.ts","backend/src/modules/rma/rma.service.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/stage-knowledge/stage-knowledge.service.ts","docs/ACQUISITION-DOMAIN-ANALYSIS.md","docs/ACQUISITION-INNOVATION-TRANSFORMATION-PLAN.md","docs/ACTION-PLAN-2026.md","docs/AI-AGENT-SYSTEM-ANALYSIS.md","docs/ALIGNMENT_REPORT.md","docs/API_REFACTORING_PLAN.md","docs/AUTO-FIX-REPORT.md","docs/BACKEND-QUALITY-AUDIT-REPORT.md","docs/BATCH_OPERATIONS_AUDIT.md","docs/BUSINESS-DOMAIN-ANALYSIS.md","docs/DATABASE_MIGRATION_GUIDE.md","docs/DEPLOYMENT_COMPLETE.md","docs/DUPLICATION_ANALYSIS_REPORT.md","docs/E2E-TEST-STRATEGY.md","docs/EVENT_STREAM_OPTIMIZATION_REPORT.md","docs/FRONTEND-BACKEND-GAP-ANALYSIS.md","docs/FRONTEND-UI-TEST-SPECIFICATION.md","docs/FRONTEND_ANALYSIS_20260102.md","docs/FRONTEND_ARCHITECTURE_ANALYSIS.md","docs/FULLSTACK-MATCHER-ANALYSIS.md","docs/IMPLEMENTATION-GAP-ANALYSIS.md","docs/IMPROVEMENT-PLAN.md","docs/IMPROVEMENTS_SUMMARY_20260102.md","docs/IMPROVEMENT_REPORT_2026-01-02.md","docs/KTV-LOCATION-SELECTION-PRD.md","docs/MARKETING-ARCHITECTURE-INNOVATION.md","docs/MENU-DESIGN-PROPOSAL.md","docs/MENU-STRUCTURE-COMPLETE.md","docs/MOBILE_CHAT_CRM_DEVELOPMENT_PLAN.md","docs/MODULE-STRUCTURE-ANALYSIS.md","docs/OMNICHANNEL-MARKETING-ARCHITECTURE.md","docs/P2-OPTIMIZATION-FINAL-REPORT.md","docs/PERFORMANCE_AUDIT_REPORT.md","docs/PHP-MIGRATION-ANALYSIS.md","docs/PLANNED-ROUTES.md","docs/PRD_巨嗨全域智库_v1.0.md","docs/PRODUCTION_CHECKLIST.md","docs/PROJECT_MODULE_OPTIMIZATION.md","docs/REFACTOR_COMPLETED.md","docs/ROADMAP_2026_Q1.md","docs/SALES-DOMAIN-ANALYSIS.md","docs/SECURITY-AUDIT-REPORT.md","docs/STABILITY-ANALYSIS-REPORT.md","docs/SWOT-ANALYSIS.md","docs/TEST-MATURITY-ASSESSMENT-REPORT.md","docs/TEST_COVERAGE_REPORT.md","docs/TEST_SPECIFICATION_REVIEW.md","docs/WEAKNESS-REMEDIATION-PLAN.md","docs/ZOD_VALIDATION_ENHANCEMENT_REPORT.md","docs/architecture/CAMPAIGNS-TENANT-ID-MIGRATION.md","docs/architecture/CONSISTENCY-CHECKER-COMPLETE.md","docs/architecture/P0-OUTBOX-IMPLEMENTATION-PLAN.md","docs/architecture/P0-OUTBOX-IMPLEMENTATION-REPORT.md","docs/architecture/P0-TABLE-PARTITIONING-PLAN.md","docs/architecture/P1-IMPLEMENTATION-PLAN.md","docs/architecture/PHASE_1_FIX_PLAN.md","docs/architecture/REFACTOR-MODULE-LIST-COMPLETE.md","docs/architecture/REFACTOR_IMPLEMENTATION_PLAN.md","docs/architecture/ROI-ANALYSIS-EMERGENCY-FIX.md","docs/architecture/ROI-ANALYSIS-FIX-UPDATED.md","docs/architecture/ROI-ANALYSIS-IMPLEMENTATION.md","docs/architecture/ROI-MENU-RENAME-COMPLETION.md","docs/architecture/ROI-MENU-RENAME-PLAN.md","docs/architecture/ROI-RENAME-SUMMARY.md","docs/architecture/ROUTE-LAYER-REFACTOR-REPORT.md","docs/architecture/SYSTEM-MANAGEMENT-ANALYSIS.md","docs/audits/comprehensive-scan-report-2026-01-08.md","docs/batch-refactor-plan.md","docs/batch-refactor-summary-phase1.md","docs/deployment-checklist.md","docs/guides/TESTING-SUMMARY.md","docs/guides/TODO-CLEANUP-PLAN.md","docs/guides/TODO-GITHUB-ISSUES.md","docs/guides/TYPESCRIPT-ERRORS-FIX-PLAN.md","docs/kafka-event-improvement-plan.md","docs/menus/MENU-ALIGNMENT-FINAL-REPORT.md","docs/menus/MENU-FIX-COMPLETION-REPORT.md","docs/menus/MENU-FIX-SUMMARY.md","docs/menus/MENU-MIGRATION-GUIDE.md","docs/menus/MENU-PERMISSIONS-ANALYSIS.md","docs/menus/MENU-PERMISSIONS-IMPLEMENTATION-GUIDE.md","docs/menus/MENU-PERMISSIONS-QUICK-REFERENCE.md","docs/menus/MENU-PERMISSIONS-SUMMARY.md","docs/menus/MENU-STRUCTURE-V2.2.md","docs/menus/MENU-STRUCTURE-VISUAL.md","docs/menus/MENU-UPDATE-V2.2-FINAL.md","docs/pinia-persistence-verification.md","docs/refactor-final-report.md","docs/refactor-plan-partner-customers.md","docs/refactor-progress.md","docs/refactor-session-summary-2026-01-06.md","docs/refactor-summary-partner-customers.md","docs/refactor-summary.md","docs/reports/AI_AGENT_IMPLEMENTATION_SUMMARY.md","docs/reports/CAMPAIGNS-MIGRATION-REPORT-20260110.md","docs/reports/CHANGELOG_ROUTER_FIX.md","docs/reports/CODE_AUDIT_REPORT.md","docs/reports/CODE_AUDIT_REPORT_2026-01-24.md","docs/reports/CODE_FIX_REPORT_2026-01-24.md","docs/reports/CONFIG_ANALYSIS_REPORT.md","docs/reports/DATABASE-INDEX-MIGRATION-REPORT.md","docs/reports/DATABASE-PARTITIONING-MERGE-SUMMARY.md","docs/reports/DEPENDENCY_AUDIT_REPORT.md","docs/reports/FRONTEND_AUDIT_REPORT.md","docs/reports/FULLSTACK-GAP-ANALYSIS.md","docs/reports/GAP_ANALYSIS_REPORT.md","docs/reports/IMMEDIATE-ACTION-SUMMARY.md","docs/reports/OPTIMIZATION-REPORT.md","docs/reports/P0-TASKS-COMPLETION-REPORT.md","docs/reports/P0-VERIFICATION-CHECKLIST.md","docs/reports/P1-SCHEMA-VALIDATION-REPORT.md","docs/reports/P1-SENTRY-INTEGRATION-REPORT.md","docs/reports/P2_OPTIMIZATION_REPORT.md","docs/reports/PERFORMANCE_ANALYSIS_REPORT.md","docs/reports/PERFORMANCE_OPTIMIZATION_REPORT.md","docs/reports/PHASE_0_COMPLETION_REPORT.md","docs/reports/PHASE_1_STATUS_REPORT.md","docs/reports/PRISMA_GAP_ANALYSIS.md","docs/reports/PROJECT_ANALYSIS_REPORT.md","docs/reports/PROJECT_COMPREHENSIVE_ANALYSIS_2026-01-24.md","docs/reports/REALITY_CHECK_20251222.md","docs/reports/ROUTER_WHITE_SCREEN_FINAL_FIX.md","docs/reports/SECURITY_AUDIT_REPORT_2026-01-24.md","docs/reports/TASK_COMPLETION_SUMMARY.md","docs/reports/TEST-CLEANUP-FIX-REPORT.md","docs/reports/TEST-EXECUTION-REPORT.md","docs/reports/TEST-FIXES-SUMMARY.md","docs/reports/TEST-INFRASTRUCTURE-COMPLETE.md","docs/reports/TEST_REPORT.md","docs/reports/TODO-ANALYSIS-REPORT.md","docs/testing/TEST_IMPROVEMENT_PLAN.md","docs/zod-fix-final-report.md","docs/zod-fix-verification.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/全域收敛状态总览_2026-02-10.md"]}],"total_commits":0,"head_commit":{"id":"7145a8553a880d8a94356baf7bcb4e2df4631e61","message":"Update predictive and RFM modules\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/7145a8553a880d8a94356baf7bcb4e2df4631e61","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-11T01:01:39+08:00","added":[],"removed":[],"modified":["backend/src/modules/predictive-analytics/predictive-analytics.compat.routes.ts","backend/src/modules/predictive-analytics/predictive-analytics.controller.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/predictive-analytics/predictive-analytics.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.compat.routes.ts","backend/src/modules/rfm-analysis/rfm-analysis.controller.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/rfm-analysis/rfm-analysis.schema.ts","backend/src/modules/rfm-analysis/rfm-analysis.service.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":31473,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-02-24T00:01:59+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
19
|
1771862764
|
1771862765
|
0
|
1771862652
|
1771862765
|
NULL
|
|
0
|
Edit
Delete
|
|
55
|
Update predictive and RFM modules
|
6
|
5
|
health-check.yml
|
16
|
-2
|
11
|
refs/heads/main
|
7145a8553a880d8a94356baf7bcb4e2df4631e61
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c8adeb7142f7f1b57a10bfffc3de856524997227","after":"7145a8553a880d8a94356baf7bcb4e2df4631e61","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/c8adeb7142f7f1b57a10bfffc3de856524997227...7145a8553a880d8a94356baf7bcb4e2df4631e61","commits":[{"id":"7145a8553a880d8a94356baf7bcb4e2df4631e61","message":"Update predictive and RFM modules\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/7145a8553a880d8a94356baf7bcb4e2df4631e61","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-11T01:01:39+08:00","added":[],"removed":[],"modified":["backend/src/modules/predictive-analytics/predictive-analytics.compat.routes.ts","backend/src/modules/predictive-analytics/predictive-analytics.controller.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/predictive-analytics/predictive-analytics.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.compat.routes.ts","backend/src/modules/rfm-analysis/rfm-analysis.controller.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/rfm-analysis/rfm-analysis.schema.ts","backend/src/modules/rfm-analysis/rfm-analysis.service.ts"]},{"id":"0f2d9c3835013e4d3629614ecd18a44606763f27","message":"Review analytics module updates\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/0f2d9c3835013e4d3629614ecd18a44606763f27","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-11T00:49:16+08:00","added":["backend/src/modules/campaign-analytics/campaign-analytics.controller.ts","backend/src/modules/campaign-analytics/campaign-analytics.docs.ts","backend/src/modules/campaign-analytics/campaign-analytics.schema.ts","backend/src/modules/campaign-analytics/campaign-analytics.service.ts","backend/src/modules/channel-analytics/channel-analytics.controller.ts","backend/src/modules/channel-analytics/channel-analytics.docs.ts","backend/src/modules/channel-analytics/channel-analytics.schema.ts","backend/src/modules/channel-analytics/channel-analytics.service.ts","backend/src/modules/cohort-analysis/cohort-analysis.controller.ts","backend/src/modules/cohort-analysis/cohort-analysis.docs.ts","backend/src/modules/cohort-analysis/cohort-analysis.schema.ts","backend/src/modules/cohort-analysis/cohort-analysis.service.ts","backend/src/modules/consumer-behavior-analytics/consumer-behavior-analytics.controller.ts","backend/src/modules/consumer-behavior-analytics/consumer-behavior-analytics.docs.ts","backend/src/modules/consumer-behavior-analytics/consumer-behavior-analytics.schema.ts","backend/src/modules/consumer-behavior-analytics/consumer-behavior-analytics.service.ts","backend/src/modules/cost-allocation/cost-allocation.controller.ts","backend/src/modules/cost-allocation/cost-allocation.docs.ts","backend/src/modules/cost-allocation/cost-allocation.schema.ts","backend/src/modules/cost-allocation/cost-allocation.service.ts","backend/src/modules/cross-domain-funnel/cross-domain-funnel.controller.ts","backend/src/modules/cross-domain-funnel/cross-domain-funnel.docs.ts","backend/src/modules/cross-domain-funnel/cross-domain-funnel.schema.ts","backend/src/modules/cross-domain-funnel/cross-domain-funnel.service.ts","backend/src/modules/customer-journey-orchestration/customer-journey-orchestration.controller.ts","backend/src/modules/customer-journey-orchestration/customer-journey-orchestration.docs.ts","backend/src/modules/customer-journey-orchestration/customer-journey-orchestration.schema.ts","backend/src/modules/customer-journey-orchestration/customer-journey-orchestration.service.ts","backend/src/modules/customer-lifecycle-value/customer-lifecycle-value.controller.ts","backend/src/modules/customer-lifecycle-value/customer-lifecycle-value.docs.ts","backend/src/modules/customer-lifecycle-value/customer-lifecycle-value.schema.ts","backend/src/modules/customer-lifecycle-value/customer-lifecycle-value.service.ts","backend/src/modules/customer-ltv/customer-ltv.controller.ts","backend/src/modules/customer-ltv/customer-ltv.docs.ts","backend/src/modules/customer-ltv/customer-ltv.schema.ts","backend/src/modules/customer-ltv/customer-ltv.service.ts","backend/src/modules/dictionaries/dictionary.docs.ts","backend/src/modules/dimension-transform/dimension-transform.controller.ts","backend/src/modules/dimension-transform/dimension-transform.docs.ts","backend/src/modules/dimension-transform/dimension-transform.schema.ts","backend/src/modules/dimension-transform/dimension-transform.service.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.controller.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.docs.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.schema.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.ts","backend/src/modules/mdm/mdm.docs.ts","backend/src/modules/menus/menu.docs.ts","backend/src/modules/omnichannel-dashboard/omnichannel-dashboard.controller.ts","backend/src/modules/omnichannel-dashboard/omnichannel-dashboard.docs.ts","backend/src/modules/omnichannel-dashboard/omnichannel-dashboard.schema.ts","backend/src/modules/omnichannel-dashboard/omnichannel-dashboard.service.ts","backend/src/modules/omnichannel-data-hub/omnichannel-data-hub.controller.ts","backend/src/modules/omnichannel-data-hub/omnichannel-data-hub.docs.ts","backend/src/modules/omnichannel-data-hub/omnichannel-data-hub.schema.ts","backend/src/modules/omnichannel-data-hub/omnichannel-data-hub.service.ts","backend/src/modules/omnichannel-touchpoints/omnichannel-touchpoints.controller.ts","backend/src/modules/omnichannel-touchpoints/omnichannel-touchpoints.docs.ts","backend/src/modules/omnichannel-touchpoints/omnichannel-touchpoints.schema.ts","backend/src/modules/omnichannel-touchpoints/omnichannel-touchpoints.service.ts","backend/src/modules/positions/positions.controller.ts","backend/src/modules/positions/positions.docs.ts","backend/src/modules/positions/positions.schema.ts","backend/src/modules/positions/positions.service.ts","backend/src/modules/predictive-analytics/predictive-analytics.controller.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/predictive-analytics/predictive-analytics.service.ts","backend/src/modules/realtime-trigger/realtime-trigger.controller.ts","backend/src/modules/realtime-trigger/realtime-trigger.docs.ts","backend/src/modules/realtime-trigger/realtime-trigger.schema.ts","backend/src/modules/realtime-trigger/realtime-trigger.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.controller.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/rfm-analysis/rfm-analysis.schema.ts","backend/src/modules/rfm-analysis/rfm-analysis.service.ts","backend/src/modules/supplier-payments/supplier-payments.controller.ts","backend/src/modules/supplier-payments/supplier-payments.docs.ts","backend/src/modules/supplier-payments/supplier-payments.schema.ts","backend/src/modules/supplier-payments/supplier-payments.service.ts"],"removed":[],"modified":["docs/ACTION-PLAN-2026.md","docs/ROADMAP_2026_Q1.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/全域收敛状态总览_2026-02-10.md"]},{"id":"9675324a5bbabd31646b05a46b9ccea1f19bbfb9","message":"Review backend and docs updates\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9675324a5bbabd31646b05a46b9ccea1f19bbfb9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-11T00:29:08+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/alliance-campaigns/alliance-campaign.service.ts","backend/src/modules/alliance-partners/alliance-partner.service.ts","backend/src/modules/campaign-drafts/campaign-draft.service.ts","backend/src/modules/devices/device.service.ts","backend/src/modules/groupbuy-promotions/groupbuy-promotion.service.ts","backend/src/modules/inventory/services/inventory-reservation.service.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.service.ts","backend/src/modules/meddpicc-analyses/meddpicc.service.ts","backend/src/modules/swot-analyses/swot.service.ts","backend/src/modules/web-tracking/web-tracking.service.ts","docs/ACQUISITION-DOMAIN-ANALYSIS.md","docs/ACQUISITION-INNOVATION-TRANSFORMATION-PLAN.md","docs/ACTION-PLAN-2026.md","docs/AI-AGENT-SYSTEM-ANALYSIS.md","docs/ALIGNMENT_REPORT.md","docs/API_REFACTORING_PLAN.md","docs/AUTO-FIX-REPORT.md","docs/BACKEND-QUALITY-AUDIT-REPORT.md","docs/BATCH_OPERATIONS_AUDIT.md","docs/BUSINESS-DOMAIN-ANALYSIS.md","docs/DATABASE_MIGRATION_GUIDE.md","docs/DEPLOYMENT_COMPLETE.md","docs/DUPLICATION_ANALYSIS_REPORT.md","docs/E2E-TEST-STRATEGY.md","docs/EVENT_STREAM_OPTIMIZATION_REPORT.md","docs/FRONTEND-BACKEND-GAP-ANALYSIS.md","docs/FRONTEND-UI-TEST-SPECIFICATION.md","docs/FRONTEND_ANALYSIS_20260102.md","docs/FRONTEND_ARCHITECTURE_ANALYSIS.md","docs/FULLSTACK-MATCHER-ANALYSIS.md","docs/IMPLEMENTATION-GAP-ANALYSIS.md","docs/IMPROVEMENT-PLAN.md","docs/IMPROVEMENTS_SUMMARY_20260102.md","docs/IMPROVEMENT_REPORT_2026-01-02.md","docs/KTV-LOCATION-SELECTION-PRD.md","docs/MARKETING-ARCHITECTURE-INNOVATION.md","docs/MENU-DESIGN-PROPOSAL.md","docs/MENU-STRUCTURE-COMPLETE.md","docs/MOBILE_CHAT_CRM_DEVELOPMENT_PLAN.md","docs/MODULE-STRUCTURE-ANALYSIS.md","docs/OMNICHANNEL-MARKETING-ARCHITECTURE.md","docs/P2-OPTIMIZATION-FINAL-REPORT.md","docs/PERFORMANCE_AUDIT_REPORT.md","docs/PHP-MIGRATION-ANALYSIS.md","docs/PLANNED-ROUTES.md","docs/PRD_巨嗨全域智库_v1.0.md","docs/PRODUCTION_CHECKLIST.md","docs/PROJECT_MODULE_OPTIMIZATION.md","docs/REFACTOR_COMPLETED.md","docs/ROADMAP_2026_Q1.md","docs/SALES-DOMAIN-ANALYSIS.md","docs/SECURITY-AUDIT-REPORT.md","docs/STABILITY-ANALYSIS-REPORT.md","docs/SWOT-ANALYSIS.md","docs/TEST-MATURITY-ASSESSMENT-REPORT.md","docs/TEST_COVERAGE_REPORT.md","docs/TEST_SPECIFICATION_REVIEW.md","docs/WEAKNESS-REMEDIATION-PLAN.md","docs/ZOD_VALIDATION_ENHANCEMENT_REPORT.md","docs/architecture/CAMPAIGNS-TENANT-ID-MIGRATION.md","docs/architecture/CONSISTENCY-CHECKER-COMPLETE.md","docs/architecture/P0-OUTBOX-IMPLEMENTATION-PLAN.md","docs/architecture/P0-OUTBOX-IMPLEMENTATION-REPORT.md","docs/architecture/P0-TABLE-PARTITIONING-PLAN.md","docs/architecture/P1-IMPLEMENTATION-PLAN.md","docs/architecture/PHASE_1_FIX_PLAN.md","docs/architecture/REFACTOR-MODULE-LIST-COMPLETE.md","docs/architecture/REFACTOR_IMPLEMENTATION_PLAN.md","docs/architecture/ROI-ANALYSIS-EMERGENCY-FIX.md","docs/architecture/ROI-ANALYSIS-FIX-UPDATED.md","docs/architecture/ROI-ANALYSIS-IMPLEMENTATION.md","docs/architecture/ROI-MENU-RENAME-COMPLETION.md","docs/architecture/ROI-MENU-RENAME-PLAN.md","docs/architecture/ROI-RENAME-SUMMARY.md","docs/architecture/ROUTE-LAYER-REFACTOR-REPORT.md","docs/architecture/SYSTEM-MANAGEMENT-ANALYSIS.md","docs/audits/comprehensive-scan-report-2026-01-08.md","docs/batch-refactor-plan.md","docs/batch-refactor-summary-phase1.md","docs/deployment-checklist.md","docs/guides/TESTING-SUMMARY.md","docs/guides/TODO-CLEANUP-PLAN.md","docs/guides/TODO-GITHUB-ISSUES.md","docs/guides/TYPESCRIPT-ERRORS-FIX-PLAN.md","docs/kafka-event-improvement-plan.md","docs/menus/MENU-ALIGNMENT-FINAL-REPORT.md","docs/menus/MENU-FIX-COMPLETION-REPORT.md","docs/menus/MENU-FIX-SUMMARY.md","docs/menus/MENU-MIGRATION-GUIDE.md","docs/menus/MENU-PERMISSIONS-ANALYSIS.md","docs/menus/MENU-PERMISSIONS-IMPLEMENTATION-GUIDE.md","docs/menus/MENU-PERMISSIONS-QUICK-REFERENCE.md","docs/menus/MENU-PERMISSIONS-SUMMARY.md","docs/menus/MENU-STRUCTURE-V2.2.md","docs/menus/MENU-STRUCTURE-VISUAL.md","docs/menus/MENU-UPDATE-V2.2-FINAL.md","docs/pinia-persistence-verification.md","docs/refactor-final-report.md","docs/refactor-plan-partner-customers.md","docs/refactor-progress.md","docs/refactor-session-summary-2026-01-06.md","docs/refactor-summary-partner-customers.md","docs/refactor-summary.md","docs/reports/AI_AGENT_IMPLEMENTATION_SUMMARY.md","docs/reports/CAMPAIGNS-MIGRATION-REPORT-20260110.md","docs/reports/CHANGELOG_ROUTER_FIX.md","docs/reports/CODE_AUDIT_REPORT.md","docs/reports/CODE_AUDIT_REPORT_2026-01-24.md","docs/reports/CODE_FIX_REPORT_2026-01-24.md","docs/reports/CONFIG_ANALYSIS_REPORT.md","docs/reports/DATABASE-INDEX-MIGRATION-REPORT.md","docs/reports/DATABASE-PARTITIONING-MERGE-SUMMARY.md","docs/reports/DEPENDENCY_AUDIT_REPORT.md","docs/reports/FRONTEND_AUDIT_REPORT.md","docs/reports/FULLSTACK-GAP-ANALYSIS.md","docs/reports/GAP_ANALYSIS_REPORT.md","docs/reports/IMMEDIATE-ACTION-SUMMARY.md","docs/reports/OPTIMIZATION-REPORT.md","docs/reports/P0-TASKS-COMPLETION-REPORT.md","docs/reports/P0-VERIFICATION-CHECKLIST.md","docs/reports/P1-SCHEMA-VALIDATION-REPORT.md","docs/reports/P1-SENTRY-INTEGRATION-REPORT.md","docs/reports/P2_OPTIMIZATION_REPORT.md","docs/reports/PERFORMANCE_ANALYSIS_REPORT.md","docs/reports/PERFORMANCE_OPTIMIZATION_REPORT.md","docs/reports/PHASE_0_COMPLETION_REPORT.md","docs/reports/PHASE_1_STATUS_REPORT.md","docs/reports/PRISMA_GAP_ANALYSIS.md","docs/reports/PROJECT_ANALYSIS_REPORT.md","docs/reports/PROJECT_COMPREHENSIVE_ANALYSIS_2026-01-24.md","docs/reports/REALITY_CHECK_20251222.md","docs/reports/ROUTER_WHITE_SCREEN_FINAL_FIX.md","docs/reports/SECURITY_AUDIT_REPORT_2026-01-24.md","docs/reports/TASK_COMPLETION_SUMMARY.md","docs/reports/TEST-CLEANUP-FIX-REPORT.md","docs/reports/TEST-EXECUTION-REPORT.md","docs/reports/TEST-FIXES-SUMMARY.md","docs/reports/TEST-INFRASTRUCTURE-COMPLETE.md","docs/reports/TEST_REPORT.md","docs/reports/TODO-ANALYSIS-REPORT.md","docs/testing/TEST_IMPROVEMENT_PLAN.md","docs/zod-fix-final-report.md","docs/zod-fix-verification.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/全域收敛状态总览_2026-02-10.md"]},{"id":"eb3fcc5f8f454b79674c60ad457e4d5ecd3ee310","message":"Review recent docs and service edits\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/eb3fcc5f8f454b79674c60ad457e4d5ecd3ee310","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-11T00:16:16+08:00","added":[],"removed":[],"modified":["backend/src/modules/campaigns/campaign-effectiveness.service.ts","docs/ACQUISITION-DOMAIN-ANALYSIS.md","docs/ACQUISITION-INNOVATION-TRANSFORMATION-PLAN.md","docs/ACTION-PLAN-2026.md","docs/AI-AGENT-SYSTEM-ANALYSIS.md","docs/ALIGNMENT_REPORT.md","docs/API_REFACTORING_PLAN.md","docs/AUTO-FIX-REPORT.md","docs/BACKEND-QUALITY-AUDIT-REPORT.md","docs/BATCH_OPERATIONS_AUDIT.md","docs/BUSINESS-DOMAIN-ANALYSIS.md","docs/DATABASE_MIGRATION_GUIDE.md","docs/DEPLOYMENT_COMPLETE.md","docs/DUPLICATION_ANALYSIS_REPORT.md","docs/E2E-TEST-STRATEGY.md","docs/EVENT_STREAM_OPTIMIZATION_REPORT.md","docs/FRONTEND-BACKEND-GAP-ANALYSIS.md","docs/FRONTEND-UI-TEST-SPECIFICATION.md","docs/FRONTEND_ANALYSIS_20260102.md","docs/FRONTEND_ARCHITECTURE_ANALYSIS.md","docs/FULLSTACK-MATCHER-ANALYSIS.md","docs/IMPLEMENTATION-GAP-ANALYSIS.md","docs/IMPROVEMENT-PLAN.md","docs/IMPROVEMENTS_SUMMARY_20260102.md","docs/IMPROVEMENT_REPORT_2026-01-02.md","docs/KTV-LOCATION-SELECTION-PRD.md","docs/MARKETING-ARCHITECTURE-INNOVATION.md","docs/MENU-DESIGN-PROPOSAL.md","docs/MENU-STRUCTURE-COMPLETE.md","docs/MOBILE_CHAT_CRM_DEVELOPMENT_PLAN.md","docs/MODULE-STRUCTURE-ANALYSIS.md","docs/OMNICHANNEL-MARKETING-ARCHITECTURE.md","docs/P2-OPTIMIZATION-FINAL-REPORT.md","docs/PERFORMANCE_AUDIT_REPORT.md","docs/PHP-MIGRATION-ANALYSIS.md","docs/PLANNED-ROUTES.md","docs/PRD_巨嗨全域智库_v1.0.md","docs/PRODUCTION_CHECKLIST.md","docs/PROJECT_MODULE_OPTIMIZATION.md","docs/REFACTOR_COMPLETED.md","docs/ROADMAP_2026_Q1.md","docs/SALES-DOMAIN-ANALYSIS.md","docs/SECURITY-AUDIT-REPORT.md","docs/STABILITY-ANALYSIS-REPORT.md","docs/SWOT-ANALYSIS.md","docs/TEST-MATURITY-ASSESSMENT-REPORT.md","docs/TEST_COVERAGE_REPORT.md","docs/TEST_SPECIFICATION_REVIEW.md","docs/WEAKNESS-REMEDIATION-PLAN.md","docs/ZOD_VALIDATION_ENHANCEMENT_REPORT.md","docs/architecture/CAMPAIGNS-TENANT-ID-MIGRATION.md","docs/architecture/CONSISTENCY-CHECKER-COMPLETE.md","docs/architecture/P0-OUTBOX-IMPLEMENTATION-PLAN.md","docs/architecture/P0-OUTBOX-IMPLEMENTATION-REPORT.md","docs/architecture/P0-TABLE-PARTITIONING-PLAN.md","docs/architecture/P1-IMPLEMENTATION-PLAN.md","docs/architecture/PHASE_1_FIX_PLAN.md","docs/architecture/REFACTOR-MODULE-LIST-COMPLETE.md","docs/architecture/REFACTOR_IMPLEMENTATION_PLAN.md","docs/architecture/ROI-ANALYSIS-EMERGENCY-FIX.md","docs/architecture/ROI-ANALYSIS-FIX-UPDATED.md","docs/architecture/ROI-ANALYSIS-IMPLEMENTATION.md","docs/architecture/ROI-MENU-RENAME-COMPLETION.md","docs/architecture/ROI-MENU-RENAME-PLAN.md","docs/architecture/ROI-RENAME-SUMMARY.md","docs/architecture/ROUTE-LAYER-REFACTOR-REPORT.md","docs/architecture/SYSTEM-MANAGEMENT-ANALYSIS.md","docs/audits/comprehensive-scan-report-2026-01-08.md","docs/batch-refactor-plan.md","docs/batch-refactor-summary-phase1.md","docs/deployment-checklist.md","docs/guides/TESTING-SUMMARY.md","docs/guides/TODO-CLEANUP-PLAN.md","docs/guides/TODO-GITHUB-ISSUES.md","docs/guides/TYPESCRIPT-ERRORS-FIX-PLAN.md","docs/kafka-event-improvement-plan.md","docs/menus/MENU-ALIGNMENT-FINAL-REPORT.md","docs/menus/MENU-FIX-COMPLETION-REPORT.md","docs/menus/MENU-FIX-SUMMARY.md","docs/menus/MENU-MIGRATION-GUIDE.md","docs/menus/MENU-PERMISSIONS-ANALYSIS.md","docs/menus/MENU-PERMISSIONS-IMPLEMENTATION-GUIDE.md","docs/menus/MENU-PERMISSIONS-QUICK-REFERENCE.md","docs/menus/MENU-PERMISSIONS-SUMMARY.md","docs/menus/MENU-STRUCTURE-V2.2.md","docs/menus/MENU-STRUCTURE-VISUAL.md","docs/menus/MENU-UPDATE-V2.2-FINAL.md","docs/pinia-persistence-verification.md","docs/refactor-final-report.md","docs/refactor-plan-partner-customers.md","docs/refactor-progress.md","docs/refactor-session-summary-2026-01-06.md","docs/refactor-summary-partner-customers.md","docs/refactor-summary.md","docs/reports/AI_AGENT_IMPLEMENTATION_SUMMARY.md","docs/reports/CAMPAIGNS-MIGRATION-REPORT-20260110.md","docs/reports/CHANGELOG_ROUTER_FIX.md","docs/reports/CODE_AUDIT_REPORT.md","docs/reports/CODE_AUDIT_REPORT_2026-01-24.md","docs/reports/CODE_FIX_REPORT_2026-01-24.md","docs/reports/CONFIG_ANALYSIS_REPORT.md","docs/reports/DATABASE-INDEX-MIGRATION-REPORT.md","docs/reports/DATABASE-PARTITIONING-MERGE-SUMMARY.md","docs/reports/DEPENDENCY_AUDIT_REPORT.md","docs/reports/FRONTEND_AUDIT_REPORT.md","docs/reports/FULLSTACK-GAP-ANALYSIS.md","docs/reports/GAP_ANALYSIS_REPORT.md","docs/reports/IMMEDIATE-ACTION-SUMMARY.md","docs/reports/OPTIMIZATION-REPORT.md","docs/reports/P0-TASKS-COMPLETION-REPORT.md","docs/reports/P0-VERIFICATION-CHECKLIST.md","docs/reports/P1-SCHEMA-VALIDATION-REPORT.md","docs/reports/P1-SENTRY-INTEGRATION-REPORT.md","docs/reports/P2_OPTIMIZATION_REPORT.md","docs/reports/PERFORMANCE_ANALYSIS_REPORT.md","docs/reports/PERFORMANCE_OPTIMIZATION_REPORT.md","docs/reports/PHASE_0_COMPLETION_REPORT.md","docs/reports/PHASE_1_STATUS_REPORT.md","docs/reports/PRISMA_GAP_ANALYSIS.md","docs/reports/PROJECT_ANALYSIS_REPORT.md","docs/reports/PROJECT_COMPREHENSIVE_ANALYSIS_2026-01-24.md","docs/reports/REALITY_CHECK_20251222.md","docs/reports/ROUTER_WHITE_SCREEN_FINAL_FIX.md","docs/reports/SECURITY_AUDIT_REPORT_2026-01-24.md","docs/reports/TASK_COMPLETION_SUMMARY.md","docs/reports/TEST-CLEANUP-FIX-REPORT.md","docs/reports/TEST-EXECUTION-REPORT.md","docs/reports/TEST-FIXES-SUMMARY.md","docs/reports/TEST-INFRASTRUCTURE-COMPLETE.md","docs/reports/TEST_REPORT.md","docs/reports/TODO-ANALYSIS-REPORT.md","docs/testing/TEST_IMPROVEMENT_PLAN.md","docs/zod-fix-final-report.md","docs/zod-fix-verification.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/全域收敛状态总览_2026-02-10.md"]},{"id":"2d6cf596bcfe9ab7bfa9a6d26a1d0572fef6cc8c","message":"Summarize backend doc updates\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/2d6cf596bcfe9ab7bfa9a6d26a1d0572fef6cc8c","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-11T00:12:40+08:00","added":[],"removed":[],"modified":["backend/src/modules/ai-agents/services/task-heartbeat.service.ts","backend/src/modules/campaigns/campaign.service.ts","backend/src/modules/community-fission/community-fission.service.ts","backend/src/modules/crm-activities/crm-activity.service.ts","backend/src/modules/im/im.service.ts","backend/src/modules/inventory/services/inventory-export.service.ts","backend/src/modules/knowledge-capture/knowledge-ai.service.ts","backend/src/modules/livestream/livestream.service.ts","backend/src/modules/marketing-automation/workflow-action.service.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/pm/pm.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/rma/rma.compat.routes.ts","backend/src/modules/rma/rma.service.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/stage-knowledge/stage-knowledge.service.ts","docs/ACQUISITION-DOMAIN-ANALYSIS.md","docs/ACQUISITION-INNOVATION-TRANSFORMATION-PLAN.md","docs/ACTION-PLAN-2026.md","docs/AI-AGENT-SYSTEM-ANALYSIS.md","docs/ALIGNMENT_REPORT.md","docs/API_REFACTORING_PLAN.md","docs/AUTO-FIX-REPORT.md","docs/BACKEND-QUALITY-AUDIT-REPORT.md","docs/BATCH_OPERATIONS_AUDIT.md","docs/BUSINESS-DOMAIN-ANALYSIS.md","docs/DATABASE_MIGRATION_GUIDE.md","docs/DEPLOYMENT_COMPLETE.md","docs/DUPLICATION_ANALYSIS_REPORT.md","docs/E2E-TEST-STRATEGY.md","docs/EVENT_STREAM_OPTIMIZATION_REPORT.md","docs/FRONTEND-BACKEND-GAP-ANALYSIS.md","docs/FRONTEND-UI-TEST-SPECIFICATION.md","docs/FRONTEND_ANALYSIS_20260102.md","docs/FRONTEND_ARCHITECTURE_ANALYSIS.md","docs/FULLSTACK-MATCHER-ANALYSIS.md","docs/IMPLEMENTATION-GAP-ANALYSIS.md","docs/IMPROVEMENT-PLAN.md","docs/IMPROVEMENTS_SUMMARY_20260102.md","docs/IMPROVEMENT_REPORT_2026-01-02.md","docs/KTV-LOCATION-SELECTION-PRD.md","docs/MARKETING-ARCHITECTURE-INNOVATION.md","docs/MENU-DESIGN-PROPOSAL.md","docs/MENU-STRUCTURE-COMPLETE.md","docs/MOBILE_CHAT_CRM_DEVELOPMENT_PLAN.md","docs/MODULE-STRUCTURE-ANALYSIS.md","docs/OMNICHANNEL-MARKETING-ARCHITECTURE.md","docs/P2-OPTIMIZATION-FINAL-REPORT.md","docs/PERFORMANCE_AUDIT_REPORT.md","docs/PHP-MIGRATION-ANALYSIS.md","docs/PLANNED-ROUTES.md","docs/PRD_巨嗨全域智库_v1.0.md","docs/PRODUCTION_CHECKLIST.md","docs/PROJECT_MODULE_OPTIMIZATION.md","docs/REFACTOR_COMPLETED.md","docs/ROADMAP_2026_Q1.md","docs/SALES-DOMAIN-ANALYSIS.md","docs/SECURITY-AUDIT-REPORT.md","docs/STABILITY-ANALYSIS-REPORT.md","docs/SWOT-ANALYSIS.md","docs/TEST-MATURITY-ASSESSMENT-REPORT.md","docs/TEST_COVERAGE_REPORT.md","docs/TEST_SPECIFICATION_REVIEW.md","docs/WEAKNESS-REMEDIATION-PLAN.md","docs/ZOD_VALIDATION_ENHANCEMENT_REPORT.md","docs/architecture/CAMPAIGNS-TENANT-ID-MIGRATION.md","docs/architecture/CONSISTENCY-CHECKER-COMPLETE.md","docs/architecture/P0-OUTBOX-IMPLEMENTATION-PLAN.md","docs/architecture/P0-OUTBOX-IMPLEMENTATION-REPORT.md","docs/architecture/P0-TABLE-PARTITIONING-PLAN.md","docs/architecture/P1-IMPLEMENTATION-PLAN.md","docs/architecture/PHASE_1_FIX_PLAN.md","docs/architecture/REFACTOR-MODULE-LIST-COMPLETE.md","docs/architecture/REFACTOR_IMPLEMENTATION_PLAN.md","docs/architecture/ROI-ANALYSIS-EMERGENCY-FIX.md","docs/architecture/ROI-ANALYSIS-FIX-UPDATED.md","docs/architecture/ROI-ANALYSIS-IMPLEMENTATION.md","docs/architecture/ROI-MENU-RENAME-COMPLETION.md","docs/architecture/ROI-MENU-RENAME-PLAN.md","docs/architecture/ROI-RENAME-SUMMARY.md","docs/architecture/ROUTE-LAYER-REFACTOR-REPORT.md","docs/architecture/SYSTEM-MANAGEMENT-ANALYSIS.md","docs/audits/comprehensive-scan-report-2026-01-08.md","docs/batch-refactor-plan.md","docs/batch-refactor-summary-phase1.md","docs/deployment-checklist.md","docs/guides/TESTING-SUMMARY.md","docs/guides/TODO-CLEANUP-PLAN.md","docs/guides/TODO-GITHUB-ISSUES.md","docs/guides/TYPESCRIPT-ERRORS-FIX-PLAN.md","docs/kafka-event-improvement-plan.md","docs/menus/MENU-ALIGNMENT-FINAL-REPORT.md","docs/menus/MENU-FIX-COMPLETION-REPORT.md","docs/menus/MENU-FIX-SUMMARY.md","docs/menus/MENU-MIGRATION-GUIDE.md","docs/menus/MENU-PERMISSIONS-ANALYSIS.md","docs/menus/MENU-PERMISSIONS-IMPLEMENTATION-GUIDE.md","docs/menus/MENU-PERMISSIONS-QUICK-REFERENCE.md","docs/menus/MENU-PERMISSIONS-SUMMARY.md","docs/menus/MENU-STRUCTURE-V2.2.md","docs/menus/MENU-STRUCTURE-VISUAL.md","docs/menus/MENU-UPDATE-V2.2-FINAL.md","docs/pinia-persistence-verification.md","docs/refactor-final-report.md","docs/refactor-plan-partner-customers.md","docs/refactor-progress.md","docs/refactor-session-summary-2026-01-06.md","docs/refactor-summary-partner-customers.md","docs/refactor-summary.md","docs/reports/AI_AGENT_IMPLEMENTATION_SUMMARY.md","docs/reports/CAMPAIGNS-MIGRATION-REPORT-20260110.md","docs/reports/CHANGELOG_ROUTER_FIX.md","docs/reports/CODE_AUDIT_REPORT.md","docs/reports/CODE_AUDIT_REPORT_2026-01-24.md","docs/reports/CODE_FIX_REPORT_2026-01-24.md","docs/reports/CONFIG_ANALYSIS_REPORT.md","docs/reports/DATABASE-INDEX-MIGRATION-REPORT.md","docs/reports/DATABASE-PARTITIONING-MERGE-SUMMARY.md","docs/reports/DEPENDENCY_AUDIT_REPORT.md","docs/reports/FRONTEND_AUDIT_REPORT.md","docs/reports/FULLSTACK-GAP-ANALYSIS.md","docs/reports/GAP_ANALYSIS_REPORT.md","docs/reports/IMMEDIATE-ACTION-SUMMARY.md","docs/reports/OPTIMIZATION-REPORT.md","docs/reports/P0-TASKS-COMPLETION-REPORT.md","docs/reports/P0-VERIFICATION-CHECKLIST.md","docs/reports/P1-SCHEMA-VALIDATION-REPORT.md","docs/reports/P1-SENTRY-INTEGRATION-REPORT.md","docs/reports/P2_OPTIMIZATION_REPORT.md","docs/reports/PERFORMANCE_ANALYSIS_REPORT.md","docs/reports/PERFORMANCE_OPTIMIZATION_REPORT.md","docs/reports/PHASE_0_COMPLETION_REPORT.md","docs/reports/PHASE_1_STATUS_REPORT.md","docs/reports/PRISMA_GAP_ANALYSIS.md","docs/reports/PROJECT_ANALYSIS_REPORT.md","docs/reports/PROJECT_COMPREHENSIVE_ANALYSIS_2026-01-24.md","docs/reports/REALITY_CHECK_20251222.md","docs/reports/ROUTER_WHITE_SCREEN_FINAL_FIX.md","docs/reports/SECURITY_AUDIT_REPORT_2026-01-24.md","docs/reports/TASK_COMPLETION_SUMMARY.md","docs/reports/TEST-CLEANUP-FIX-REPORT.md","docs/reports/TEST-EXECUTION-REPORT.md","docs/reports/TEST-FIXES-SUMMARY.md","docs/reports/TEST-INFRASTRUCTURE-COMPLETE.md","docs/reports/TEST_REPORT.md","docs/reports/TODO-ANALYSIS-REPORT.md","docs/testing/TEST_IMPROVEMENT_PLAN.md","docs/zod-fix-final-report.md","docs/zod-fix-verification.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/全域收敛状态总览_2026-02-10.md"]}],"total_commits":0,"head_commit":{"id":"7145a8553a880d8a94356baf7bcb4e2df4631e61","message":"Update predictive and RFM modules\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/7145a8553a880d8a94356baf7bcb4e2df4631e61","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-11T01:01:39+08:00","added":[],"removed":[],"modified":["backend/src/modules/predictive-analytics/predictive-analytics.compat.routes.ts","backend/src/modules/predictive-analytics/predictive-analytics.controller.ts","backend/src/modules/predictive-analytics/predictive-analytics.docs.ts","backend/src/modules/predictive-analytics/predictive-analytics.schema.ts","backend/src/modules/predictive-analytics/predictive-analytics.service.ts","backend/src/modules/rfm-analysis/rfm-analysis.compat.routes.ts","backend/src/modules/rfm-analysis/rfm-analysis.controller.ts","backend/src/modules/rfm-analysis/rfm-analysis.docs.ts","backend/src/modules/rfm-analysis/rfm-analysis.schema.ts","backend/src/modules/rfm-analysis/rfm-analysis.service.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":31473,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-02-24T00:01:59+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1771862766
|
1771862767
|
0
|
1771862710
|
1771862767
|
NULL
|
|
0
|
Edit
Delete
|
|
4263
|
feat: Add finance OS AI views and knowledge base c feat: Add finance OS AI views and knowledge base components...
|
6
|
5
|
ci.yml
|
4208
|
5
|
0
|
refs/heads/main
|
a827624730a039637887a7c3f1fb7f5c813cb3ec
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c8076632765b6782be30f75613b7ab8e602662f4","after":"a827624730a039637887a7c3f1fb7f5c813cb3ec","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/c8076632765b6782be30f75613b7ab8e602662f4...a827624730a039637887a7c3f1fb7f5c813cb3ec","commits":[{"id":"a827624730a039637887a7c3f1fb7f5c813cb3ec","message":"feat: Add finance OS AI views and knowledge base components\n\n- Add finance AI views (AutoCollectionEngine, AutoCreditAdjustment, DefaultProbabilityModel, ROIEvaluation)\n- Add cash management views (AccountManagement, CashHealth, DailySettlement, Forecast3090, FundPool, FundScheduling, PaymentRequests)\n- Add profit analysis views (AssetDepreciation, CityProfit, EmotionROI, IOCurve, PaybackPeriod, ProductProfit, ProfitEngine)\n- Add risk control views (AbnormalProfit, CreditLimit, CreditScore, FreezeMechanism, OverdueForecast, RiskControl, TaxRisk)\n- Add knowledge base components (KnowledgeCapture, KnowledgeFeedback)\n- Update video calls module with improved form and list UI\n- Refactor channel integrations, opportunities, purchase orders, quotes API\n- Update approval governance and route contract audit reports\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/a827624730a039637887a7c3f1fb7f5c813cb3ec","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-10T10:11:48+08:00","added":[".claude/worktrees/exciting-mahavira","frontend/src/views/finance-os/ai/AutoCollectionEngine.vue","frontend/src/views/finance-os/ai/AutoCreditAdjustment.vue","frontend/src/views/finance-os/ai/DefaultProbabilityModel.vue","frontend/src/views/finance-os/ai/FinanceAI.vue","frontend/src/views/finance-os/ai/ROIEvaluation.vue","frontend/src/views/finance-os/cash/AccountManagement.vue","frontend/src/views/finance-os/cash/CashHealth.vue","frontend/src/views/finance-os/cash/DailySettlement.vue","frontend/src/views/finance-os/cash/Forecast3090.vue","frontend/src/views/finance-os/cash/FundPool.vue","frontend/src/views/finance-os/cash/FundScheduling.vue","frontend/src/views/finance-os/cash/PaymentRequests.vue","frontend/src/views/finance-os/profit/AssetDepreciation.vue","frontend/src/views/finance-os/profit/CityProfit.vue","frontend/src/views/finance-os/profit/EmotionROI.vue","frontend/src/views/finance-os/profit/IOCurve.vue","frontend/src/views/finance-os/profit/PaybackPeriod.vue","frontend/src/views/finance-os/profit/ProductProfit.vue","frontend/src/views/finance-os/profit/ProfitEngine.vue","frontend/src/views/finance-os/risk/AbnormalProfit.vue","frontend/src/views/finance-os/risk/CreditLimit.vue","frontend/src/views/finance-os/risk/CreditScore.vue","frontend/src/views/finance-os/risk/FreezeMechanism.vue","frontend/src/views/finance-os/risk/OverdueForecast.vue","frontend/src/views/finance-os/risk/RiskControl.vue","frontend/src/views/finance-os/risk/TaxRisk.vue","frontend/src/views/knowledge-base/KnowledgeCapture.vue","frontend/src/views/knowledge-base/KnowledgeFeedback.vue"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/results.json"],"modified":["backend/src/main.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/approvals/approval.service.test.ts","backend/src/modules/approvals/approval.service.ts","backend/src/modules/bom/bom.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/serial-numbers/sn.service.ts","backend/src/modules/video-calls/video-call.routes.ts","e2e/playwright-report/index.html","frontend/src/api/modules/channel-integrations.ts","frontend/src/api/modules/opportunities.ts","frontend/src/api/modules/purchase-orders.ts","frontend/src/api/modules/quotes.ts","frontend/src/api/modules/video-calls.ts","frontend/src/views/ai-agents/Metrics.vue","frontend/src/views/finance-os/ai/AutoFundScheduling.vue","frontend/src/views/finance-os/ai/CashForecastModel.vue","frontend/src/views/finance-os/cash/CashControlTower.vue","frontend/src/views/finance-os/expense/CostAnomaly.vue","frontend/src/views/finance-os/expense/CostCenter.vue","frontend/src/views/finance-os/expense/ExpenseApprovalFlow.vue","frontend/src/views/finance-os/expense/NodeCost.vue","frontend/src/views/finance-os/expense/ProjectCost.vue","frontend/src/views/finance-os/revenue/AutoCollectionCenter.vue","frontend/src/views/finance-os/revenue/PriceTypes.vue","frontend/src/views/finance-os/revenue/RecognitionRules.vue","frontend/src/views/video-calls/Form.vue","frontend/src/views/video-calls/Index.vue","frontend/vite.config.ts","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md"]},{"id":"280bb3927069d31d0dfeb19caf98ce774dd2651d","message":"feat(supply-chain): finish wave 1, 4, 5, 6 with complete type safety\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/280bb3927069d31d0dfeb19caf98ce774dd2651d","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-09T15:25:41+08:00","added":["backend/src/modules/purchase-orders/purchase-order.controller.ts","backend/src/modules/purchase-orders/purchase-order.docs.ts","backend/src/modules/purchase-orders/purchase-order.routes.ts","backend/src/modules/purchase-orders/purchase-order.schema.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","frontend/src/api/modules/purchase-orders.ts","frontend/src/views/cost-allocation/Form.vue","frontend/src/views/customer-balance/Form.vue","frontend/src/views/purchase-orders/Detail.vue","frontend/src/views/purchase-orders/Form.vue","frontend/src/views/purchase-orders/Index.vue","frontend/src/views/tickets/Gantt.vue","frontend/src/views/video-calls/Form.vue","frontend/src/views/video-calls/Index.vue"],"removed":[],"modified":["backend/src/modules/supply-chain/purchase-order.service.ts","backend/src/routes/register-domain-routes.ts","frontend/src/api/modules/video-calls.ts","frontend/src/router/index.ts","frontend/src/views/channel-integrations/Form.vue","frontend/src/views/channel-integrations/Index.vue"]}],"total_commits":0,"head_commit":{"id":"a827624730a039637887a7c3f1fb7f5c813cb3ec","message":"feat: Add finance OS AI views and knowledge base components\n\n- Add finance AI views (AutoCollectionEngine, AutoCreditAdjustment, DefaultProbabilityModel, ROIEvaluation)\n- Add cash management views (AccountManagement, CashHealth, DailySettlement, Forecast3090, FundPool, FundScheduling, PaymentRequests)\n- Add profit analysis views (AssetDepreciation, CityProfit, EmotionROI, IOCurve, PaybackPeriod, ProductProfit, ProfitEngine)\n- Add risk control views (AbnormalProfit, CreditLimit, CreditScore, FreezeMechanism, OverdueForecast, RiskControl, TaxRisk)\n- Add knowledge base components (KnowledgeCapture, KnowledgeFeedback)\n- Update video calls module with improved form and list UI\n- Refactor channel integrations, opportunities, purchase orders, quotes API\n- Update approval governance and route contract audit reports\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/a827624730a039637887a7c3f1fb7f5c813cb3ec","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-10T10:11:48+08:00","added":[".claude/worktrees/exciting-mahavira","frontend/src/views/finance-os/ai/AutoCollectionEngine.vue","frontend/src/views/finance-os/ai/AutoCreditAdjustment.vue","frontend/src/views/finance-os/ai/DefaultProbabilityModel.vue","frontend/src/views/finance-os/ai/FinanceAI.vue","frontend/src/views/finance-os/ai/ROIEvaluation.vue","frontend/src/views/finance-os/cash/AccountManagement.vue","frontend/src/views/finance-os/cash/CashHealth.vue","frontend/src/views/finance-os/cash/DailySettlement.vue","frontend/src/views/finance-os/cash/Forecast3090.vue","frontend/src/views/finance-os/cash/FundPool.vue","frontend/src/views/finance-os/cash/FundScheduling.vue","frontend/src/views/finance-os/cash/PaymentRequests.vue","frontend/src/views/finance-os/profit/AssetDepreciation.vue","frontend/src/views/finance-os/profit/CityProfit.vue","frontend/src/views/finance-os/profit/EmotionROI.vue","frontend/src/views/finance-os/profit/IOCurve.vue","frontend/src/views/finance-os/profit/PaybackPeriod.vue","frontend/src/views/finance-os/profit/ProductProfit.vue","frontend/src/views/finance-os/profit/ProfitEngine.vue","frontend/src/views/finance-os/risk/AbnormalProfit.vue","frontend/src/views/finance-os/risk/CreditLimit.vue","frontend/src/views/finance-os/risk/CreditScore.vue","frontend/src/views/finance-os/risk/FreezeMechanism.vue","frontend/src/views/finance-os/risk/OverdueForecast.vue","frontend/src/views/finance-os/risk/RiskControl.vue","frontend/src/views/finance-os/risk/TaxRisk.vue","frontend/src/views/knowledge-base/KnowledgeCapture.vue","frontend/src/views/knowledge-base/KnowledgeFeedback.vue"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/results.json"],"modified":["backend/src/main.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/approvals/approval.service.test.ts","backend/src/modules/approvals/approval.service.ts","backend/src/modules/bom/bom.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/serial-numbers/sn.service.ts","backend/src/modules/video-calls/video-call.routes.ts","e2e/playwright-report/index.html","frontend/src/api/modules/channel-integrations.ts","frontend/src/api/modules/opportunities.ts","frontend/src/api/modules/purchase-orders.ts","frontend/src/api/modules/quotes.ts","frontend/src/api/modules/video-calls.ts","frontend/src/views/ai-agents/Metrics.vue","frontend/src/views/finance-os/ai/AutoFundScheduling.vue","frontend/src/views/finance-os/ai/CashForecastModel.vue","frontend/src/views/finance-os/cash/CashControlTower.vue","frontend/src/views/finance-os/expense/CostAnomaly.vue","frontend/src/views/finance-os/expense/CostCenter.vue","frontend/src/views/finance-os/expense/ExpenseApprovalFlow.vue","frontend/src/views/finance-os/expense/NodeCost.vue","frontend/src/views/finance-os/expense/ProjectCost.vue","frontend/src/views/finance-os/revenue/AutoCollectionCenter.vue","frontend/src/views/finance-os/revenue/PriceTypes.vue","frontend/src/views/finance-os/revenue/RecognitionRules.vue","frontend/src/views/video-calls/Form.vue","frontend/src/views/video-calls/Index.vue","frontend/vite.config.ts","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1161980,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-10T10:10:32+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
24
|
1773108718
|
1773108746
|
0
|
1773108717
|
1773108746
|
NULL
|
|
0
|
Edit
Delete
|
|
4264
|
feat: Add finance OS AI views and knowledge base c feat: Add finance OS AI views and knowledge base components...
|
6
|
5
|
health-check.yml
|
4209
|
-2
|
55
|
refs/heads/main
|
a827624730a039637887a7c3f1fb7f5c813cb3ec
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c8076632765b6782be30f75613b7ab8e602662f4","after":"a827624730a039637887a7c3f1fb7f5c813cb3ec","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/c8076632765b6782be30f75613b7ab8e602662f4...a827624730a039637887a7c3f1fb7f5c813cb3ec","commits":[{"id":"a827624730a039637887a7c3f1fb7f5c813cb3ec","message":"feat: Add finance OS AI views and knowledge base components\n\n- Add finance AI views (AutoCollectionEngine, AutoCreditAdjustment, DefaultProbabilityModel, ROIEvaluation)\n- Add cash management views (AccountManagement, CashHealth, DailySettlement, Forecast3090, FundPool, FundScheduling, PaymentRequests)\n- Add profit analysis views (AssetDepreciation, CityProfit, EmotionROI, IOCurve, PaybackPeriod, ProductProfit, ProfitEngine)\n- Add risk control views (AbnormalProfit, CreditLimit, CreditScore, FreezeMechanism, OverdueForecast, RiskControl, TaxRisk)\n- Add knowledge base components (KnowledgeCapture, KnowledgeFeedback)\n- Update video calls module with improved form and list UI\n- Refactor channel integrations, opportunities, purchase orders, quotes API\n- Update approval governance and route contract audit reports\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/a827624730a039637887a7c3f1fb7f5c813cb3ec","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-10T10:11:48+08:00","added":[".claude/worktrees/exciting-mahavira","frontend/src/views/finance-os/ai/AutoCollectionEngine.vue","frontend/src/views/finance-os/ai/AutoCreditAdjustment.vue","frontend/src/views/finance-os/ai/DefaultProbabilityModel.vue","frontend/src/views/finance-os/ai/FinanceAI.vue","frontend/src/views/finance-os/ai/ROIEvaluation.vue","frontend/src/views/finance-os/cash/AccountManagement.vue","frontend/src/views/finance-os/cash/CashHealth.vue","frontend/src/views/finance-os/cash/DailySettlement.vue","frontend/src/views/finance-os/cash/Forecast3090.vue","frontend/src/views/finance-os/cash/FundPool.vue","frontend/src/views/finance-os/cash/FundScheduling.vue","frontend/src/views/finance-os/cash/PaymentRequests.vue","frontend/src/views/finance-os/profit/AssetDepreciation.vue","frontend/src/views/finance-os/profit/CityProfit.vue","frontend/src/views/finance-os/profit/EmotionROI.vue","frontend/src/views/finance-os/profit/IOCurve.vue","frontend/src/views/finance-os/profit/PaybackPeriod.vue","frontend/src/views/finance-os/profit/ProductProfit.vue","frontend/src/views/finance-os/profit/ProfitEngine.vue","frontend/src/views/finance-os/risk/AbnormalProfit.vue","frontend/src/views/finance-os/risk/CreditLimit.vue","frontend/src/views/finance-os/risk/CreditScore.vue","frontend/src/views/finance-os/risk/FreezeMechanism.vue","frontend/src/views/finance-os/risk/OverdueForecast.vue","frontend/src/views/finance-os/risk/RiskControl.vue","frontend/src/views/finance-os/risk/TaxRisk.vue","frontend/src/views/knowledge-base/KnowledgeCapture.vue","frontend/src/views/knowledge-base/KnowledgeFeedback.vue"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/results.json"],"modified":["backend/src/main.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/approvals/approval.service.test.ts","backend/src/modules/approvals/approval.service.ts","backend/src/modules/bom/bom.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/serial-numbers/sn.service.ts","backend/src/modules/video-calls/video-call.routes.ts","e2e/playwright-report/index.html","frontend/src/api/modules/channel-integrations.ts","frontend/src/api/modules/opportunities.ts","frontend/src/api/modules/purchase-orders.ts","frontend/src/api/modules/quotes.ts","frontend/src/api/modules/video-calls.ts","frontend/src/views/ai-agents/Metrics.vue","frontend/src/views/finance-os/ai/AutoFundScheduling.vue","frontend/src/views/finance-os/ai/CashForecastModel.vue","frontend/src/views/finance-os/cash/CashControlTower.vue","frontend/src/views/finance-os/expense/CostAnomaly.vue","frontend/src/views/finance-os/expense/CostCenter.vue","frontend/src/views/finance-os/expense/ExpenseApprovalFlow.vue","frontend/src/views/finance-os/expense/NodeCost.vue","frontend/src/views/finance-os/expense/ProjectCost.vue","frontend/src/views/finance-os/revenue/AutoCollectionCenter.vue","frontend/src/views/finance-os/revenue/PriceTypes.vue","frontend/src/views/finance-os/revenue/RecognitionRules.vue","frontend/src/views/video-calls/Form.vue","frontend/src/views/video-calls/Index.vue","frontend/vite.config.ts","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md"]},{"id":"280bb3927069d31d0dfeb19caf98ce774dd2651d","message":"feat(supply-chain): finish wave 1, 4, 5, 6 with complete type safety\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/280bb3927069d31d0dfeb19caf98ce774dd2651d","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-09T15:25:41+08:00","added":["backend/src/modules/purchase-orders/purchase-order.controller.ts","backend/src/modules/purchase-orders/purchase-order.docs.ts","backend/src/modules/purchase-orders/purchase-order.routes.ts","backend/src/modules/purchase-orders/purchase-order.schema.ts","backend/src/modules/purchase-orders/purchase-order.service.ts","frontend/src/api/modules/purchase-orders.ts","frontend/src/views/cost-allocation/Form.vue","frontend/src/views/customer-balance/Form.vue","frontend/src/views/purchase-orders/Detail.vue","frontend/src/views/purchase-orders/Form.vue","frontend/src/views/purchase-orders/Index.vue","frontend/src/views/tickets/Gantt.vue","frontend/src/views/video-calls/Form.vue","frontend/src/views/video-calls/Index.vue"],"removed":[],"modified":["backend/src/modules/supply-chain/purchase-order.service.ts","backend/src/routes/register-domain-routes.ts","frontend/src/api/modules/video-calls.ts","frontend/src/router/index.ts","frontend/src/views/channel-integrations/Form.vue","frontend/src/views/channel-integrations/Index.vue"]}],"total_commits":0,"head_commit":{"id":"a827624730a039637887a7c3f1fb7f5c813cb3ec","message":"feat: Add finance OS AI views and knowledge base components\n\n- Add finance AI views (AutoCollectionEngine, AutoCreditAdjustment, DefaultProbabilityModel, ROIEvaluation)\n- Add cash management views (AccountManagement, CashHealth, DailySettlement, Forecast3090, FundPool, FundScheduling, PaymentRequests)\n- Add profit analysis views (AssetDepreciation, CityProfit, EmotionROI, IOCurve, PaybackPeriod, ProductProfit, ProfitEngine)\n- Add risk control views (AbnormalProfit, CreditLimit, CreditScore, FreezeMechanism, OverdueForecast, RiskControl, TaxRisk)\n- Add knowledge base components (KnowledgeCapture, KnowledgeFeedback)\n- Update video calls module with improved form and list UI\n- Refactor channel integrations, opportunities, purchase orders, quotes API\n- Update approval governance and route contract audit reports\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/a827624730a039637887a7c3f1fb7f5c813cb3ec","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-10T10:11:48+08:00","added":[".claude/worktrees/exciting-mahavira","frontend/src/views/finance-os/ai/AutoCollectionEngine.vue","frontend/src/views/finance-os/ai/AutoCreditAdjustment.vue","frontend/src/views/finance-os/ai/DefaultProbabilityModel.vue","frontend/src/views/finance-os/ai/FinanceAI.vue","frontend/src/views/finance-os/ai/ROIEvaluation.vue","frontend/src/views/finance-os/cash/AccountManagement.vue","frontend/src/views/finance-os/cash/CashHealth.vue","frontend/src/views/finance-os/cash/DailySettlement.vue","frontend/src/views/finance-os/cash/Forecast3090.vue","frontend/src/views/finance-os/cash/FundPool.vue","frontend/src/views/finance-os/cash/FundScheduling.vue","frontend/src/views/finance-os/cash/PaymentRequests.vue","frontend/src/views/finance-os/profit/AssetDepreciation.vue","frontend/src/views/finance-os/profit/CityProfit.vue","frontend/src/views/finance-os/profit/EmotionROI.vue","frontend/src/views/finance-os/profit/IOCurve.vue","frontend/src/views/finance-os/profit/PaybackPeriod.vue","frontend/src/views/finance-os/profit/ProductProfit.vue","frontend/src/views/finance-os/profit/ProfitEngine.vue","frontend/src/views/finance-os/risk/AbnormalProfit.vue","frontend/src/views/finance-os/risk/CreditLimit.vue","frontend/src/views/finance-os/risk/CreditScore.vue","frontend/src/views/finance-os/risk/FreezeMechanism.vue","frontend/src/views/finance-os/risk/OverdueForecast.vue","frontend/src/views/finance-os/risk/RiskControl.vue","frontend/src/views/finance-os/risk/TaxRisk.vue","frontend/src/views/knowledge-base/KnowledgeCapture.vue","frontend/src/views/knowledge-base/KnowledgeFeedback.vue"],"removed":["e2e/test-results/.last-run.json","e2e/test-results/results.json"],"modified":["backend/src/main.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/approvals/approval.service.test.ts","backend/src/modules/approvals/approval.service.ts","backend/src/modules/bom/bom.service.ts","backend/src/modules/payments/payment-record.service.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/serial-numbers/sn.service.ts","backend/src/modules/video-calls/video-call.routes.ts","e2e/playwright-report/index.html","frontend/src/api/modules/channel-integrations.ts","frontend/src/api/modules/opportunities.ts","frontend/src/api/modules/purchase-orders.ts","frontend/src/api/modules/quotes.ts","frontend/src/api/modules/video-calls.ts","frontend/src/views/ai-agents/Metrics.vue","frontend/src/views/finance-os/ai/AutoFundScheduling.vue","frontend/src/views/finance-os/ai/CashForecastModel.vue","frontend/src/views/finance-os/cash/CashControlTower.vue","frontend/src/views/finance-os/expense/CostAnomaly.vue","frontend/src/views/finance-os/expense/CostCenter.vue","frontend/src/views/finance-os/expense/ExpenseApprovalFlow.vue","frontend/src/views/finance-os/expense/NodeCost.vue","frontend/src/views/finance-os/expense/ProjectCost.vue","frontend/src/views/finance-os/revenue/AutoCollectionCenter.vue","frontend/src/views/finance-os/revenue/PriceTypes.vue","frontend/src/views/finance-os/revenue/RecognitionRules.vue","frontend/src/views/video-calls/Form.vue","frontend/src/views/video-calls/Index.vue","frontend/vite.config.ts","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1161980,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-10T10:10:32+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1773108932
|
1773108932
|
0
|
1773108932
|
1773108932
|
NULL
|
|
0
|
Edit
Delete
|
|
1032
|
feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获
|
6
|
5
|
ci.yml
|
993
|
5
|
0
|
refs/heads/main
|
68528dce9b8c543283a675374b5a23bc2e46c935
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","after":"68528dce9b8c543283a675374b5a23bc2e46c935","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72...68528dce9b8c543283a675374b5a23bc2e46c935","commits":[{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},{"id":"5bf60bf54c42c8295b8e5595fba959e0821ceb85","message":"Fix TypeScript any violations in duo\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5bf60bf54c42c8295b8e5595fba959e0821ceb85","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T02:07:18+08:00","added":[],"removed":[],"modified":["backend/src/modules/contracts/contract.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/finance/finance-costing.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/leads/lead.schema.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/services/base.service.ts","backend/src/shared/utils/crud.ts","frontend/src/api/index.ts","frontend/src/components/responsive/ResponsiveStats.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/knowledge-feedback/Index.vue"]},{"id":"169dc0ba22faf4ef27cd1d3c55114437b7855f23","message":"Replace any types in shared models\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/169dc0ba22faf4ef27cd1d3c55114437b7855f23","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T01:21:28+08:00","added":[".pnpm-type-check-output10.txt",".pnpm-type-check-output11.txt",".pnpm-type-check-output12.txt",".pnpm-type-check-output13.txt",".pnpm-type-check-output14.txt",".pnpm-type-check-output15.txt",".pnpm-type-check-output16.txt",".pnpm-type-check-output17.txt",".pnpm-type-check-output18.txt",".pnpm-type-check-output19.txt",".pnpm-type-check-output2.txt",".pnpm-type-check-output20.txt",".pnpm-type-check-output21.txt",".pnpm-type-check-output22.txt",".pnpm-type-check-output23.txt",".pnpm-type-check-output24.txt",".pnpm-type-check-output25.txt",".pnpm-type-check-output26.txt",".pnpm-type-check-output27.txt",".pnpm-type-check-output28.txt",".pnpm-type-check-output29.txt",".pnpm-type-check-output3.txt",".pnpm-type-check-output30.txt",".pnpm-type-check-output31.txt",".pnpm-type-check-output32.txt",".pnpm-type-check-output33.txt",".pnpm-type-check-output34.txt",".pnpm-type-check-output35.txt",".pnpm-type-check-output36.txt",".pnpm-type-check-output37.txt",".pnpm-type-check-output38.txt",".pnpm-type-check-output39.txt",".pnpm-type-check-output4.txt",".pnpm-type-check-output40.txt",".pnpm-type-check-output41.txt",".pnpm-type-check-output42.txt",".pnpm-type-check-output43.txt",".pnpm-type-check-output5.txt",".pnpm-type-check-output6.txt",".pnpm-type-check-output7.txt",".pnpm-type-check-output8.txt",".pnpm-type-check-output9.txt"],"removed":[],"modified":["backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/stage-knowledge/stage-knowledge.service.ts","backend/src/modules/supply-chain/supply-chain-platform.service.ts","backend/src/modules/system-events/system-event.service.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/components/business/LeadScoreCard.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/RecentActivities.vue","frontend/src/views/finance-os/cash/CashControlTower.vue","frontend/src/views/finance/MarketingReconciliation.vue","frontend/src/views/lead-scoring/Form.vue","frontend/src/views/leads/Assignment.vue","frontend/src/views/leads/ScoringRules.vue","frontend/src/views/quotes/Editor.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/src/views/settings/Index.vue","frontend/src/views/supplier-management/Contracts.vue","frontend/src/views/tickets/components/gantt/GanttToolbar.vue","frontend/src/views/tickets/components/gantt/TicketGanttChart.vue","frontend/src/views/tickets/components/gantt/composables/useGanttData.ts","shared/src/types/models.ts"]},{"id":"ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","message":"Fix shared model any usage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T22:54:25+08:00","added":[".gemini/policies/dev.toml",".pnpm-type-check-output.txt","backend/scripts/generate-route-inventory.ts","backend/src/modules/dashboard/omni-roi.service.ts","backend/src/modules/finance/reconciliation.controller.ts","backend/src/modules/finance/reconciliation.service.ts","backend/test-bpmn-moddle.js","backend/test-bpmn.mjs","backend/tests/business-flow.test.ts","docs/archive/sprint-stabilization-202602/GAP_MATRIX_20260206.md","docs/archive/sprint-stabilization-202602/route-contract-execution-checklist-v4-by-owner-detail.md","docs/audits/api-route-contract-audit.latest.md","docs/audits/event-publishing-audit.latest.md","docs/audits/route-registration-audit.latest.md","docs/audits/state-machine-integration-audit.latest.md","frontend/src/views/dashboard/OmniRoiDashboard.vue","frontend/src/views/finance/MarketingReconciliation.vue","scripts/db-performance-optimization.sql","scripts/gatekeeper.sh"],"removed":["reports/GAP_MATRIX_20260206.md","reports/route-contract-execution-checklist-v4-by-owner-detail.md"],"modified":["AGENTS.md","DEPLOY.md","GEMINI.md","backend/scripts/audit-baseline-gate.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/channels/index.ts","backend/src/modules/community-fission/community-fission.controller.ts","backend/src/modules/community-fission/community-fission.service.ts","backend/src/modules/content-distribution/content-distribution.controller.ts","backend/src/modules/content-distribution/content-distribution.service.ts","backend/src/modules/content-review/content-review.controller.ts","backend/src/modules/content-review/content-review.service.ts","backend/src/modules/customer-marketing/customer-marketing.controller.ts","backend/src/modules/customer-marketing/customer-marketing.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/devices/asset-activation.controller.ts","backend/src/modules/devices/asset-activation.service.ts","backend/src/modules/diagnosis/diagnosis.controller.ts","backend/src/modules/diagnosis/diagnosis.routes.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/geo-analytics/geo-analytics.controller.ts","backend/src/modules/geo-analytics/geo-analytics.service.ts","backend/src/modules/groupbuy-products/groupbuy-product.controller.ts","backend/src/modules/groupbuy-products/groupbuy-product.routes.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.ts","backend/src/modules/inventory/inventory.service.ts","backend/src/modules/inventory/services/index.ts","backend/src/modules/inventory/services/inventory-warehouse.service.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.routes.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/leads/lead.controller.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/index.ts","backend/src/modules/livestream-analytics/livestream-analytics.controller.ts","backend/src/modules/livestream-analytics/livestream-analytics.routes.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.ts","backend/src/modules/livestream-products/livestream-product.controller.ts","backend/src/modules/livestream-products/livestream-product.routes.ts","backend/src/modules/livestream-products/livestream-product.service.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/controllers/product.controller.ts","backend/src/modules/products/controllers/sku.controller.ts","backend/src/modules/products/product.routes.ts","backend/src/modules/products/routes/sku.routes.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/renewals/renewal.controller.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/reports/report.controller.ts","backend/src/modules/reports/report.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/social-analytics/social-analytics.controller.ts","backend/src/modules/social-analytics/social-analytics.service.ts","frontend/src/api/adapters.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/stores/leads.ts","frontend/src/views/leads/Form.vue","frontend/src/views/opportunities/Pipeline.vue","frontend/src/views/orders/Detail.vue","frontend/src/views/quotes/Detail.vue","frontend/src/views/quotes/Index.vue","shared/src/types/models.ts"]},{"id":"b222af8d439100df34d9a6d61374df924561d451","message":"Update AI agent workflows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/b222af8d439100df34d9a6d61374df924561d451","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T09:06:43+08:00","added":["backend/test-moddle.js","backend/test-moddle2.js","backend/test-moddle3.js","docs/operations/toc-operations-manual.md"],"removed":[],"modified":["backend/package.json","backend/src/main.ts","backend/src/modules/ai-agents/ai-agent-im.schema.ts","backend/src/modules/ai-agents/ai-agent-im.types.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/ai-agent-im.service.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/model-state-manager.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/ai-agents/services/task-heartbeat.service.ts","backend/src/modules/ai-agents/services/workflow-instance.service.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/meddpicc-analyses/meddpicc.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/process-designer/bpmn-converter.test.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.routes.ts","backend/src/modules/process-designer/process-designer.schema.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/targets/target.service.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/process-designer.ts","frontend/src/types/ai-agent.ts","frontend/src/views/ai-agents/IMConversations.vue","frontend/src/views/ai-agents/IMIntegrationSettings.vue","frontend/src/views/ai-agents/IMQueue.vue","frontend/src/views/ai-agents/LeadCollector.vue","frontend/src/views/process-designer/ProcessList.vue","pnpm-lock.yaml","scripts/start-all.sh"]}],"total_commits":0,"head_commit":{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":479330,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-02-27T07:30:11+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
24
|
1772148752
|
1772148814
|
0
|
1772148752
|
1772148814
|
NULL
|
|
0
|
Edit
Delete
|
|
1033
|
feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获
|
6
|
5
|
health-check.yml
|
994
|
-2
|
39
|
refs/heads/main
|
68528dce9b8c543283a675374b5a23bc2e46c935
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","after":"68528dce9b8c543283a675374b5a23bc2e46c935","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72...68528dce9b8c543283a675374b5a23bc2e46c935","commits":[{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},{"id":"5bf60bf54c42c8295b8e5595fba959e0821ceb85","message":"Fix TypeScript any violations in duo\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5bf60bf54c42c8295b8e5595fba959e0821ceb85","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T02:07:18+08:00","added":[],"removed":[],"modified":["backend/src/modules/contracts/contract.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/finance/finance-costing.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/leads/lead.schema.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/services/base.service.ts","backend/src/shared/utils/crud.ts","frontend/src/api/index.ts","frontend/src/components/responsive/ResponsiveStats.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/knowledge-feedback/Index.vue"]},{"id":"169dc0ba22faf4ef27cd1d3c55114437b7855f23","message":"Replace any types in shared models\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/169dc0ba22faf4ef27cd1d3c55114437b7855f23","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T01:21:28+08:00","added":[".pnpm-type-check-output10.txt",".pnpm-type-check-output11.txt",".pnpm-type-check-output12.txt",".pnpm-type-check-output13.txt",".pnpm-type-check-output14.txt",".pnpm-type-check-output15.txt",".pnpm-type-check-output16.txt",".pnpm-type-check-output17.txt",".pnpm-type-check-output18.txt",".pnpm-type-check-output19.txt",".pnpm-type-check-output2.txt",".pnpm-type-check-output20.txt",".pnpm-type-check-output21.txt",".pnpm-type-check-output22.txt",".pnpm-type-check-output23.txt",".pnpm-type-check-output24.txt",".pnpm-type-check-output25.txt",".pnpm-type-check-output26.txt",".pnpm-type-check-output27.txt",".pnpm-type-check-output28.txt",".pnpm-type-check-output29.txt",".pnpm-type-check-output3.txt",".pnpm-type-check-output30.txt",".pnpm-type-check-output31.txt",".pnpm-type-check-output32.txt",".pnpm-type-check-output33.txt",".pnpm-type-check-output34.txt",".pnpm-type-check-output35.txt",".pnpm-type-check-output36.txt",".pnpm-type-check-output37.txt",".pnpm-type-check-output38.txt",".pnpm-type-check-output39.txt",".pnpm-type-check-output4.txt",".pnpm-type-check-output40.txt",".pnpm-type-check-output41.txt",".pnpm-type-check-output42.txt",".pnpm-type-check-output43.txt",".pnpm-type-check-output5.txt",".pnpm-type-check-output6.txt",".pnpm-type-check-output7.txt",".pnpm-type-check-output8.txt",".pnpm-type-check-output9.txt"],"removed":[],"modified":["backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/stage-knowledge/stage-knowledge.service.ts","backend/src/modules/supply-chain/supply-chain-platform.service.ts","backend/src/modules/system-events/system-event.service.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/components/business/LeadScoreCard.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/RecentActivities.vue","frontend/src/views/finance-os/cash/CashControlTower.vue","frontend/src/views/finance/MarketingReconciliation.vue","frontend/src/views/lead-scoring/Form.vue","frontend/src/views/leads/Assignment.vue","frontend/src/views/leads/ScoringRules.vue","frontend/src/views/quotes/Editor.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/src/views/settings/Index.vue","frontend/src/views/supplier-management/Contracts.vue","frontend/src/views/tickets/components/gantt/GanttToolbar.vue","frontend/src/views/tickets/components/gantt/TicketGanttChart.vue","frontend/src/views/tickets/components/gantt/composables/useGanttData.ts","shared/src/types/models.ts"]},{"id":"ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","message":"Fix shared model any usage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T22:54:25+08:00","added":[".gemini/policies/dev.toml",".pnpm-type-check-output.txt","backend/scripts/generate-route-inventory.ts","backend/src/modules/dashboard/omni-roi.service.ts","backend/src/modules/finance/reconciliation.controller.ts","backend/src/modules/finance/reconciliation.service.ts","backend/test-bpmn-moddle.js","backend/test-bpmn.mjs","backend/tests/business-flow.test.ts","docs/archive/sprint-stabilization-202602/GAP_MATRIX_20260206.md","docs/archive/sprint-stabilization-202602/route-contract-execution-checklist-v4-by-owner-detail.md","docs/audits/api-route-contract-audit.latest.md","docs/audits/event-publishing-audit.latest.md","docs/audits/route-registration-audit.latest.md","docs/audits/state-machine-integration-audit.latest.md","frontend/src/views/dashboard/OmniRoiDashboard.vue","frontend/src/views/finance/MarketingReconciliation.vue","scripts/db-performance-optimization.sql","scripts/gatekeeper.sh"],"removed":["reports/GAP_MATRIX_20260206.md","reports/route-contract-execution-checklist-v4-by-owner-detail.md"],"modified":["AGENTS.md","DEPLOY.md","GEMINI.md","backend/scripts/audit-baseline-gate.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/channels/index.ts","backend/src/modules/community-fission/community-fission.controller.ts","backend/src/modules/community-fission/community-fission.service.ts","backend/src/modules/content-distribution/content-distribution.controller.ts","backend/src/modules/content-distribution/content-distribution.service.ts","backend/src/modules/content-review/content-review.controller.ts","backend/src/modules/content-review/content-review.service.ts","backend/src/modules/customer-marketing/customer-marketing.controller.ts","backend/src/modules/customer-marketing/customer-marketing.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/devices/asset-activation.controller.ts","backend/src/modules/devices/asset-activation.service.ts","backend/src/modules/diagnosis/diagnosis.controller.ts","backend/src/modules/diagnosis/diagnosis.routes.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/geo-analytics/geo-analytics.controller.ts","backend/src/modules/geo-analytics/geo-analytics.service.ts","backend/src/modules/groupbuy-products/groupbuy-product.controller.ts","backend/src/modules/groupbuy-products/groupbuy-product.routes.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.ts","backend/src/modules/inventory/inventory.service.ts","backend/src/modules/inventory/services/index.ts","backend/src/modules/inventory/services/inventory-warehouse.service.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.routes.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/leads/lead.controller.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/index.ts","backend/src/modules/livestream-analytics/livestream-analytics.controller.ts","backend/src/modules/livestream-analytics/livestream-analytics.routes.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.ts","backend/src/modules/livestream-products/livestream-product.controller.ts","backend/src/modules/livestream-products/livestream-product.routes.ts","backend/src/modules/livestream-products/livestream-product.service.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/controllers/product.controller.ts","backend/src/modules/products/controllers/sku.controller.ts","backend/src/modules/products/product.routes.ts","backend/src/modules/products/routes/sku.routes.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/renewals/renewal.controller.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/reports/report.controller.ts","backend/src/modules/reports/report.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/social-analytics/social-analytics.controller.ts","backend/src/modules/social-analytics/social-analytics.service.ts","frontend/src/api/adapters.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/stores/leads.ts","frontend/src/views/leads/Form.vue","frontend/src/views/opportunities/Pipeline.vue","frontend/src/views/orders/Detail.vue","frontend/src/views/quotes/Detail.vue","frontend/src/views/quotes/Index.vue","shared/src/types/models.ts"]},{"id":"b222af8d439100df34d9a6d61374df924561d451","message":"Update AI agent workflows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/b222af8d439100df34d9a6d61374df924561d451","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T09:06:43+08:00","added":["backend/test-moddle.js","backend/test-moddle2.js","backend/test-moddle3.js","docs/operations/toc-operations-manual.md"],"removed":[],"modified":["backend/package.json","backend/src/main.ts","backend/src/modules/ai-agents/ai-agent-im.schema.ts","backend/src/modules/ai-agents/ai-agent-im.types.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/ai-agent-im.service.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/model-state-manager.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/ai-agents/services/task-heartbeat.service.ts","backend/src/modules/ai-agents/services/workflow-instance.service.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/meddpicc-analyses/meddpicc.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/process-designer/bpmn-converter.test.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.routes.ts","backend/src/modules/process-designer/process-designer.schema.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/targets/target.service.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/process-designer.ts","frontend/src/types/ai-agent.ts","frontend/src/views/ai-agents/IMConversations.vue","frontend/src/views/ai-agents/IMIntegrationSettings.vue","frontend/src/views/ai-agents/IMQueue.vue","frontend/src/views/ai-agents/LeadCollector.vue","frontend/src/views/process-designer/ProcessList.vue","pnpm-lock.yaml","scripts/start-all.sh"]}],"total_commits":0,"head_commit":{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":479330,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-02-27T07:30:11+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1772148910
|
1772148910
|
0
|
1772148910
|
1772148910
|
NULL
|
|
0
|
Edit
Delete
|
|
1034
|
feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获
|
6
|
5
|
health-check.yml
|
995
|
-2
|
39
|
refs/heads/main
|
68528dce9b8c543283a675374b5a23bc2e46c935
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","after":"68528dce9b8c543283a675374b5a23bc2e46c935","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72...68528dce9b8c543283a675374b5a23bc2e46c935","commits":[{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},{"id":"5bf60bf54c42c8295b8e5595fba959e0821ceb85","message":"Fix TypeScript any violations in duo\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5bf60bf54c42c8295b8e5595fba959e0821ceb85","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T02:07:18+08:00","added":[],"removed":[],"modified":["backend/src/modules/contracts/contract.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/finance/finance-costing.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/leads/lead.schema.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/services/base.service.ts","backend/src/shared/utils/crud.ts","frontend/src/api/index.ts","frontend/src/components/responsive/ResponsiveStats.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/knowledge-feedback/Index.vue"]},{"id":"169dc0ba22faf4ef27cd1d3c55114437b7855f23","message":"Replace any types in shared models\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/169dc0ba22faf4ef27cd1d3c55114437b7855f23","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T01:21:28+08:00","added":[".pnpm-type-check-output10.txt",".pnpm-type-check-output11.txt",".pnpm-type-check-output12.txt",".pnpm-type-check-output13.txt",".pnpm-type-check-output14.txt",".pnpm-type-check-output15.txt",".pnpm-type-check-output16.txt",".pnpm-type-check-output17.txt",".pnpm-type-check-output18.txt",".pnpm-type-check-output19.txt",".pnpm-type-check-output2.txt",".pnpm-type-check-output20.txt",".pnpm-type-check-output21.txt",".pnpm-type-check-output22.txt",".pnpm-type-check-output23.txt",".pnpm-type-check-output24.txt",".pnpm-type-check-output25.txt",".pnpm-type-check-output26.txt",".pnpm-type-check-output27.txt",".pnpm-type-check-output28.txt",".pnpm-type-check-output29.txt",".pnpm-type-check-output3.txt",".pnpm-type-check-output30.txt",".pnpm-type-check-output31.txt",".pnpm-type-check-output32.txt",".pnpm-type-check-output33.txt",".pnpm-type-check-output34.txt",".pnpm-type-check-output35.txt",".pnpm-type-check-output36.txt",".pnpm-type-check-output37.txt",".pnpm-type-check-output38.txt",".pnpm-type-check-output39.txt",".pnpm-type-check-output4.txt",".pnpm-type-check-output40.txt",".pnpm-type-check-output41.txt",".pnpm-type-check-output42.txt",".pnpm-type-check-output43.txt",".pnpm-type-check-output5.txt",".pnpm-type-check-output6.txt",".pnpm-type-check-output7.txt",".pnpm-type-check-output8.txt",".pnpm-type-check-output9.txt"],"removed":[],"modified":["backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/stage-knowledge/stage-knowledge.service.ts","backend/src/modules/supply-chain/supply-chain-platform.service.ts","backend/src/modules/system-events/system-event.service.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/components/business/LeadScoreCard.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/RecentActivities.vue","frontend/src/views/finance-os/cash/CashControlTower.vue","frontend/src/views/finance/MarketingReconciliation.vue","frontend/src/views/lead-scoring/Form.vue","frontend/src/views/leads/Assignment.vue","frontend/src/views/leads/ScoringRules.vue","frontend/src/views/quotes/Editor.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/src/views/settings/Index.vue","frontend/src/views/supplier-management/Contracts.vue","frontend/src/views/tickets/components/gantt/GanttToolbar.vue","frontend/src/views/tickets/components/gantt/TicketGanttChart.vue","frontend/src/views/tickets/components/gantt/composables/useGanttData.ts","shared/src/types/models.ts"]},{"id":"ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","message":"Fix shared model any usage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T22:54:25+08:00","added":[".gemini/policies/dev.toml",".pnpm-type-check-output.txt","backend/scripts/generate-route-inventory.ts","backend/src/modules/dashboard/omni-roi.service.ts","backend/src/modules/finance/reconciliation.controller.ts","backend/src/modules/finance/reconciliation.service.ts","backend/test-bpmn-moddle.js","backend/test-bpmn.mjs","backend/tests/business-flow.test.ts","docs/archive/sprint-stabilization-202602/GAP_MATRIX_20260206.md","docs/archive/sprint-stabilization-202602/route-contract-execution-checklist-v4-by-owner-detail.md","docs/audits/api-route-contract-audit.latest.md","docs/audits/event-publishing-audit.latest.md","docs/audits/route-registration-audit.latest.md","docs/audits/state-machine-integration-audit.latest.md","frontend/src/views/dashboard/OmniRoiDashboard.vue","frontend/src/views/finance/MarketingReconciliation.vue","scripts/db-performance-optimization.sql","scripts/gatekeeper.sh"],"removed":["reports/GAP_MATRIX_20260206.md","reports/route-contract-execution-checklist-v4-by-owner-detail.md"],"modified":["AGENTS.md","DEPLOY.md","GEMINI.md","backend/scripts/audit-baseline-gate.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/channels/index.ts","backend/src/modules/community-fission/community-fission.controller.ts","backend/src/modules/community-fission/community-fission.service.ts","backend/src/modules/content-distribution/content-distribution.controller.ts","backend/src/modules/content-distribution/content-distribution.service.ts","backend/src/modules/content-review/content-review.controller.ts","backend/src/modules/content-review/content-review.service.ts","backend/src/modules/customer-marketing/customer-marketing.controller.ts","backend/src/modules/customer-marketing/customer-marketing.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/devices/asset-activation.controller.ts","backend/src/modules/devices/asset-activation.service.ts","backend/src/modules/diagnosis/diagnosis.controller.ts","backend/src/modules/diagnosis/diagnosis.routes.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/geo-analytics/geo-analytics.controller.ts","backend/src/modules/geo-analytics/geo-analytics.service.ts","backend/src/modules/groupbuy-products/groupbuy-product.controller.ts","backend/src/modules/groupbuy-products/groupbuy-product.routes.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.ts","backend/src/modules/inventory/inventory.service.ts","backend/src/modules/inventory/services/index.ts","backend/src/modules/inventory/services/inventory-warehouse.service.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.routes.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/leads/lead.controller.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/index.ts","backend/src/modules/livestream-analytics/livestream-analytics.controller.ts","backend/src/modules/livestream-analytics/livestream-analytics.routes.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.ts","backend/src/modules/livestream-products/livestream-product.controller.ts","backend/src/modules/livestream-products/livestream-product.routes.ts","backend/src/modules/livestream-products/livestream-product.service.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/controllers/product.controller.ts","backend/src/modules/products/controllers/sku.controller.ts","backend/src/modules/products/product.routes.ts","backend/src/modules/products/routes/sku.routes.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/renewals/renewal.controller.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/reports/report.controller.ts","backend/src/modules/reports/report.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/social-analytics/social-analytics.controller.ts","backend/src/modules/social-analytics/social-analytics.service.ts","frontend/src/api/adapters.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/stores/leads.ts","frontend/src/views/leads/Form.vue","frontend/src/views/opportunities/Pipeline.vue","frontend/src/views/orders/Detail.vue","frontend/src/views/quotes/Detail.vue","frontend/src/views/quotes/Index.vue","shared/src/types/models.ts"]},{"id":"b222af8d439100df34d9a6d61374df924561d451","message":"Update AI agent workflows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/b222af8d439100df34d9a6d61374df924561d451","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T09:06:43+08:00","added":["backend/test-moddle.js","backend/test-moddle2.js","backend/test-moddle3.js","docs/operations/toc-operations-manual.md"],"removed":[],"modified":["backend/package.json","backend/src/main.ts","backend/src/modules/ai-agents/ai-agent-im.schema.ts","backend/src/modules/ai-agents/ai-agent-im.types.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/ai-agent-im.service.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/model-state-manager.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/ai-agents/services/task-heartbeat.service.ts","backend/src/modules/ai-agents/services/workflow-instance.service.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/meddpicc-analyses/meddpicc.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/process-designer/bpmn-converter.test.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.routes.ts","backend/src/modules/process-designer/process-designer.schema.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/targets/target.service.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/process-designer.ts","frontend/src/types/ai-agent.ts","frontend/src/views/ai-agents/IMConversations.vue","frontend/src/views/ai-agents/IMIntegrationSettings.vue","frontend/src/views/ai-agents/IMQueue.vue","frontend/src/views/ai-agents/LeadCollector.vue","frontend/src/views/process-designer/ProcessList.vue","pnpm-lock.yaml","scripts/start-all.sh"]}],"total_commits":0,"head_commit":{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":479330,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-02-27T07:30:11+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1772149210
|
1772149210
|
0
|
1772149210
|
1772149210
|
NULL
|
|
0
|
Edit
Delete
|
|
1035
|
feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获
|
6
|
5
|
health-check.yml
|
996
|
-2
|
39
|
refs/heads/main
|
68528dce9b8c543283a675374b5a23bc2e46c935
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","after":"68528dce9b8c543283a675374b5a23bc2e46c935","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72...68528dce9b8c543283a675374b5a23bc2e46c935","commits":[{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},{"id":"5bf60bf54c42c8295b8e5595fba959e0821ceb85","message":"Fix TypeScript any violations in duo\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5bf60bf54c42c8295b8e5595fba959e0821ceb85","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T02:07:18+08:00","added":[],"removed":[],"modified":["backend/src/modules/contracts/contract.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/finance/finance-costing.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/leads/lead.schema.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/services/base.service.ts","backend/src/shared/utils/crud.ts","frontend/src/api/index.ts","frontend/src/components/responsive/ResponsiveStats.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/knowledge-feedback/Index.vue"]},{"id":"169dc0ba22faf4ef27cd1d3c55114437b7855f23","message":"Replace any types in shared models\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/169dc0ba22faf4ef27cd1d3c55114437b7855f23","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T01:21:28+08:00","added":[".pnpm-type-check-output10.txt",".pnpm-type-check-output11.txt",".pnpm-type-check-output12.txt",".pnpm-type-check-output13.txt",".pnpm-type-check-output14.txt",".pnpm-type-check-output15.txt",".pnpm-type-check-output16.txt",".pnpm-type-check-output17.txt",".pnpm-type-check-output18.txt",".pnpm-type-check-output19.txt",".pnpm-type-check-output2.txt",".pnpm-type-check-output20.txt",".pnpm-type-check-output21.txt",".pnpm-type-check-output22.txt",".pnpm-type-check-output23.txt",".pnpm-type-check-output24.txt",".pnpm-type-check-output25.txt",".pnpm-type-check-output26.txt",".pnpm-type-check-output27.txt",".pnpm-type-check-output28.txt",".pnpm-type-check-output29.txt",".pnpm-type-check-output3.txt",".pnpm-type-check-output30.txt",".pnpm-type-check-output31.txt",".pnpm-type-check-output32.txt",".pnpm-type-check-output33.txt",".pnpm-type-check-output34.txt",".pnpm-type-check-output35.txt",".pnpm-type-check-output36.txt",".pnpm-type-check-output37.txt",".pnpm-type-check-output38.txt",".pnpm-type-check-output39.txt",".pnpm-type-check-output4.txt",".pnpm-type-check-output40.txt",".pnpm-type-check-output41.txt",".pnpm-type-check-output42.txt",".pnpm-type-check-output43.txt",".pnpm-type-check-output5.txt",".pnpm-type-check-output6.txt",".pnpm-type-check-output7.txt",".pnpm-type-check-output8.txt",".pnpm-type-check-output9.txt"],"removed":[],"modified":["backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/stage-knowledge/stage-knowledge.service.ts","backend/src/modules/supply-chain/supply-chain-platform.service.ts","backend/src/modules/system-events/system-event.service.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/components/business/LeadScoreCard.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/RecentActivities.vue","frontend/src/views/finance-os/cash/CashControlTower.vue","frontend/src/views/finance/MarketingReconciliation.vue","frontend/src/views/lead-scoring/Form.vue","frontend/src/views/leads/Assignment.vue","frontend/src/views/leads/ScoringRules.vue","frontend/src/views/quotes/Editor.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/src/views/settings/Index.vue","frontend/src/views/supplier-management/Contracts.vue","frontend/src/views/tickets/components/gantt/GanttToolbar.vue","frontend/src/views/tickets/components/gantt/TicketGanttChart.vue","frontend/src/views/tickets/components/gantt/composables/useGanttData.ts","shared/src/types/models.ts"]},{"id":"ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","message":"Fix shared model any usage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T22:54:25+08:00","added":[".gemini/policies/dev.toml",".pnpm-type-check-output.txt","backend/scripts/generate-route-inventory.ts","backend/src/modules/dashboard/omni-roi.service.ts","backend/src/modules/finance/reconciliation.controller.ts","backend/src/modules/finance/reconciliation.service.ts","backend/test-bpmn-moddle.js","backend/test-bpmn.mjs","backend/tests/business-flow.test.ts","docs/archive/sprint-stabilization-202602/GAP_MATRIX_20260206.md","docs/archive/sprint-stabilization-202602/route-contract-execution-checklist-v4-by-owner-detail.md","docs/audits/api-route-contract-audit.latest.md","docs/audits/event-publishing-audit.latest.md","docs/audits/route-registration-audit.latest.md","docs/audits/state-machine-integration-audit.latest.md","frontend/src/views/dashboard/OmniRoiDashboard.vue","frontend/src/views/finance/MarketingReconciliation.vue","scripts/db-performance-optimization.sql","scripts/gatekeeper.sh"],"removed":["reports/GAP_MATRIX_20260206.md","reports/route-contract-execution-checklist-v4-by-owner-detail.md"],"modified":["AGENTS.md","DEPLOY.md","GEMINI.md","backend/scripts/audit-baseline-gate.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/channels/index.ts","backend/src/modules/community-fission/community-fission.controller.ts","backend/src/modules/community-fission/community-fission.service.ts","backend/src/modules/content-distribution/content-distribution.controller.ts","backend/src/modules/content-distribution/content-distribution.service.ts","backend/src/modules/content-review/content-review.controller.ts","backend/src/modules/content-review/content-review.service.ts","backend/src/modules/customer-marketing/customer-marketing.controller.ts","backend/src/modules/customer-marketing/customer-marketing.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/devices/asset-activation.controller.ts","backend/src/modules/devices/asset-activation.service.ts","backend/src/modules/diagnosis/diagnosis.controller.ts","backend/src/modules/diagnosis/diagnosis.routes.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/geo-analytics/geo-analytics.controller.ts","backend/src/modules/geo-analytics/geo-analytics.service.ts","backend/src/modules/groupbuy-products/groupbuy-product.controller.ts","backend/src/modules/groupbuy-products/groupbuy-product.routes.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.ts","backend/src/modules/inventory/inventory.service.ts","backend/src/modules/inventory/services/index.ts","backend/src/modules/inventory/services/inventory-warehouse.service.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.routes.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/leads/lead.controller.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/index.ts","backend/src/modules/livestream-analytics/livestream-analytics.controller.ts","backend/src/modules/livestream-analytics/livestream-analytics.routes.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.ts","backend/src/modules/livestream-products/livestream-product.controller.ts","backend/src/modules/livestream-products/livestream-product.routes.ts","backend/src/modules/livestream-products/livestream-product.service.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/controllers/product.controller.ts","backend/src/modules/products/controllers/sku.controller.ts","backend/src/modules/products/product.routes.ts","backend/src/modules/products/routes/sku.routes.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/renewals/renewal.controller.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/reports/report.controller.ts","backend/src/modules/reports/report.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/social-analytics/social-analytics.controller.ts","backend/src/modules/social-analytics/social-analytics.service.ts","frontend/src/api/adapters.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/stores/leads.ts","frontend/src/views/leads/Form.vue","frontend/src/views/opportunities/Pipeline.vue","frontend/src/views/orders/Detail.vue","frontend/src/views/quotes/Detail.vue","frontend/src/views/quotes/Index.vue","shared/src/types/models.ts"]},{"id":"b222af8d439100df34d9a6d61374df924561d451","message":"Update AI agent workflows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/b222af8d439100df34d9a6d61374df924561d451","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T09:06:43+08:00","added":["backend/test-moddle.js","backend/test-moddle2.js","backend/test-moddle3.js","docs/operations/toc-operations-manual.md"],"removed":[],"modified":["backend/package.json","backend/src/main.ts","backend/src/modules/ai-agents/ai-agent-im.schema.ts","backend/src/modules/ai-agents/ai-agent-im.types.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/ai-agent-im.service.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/model-state-manager.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/ai-agents/services/task-heartbeat.service.ts","backend/src/modules/ai-agents/services/workflow-instance.service.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/meddpicc-analyses/meddpicc.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/process-designer/bpmn-converter.test.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.routes.ts","backend/src/modules/process-designer/process-designer.schema.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/targets/target.service.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/process-designer.ts","frontend/src/types/ai-agent.ts","frontend/src/views/ai-agents/IMConversations.vue","frontend/src/views/ai-agents/IMIntegrationSettings.vue","frontend/src/views/ai-agents/IMQueue.vue","frontend/src/views/ai-agents/LeadCollector.vue","frontend/src/views/process-designer/ProcessList.vue","pnpm-lock.yaml","scripts/start-all.sh"]}],"total_commits":0,"head_commit":{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":479330,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-02-27T07:30:11+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1772149510
|
1772149510
|
0
|
1772149510
|
1772149510
|
NULL
|
|
0
|
Edit
Delete
|
|
1036
|
feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获
|
6
|
5
|
health-check.yml
|
997
|
-2
|
39
|
refs/heads/main
|
68528dce9b8c543283a675374b5a23bc2e46c935
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","after":"68528dce9b8c543283a675374b5a23bc2e46c935","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72...68528dce9b8c543283a675374b5a23bc2e46c935","commits":[{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},{"id":"5bf60bf54c42c8295b8e5595fba959e0821ceb85","message":"Fix TypeScript any violations in duo\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5bf60bf54c42c8295b8e5595fba959e0821ceb85","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T02:07:18+08:00","added":[],"removed":[],"modified":["backend/src/modules/contracts/contract.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/finance/finance-costing.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/leads/lead.schema.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/services/base.service.ts","backend/src/shared/utils/crud.ts","frontend/src/api/index.ts","frontend/src/components/responsive/ResponsiveStats.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/knowledge-feedback/Index.vue"]},{"id":"169dc0ba22faf4ef27cd1d3c55114437b7855f23","message":"Replace any types in shared models\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/169dc0ba22faf4ef27cd1d3c55114437b7855f23","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T01:21:28+08:00","added":[".pnpm-type-check-output10.txt",".pnpm-type-check-output11.txt",".pnpm-type-check-output12.txt",".pnpm-type-check-output13.txt",".pnpm-type-check-output14.txt",".pnpm-type-check-output15.txt",".pnpm-type-check-output16.txt",".pnpm-type-check-output17.txt",".pnpm-type-check-output18.txt",".pnpm-type-check-output19.txt",".pnpm-type-check-output2.txt",".pnpm-type-check-output20.txt",".pnpm-type-check-output21.txt",".pnpm-type-check-output22.txt",".pnpm-type-check-output23.txt",".pnpm-type-check-output24.txt",".pnpm-type-check-output25.txt",".pnpm-type-check-output26.txt",".pnpm-type-check-output27.txt",".pnpm-type-check-output28.txt",".pnpm-type-check-output29.txt",".pnpm-type-check-output3.txt",".pnpm-type-check-output30.txt",".pnpm-type-check-output31.txt",".pnpm-type-check-output32.txt",".pnpm-type-check-output33.txt",".pnpm-type-check-output34.txt",".pnpm-type-check-output35.txt",".pnpm-type-check-output36.txt",".pnpm-type-check-output37.txt",".pnpm-type-check-output38.txt",".pnpm-type-check-output39.txt",".pnpm-type-check-output4.txt",".pnpm-type-check-output40.txt",".pnpm-type-check-output41.txt",".pnpm-type-check-output42.txt",".pnpm-type-check-output43.txt",".pnpm-type-check-output5.txt",".pnpm-type-check-output6.txt",".pnpm-type-check-output7.txt",".pnpm-type-check-output8.txt",".pnpm-type-check-output9.txt"],"removed":[],"modified":["backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/stage-knowledge/stage-knowledge.service.ts","backend/src/modules/supply-chain/supply-chain-platform.service.ts","backend/src/modules/system-events/system-event.service.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/components/business/LeadScoreCard.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/RecentActivities.vue","frontend/src/views/finance-os/cash/CashControlTower.vue","frontend/src/views/finance/MarketingReconciliation.vue","frontend/src/views/lead-scoring/Form.vue","frontend/src/views/leads/Assignment.vue","frontend/src/views/leads/ScoringRules.vue","frontend/src/views/quotes/Editor.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/src/views/settings/Index.vue","frontend/src/views/supplier-management/Contracts.vue","frontend/src/views/tickets/components/gantt/GanttToolbar.vue","frontend/src/views/tickets/components/gantt/TicketGanttChart.vue","frontend/src/views/tickets/components/gantt/composables/useGanttData.ts","shared/src/types/models.ts"]},{"id":"ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","message":"Fix shared model any usage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T22:54:25+08:00","added":[".gemini/policies/dev.toml",".pnpm-type-check-output.txt","backend/scripts/generate-route-inventory.ts","backend/src/modules/dashboard/omni-roi.service.ts","backend/src/modules/finance/reconciliation.controller.ts","backend/src/modules/finance/reconciliation.service.ts","backend/test-bpmn-moddle.js","backend/test-bpmn.mjs","backend/tests/business-flow.test.ts","docs/archive/sprint-stabilization-202602/GAP_MATRIX_20260206.md","docs/archive/sprint-stabilization-202602/route-contract-execution-checklist-v4-by-owner-detail.md","docs/audits/api-route-contract-audit.latest.md","docs/audits/event-publishing-audit.latest.md","docs/audits/route-registration-audit.latest.md","docs/audits/state-machine-integration-audit.latest.md","frontend/src/views/dashboard/OmniRoiDashboard.vue","frontend/src/views/finance/MarketingReconciliation.vue","scripts/db-performance-optimization.sql","scripts/gatekeeper.sh"],"removed":["reports/GAP_MATRIX_20260206.md","reports/route-contract-execution-checklist-v4-by-owner-detail.md"],"modified":["AGENTS.md","DEPLOY.md","GEMINI.md","backend/scripts/audit-baseline-gate.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/channels/index.ts","backend/src/modules/community-fission/community-fission.controller.ts","backend/src/modules/community-fission/community-fission.service.ts","backend/src/modules/content-distribution/content-distribution.controller.ts","backend/src/modules/content-distribution/content-distribution.service.ts","backend/src/modules/content-review/content-review.controller.ts","backend/src/modules/content-review/content-review.service.ts","backend/src/modules/customer-marketing/customer-marketing.controller.ts","backend/src/modules/customer-marketing/customer-marketing.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/devices/asset-activation.controller.ts","backend/src/modules/devices/asset-activation.service.ts","backend/src/modules/diagnosis/diagnosis.controller.ts","backend/src/modules/diagnosis/diagnosis.routes.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/geo-analytics/geo-analytics.controller.ts","backend/src/modules/geo-analytics/geo-analytics.service.ts","backend/src/modules/groupbuy-products/groupbuy-product.controller.ts","backend/src/modules/groupbuy-products/groupbuy-product.routes.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.ts","backend/src/modules/inventory/inventory.service.ts","backend/src/modules/inventory/services/index.ts","backend/src/modules/inventory/services/inventory-warehouse.service.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.routes.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/leads/lead.controller.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/index.ts","backend/src/modules/livestream-analytics/livestream-analytics.controller.ts","backend/src/modules/livestream-analytics/livestream-analytics.routes.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.ts","backend/src/modules/livestream-products/livestream-product.controller.ts","backend/src/modules/livestream-products/livestream-product.routes.ts","backend/src/modules/livestream-products/livestream-product.service.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/controllers/product.controller.ts","backend/src/modules/products/controllers/sku.controller.ts","backend/src/modules/products/product.routes.ts","backend/src/modules/products/routes/sku.routes.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/renewals/renewal.controller.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/reports/report.controller.ts","backend/src/modules/reports/report.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/social-analytics/social-analytics.controller.ts","backend/src/modules/social-analytics/social-analytics.service.ts","frontend/src/api/adapters.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/stores/leads.ts","frontend/src/views/leads/Form.vue","frontend/src/views/opportunities/Pipeline.vue","frontend/src/views/orders/Detail.vue","frontend/src/views/quotes/Detail.vue","frontend/src/views/quotes/Index.vue","shared/src/types/models.ts"]},{"id":"b222af8d439100df34d9a6d61374df924561d451","message":"Update AI agent workflows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/b222af8d439100df34d9a6d61374df924561d451","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T09:06:43+08:00","added":["backend/test-moddle.js","backend/test-moddle2.js","backend/test-moddle3.js","docs/operations/toc-operations-manual.md"],"removed":[],"modified":["backend/package.json","backend/src/main.ts","backend/src/modules/ai-agents/ai-agent-im.schema.ts","backend/src/modules/ai-agents/ai-agent-im.types.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/ai-agent-im.service.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/model-state-manager.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/ai-agents/services/task-heartbeat.service.ts","backend/src/modules/ai-agents/services/workflow-instance.service.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/meddpicc-analyses/meddpicc.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/process-designer/bpmn-converter.test.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.routes.ts","backend/src/modules/process-designer/process-designer.schema.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/targets/target.service.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/process-designer.ts","frontend/src/types/ai-agent.ts","frontend/src/views/ai-agents/IMConversations.vue","frontend/src/views/ai-agents/IMIntegrationSettings.vue","frontend/src/views/ai-agents/IMQueue.vue","frontend/src/views/ai-agents/LeadCollector.vue","frontend/src/views/process-designer/ProcessList.vue","pnpm-lock.yaml","scripts/start-all.sh"]}],"total_commits":0,"head_commit":{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":479330,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-02-27T07:30:11+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1772149810
|
1772149810
|
0
|
1772149810
|
1772149810
|
NULL
|
|
0
|
Edit
Delete
|
|
1037
|
feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获
|
6
|
5
|
health-check.yml
|
998
|
-2
|
39
|
refs/heads/main
|
68528dce9b8c543283a675374b5a23bc2e46c935
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","after":"68528dce9b8c543283a675374b5a23bc2e46c935","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72...68528dce9b8c543283a675374b5a23bc2e46c935","commits":[{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},{"id":"5bf60bf54c42c8295b8e5595fba959e0821ceb85","message":"Fix TypeScript any violations in duo\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5bf60bf54c42c8295b8e5595fba959e0821ceb85","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T02:07:18+08:00","added":[],"removed":[],"modified":["backend/src/modules/contracts/contract.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/finance/finance-costing.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/leads/lead.schema.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/services/base.service.ts","backend/src/shared/utils/crud.ts","frontend/src/api/index.ts","frontend/src/components/responsive/ResponsiveStats.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/knowledge-feedback/Index.vue"]},{"id":"169dc0ba22faf4ef27cd1d3c55114437b7855f23","message":"Replace any types in shared models\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/169dc0ba22faf4ef27cd1d3c55114437b7855f23","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T01:21:28+08:00","added":[".pnpm-type-check-output10.txt",".pnpm-type-check-output11.txt",".pnpm-type-check-output12.txt",".pnpm-type-check-output13.txt",".pnpm-type-check-output14.txt",".pnpm-type-check-output15.txt",".pnpm-type-check-output16.txt",".pnpm-type-check-output17.txt",".pnpm-type-check-output18.txt",".pnpm-type-check-output19.txt",".pnpm-type-check-output2.txt",".pnpm-type-check-output20.txt",".pnpm-type-check-output21.txt",".pnpm-type-check-output22.txt",".pnpm-type-check-output23.txt",".pnpm-type-check-output24.txt",".pnpm-type-check-output25.txt",".pnpm-type-check-output26.txt",".pnpm-type-check-output27.txt",".pnpm-type-check-output28.txt",".pnpm-type-check-output29.txt",".pnpm-type-check-output3.txt",".pnpm-type-check-output30.txt",".pnpm-type-check-output31.txt",".pnpm-type-check-output32.txt",".pnpm-type-check-output33.txt",".pnpm-type-check-output34.txt",".pnpm-type-check-output35.txt",".pnpm-type-check-output36.txt",".pnpm-type-check-output37.txt",".pnpm-type-check-output38.txt",".pnpm-type-check-output39.txt",".pnpm-type-check-output4.txt",".pnpm-type-check-output40.txt",".pnpm-type-check-output41.txt",".pnpm-type-check-output42.txt",".pnpm-type-check-output43.txt",".pnpm-type-check-output5.txt",".pnpm-type-check-output6.txt",".pnpm-type-check-output7.txt",".pnpm-type-check-output8.txt",".pnpm-type-check-output9.txt"],"removed":[],"modified":["backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/stage-knowledge/stage-knowledge.service.ts","backend/src/modules/supply-chain/supply-chain-platform.service.ts","backend/src/modules/system-events/system-event.service.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/components/business/LeadScoreCard.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/RecentActivities.vue","frontend/src/views/finance-os/cash/CashControlTower.vue","frontend/src/views/finance/MarketingReconciliation.vue","frontend/src/views/lead-scoring/Form.vue","frontend/src/views/leads/Assignment.vue","frontend/src/views/leads/ScoringRules.vue","frontend/src/views/quotes/Editor.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/src/views/settings/Index.vue","frontend/src/views/supplier-management/Contracts.vue","frontend/src/views/tickets/components/gantt/GanttToolbar.vue","frontend/src/views/tickets/components/gantt/TicketGanttChart.vue","frontend/src/views/tickets/components/gantt/composables/useGanttData.ts","shared/src/types/models.ts"]},{"id":"ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","message":"Fix shared model any usage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T22:54:25+08:00","added":[".gemini/policies/dev.toml",".pnpm-type-check-output.txt","backend/scripts/generate-route-inventory.ts","backend/src/modules/dashboard/omni-roi.service.ts","backend/src/modules/finance/reconciliation.controller.ts","backend/src/modules/finance/reconciliation.service.ts","backend/test-bpmn-moddle.js","backend/test-bpmn.mjs","backend/tests/business-flow.test.ts","docs/archive/sprint-stabilization-202602/GAP_MATRIX_20260206.md","docs/archive/sprint-stabilization-202602/route-contract-execution-checklist-v4-by-owner-detail.md","docs/audits/api-route-contract-audit.latest.md","docs/audits/event-publishing-audit.latest.md","docs/audits/route-registration-audit.latest.md","docs/audits/state-machine-integration-audit.latest.md","frontend/src/views/dashboard/OmniRoiDashboard.vue","frontend/src/views/finance/MarketingReconciliation.vue","scripts/db-performance-optimization.sql","scripts/gatekeeper.sh"],"removed":["reports/GAP_MATRIX_20260206.md","reports/route-contract-execution-checklist-v4-by-owner-detail.md"],"modified":["AGENTS.md","DEPLOY.md","GEMINI.md","backend/scripts/audit-baseline-gate.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/channels/index.ts","backend/src/modules/community-fission/community-fission.controller.ts","backend/src/modules/community-fission/community-fission.service.ts","backend/src/modules/content-distribution/content-distribution.controller.ts","backend/src/modules/content-distribution/content-distribution.service.ts","backend/src/modules/content-review/content-review.controller.ts","backend/src/modules/content-review/content-review.service.ts","backend/src/modules/customer-marketing/customer-marketing.controller.ts","backend/src/modules/customer-marketing/customer-marketing.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/devices/asset-activation.controller.ts","backend/src/modules/devices/asset-activation.service.ts","backend/src/modules/diagnosis/diagnosis.controller.ts","backend/src/modules/diagnosis/diagnosis.routes.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/geo-analytics/geo-analytics.controller.ts","backend/src/modules/geo-analytics/geo-analytics.service.ts","backend/src/modules/groupbuy-products/groupbuy-product.controller.ts","backend/src/modules/groupbuy-products/groupbuy-product.routes.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.ts","backend/src/modules/inventory/inventory.service.ts","backend/src/modules/inventory/services/index.ts","backend/src/modules/inventory/services/inventory-warehouse.service.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.routes.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/leads/lead.controller.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/index.ts","backend/src/modules/livestream-analytics/livestream-analytics.controller.ts","backend/src/modules/livestream-analytics/livestream-analytics.routes.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.ts","backend/src/modules/livestream-products/livestream-product.controller.ts","backend/src/modules/livestream-products/livestream-product.routes.ts","backend/src/modules/livestream-products/livestream-product.service.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/controllers/product.controller.ts","backend/src/modules/products/controllers/sku.controller.ts","backend/src/modules/products/product.routes.ts","backend/src/modules/products/routes/sku.routes.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/renewals/renewal.controller.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/reports/report.controller.ts","backend/src/modules/reports/report.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/social-analytics/social-analytics.controller.ts","backend/src/modules/social-analytics/social-analytics.service.ts","frontend/src/api/adapters.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/stores/leads.ts","frontend/src/views/leads/Form.vue","frontend/src/views/opportunities/Pipeline.vue","frontend/src/views/orders/Detail.vue","frontend/src/views/quotes/Detail.vue","frontend/src/views/quotes/Index.vue","shared/src/types/models.ts"]},{"id":"b222af8d439100df34d9a6d61374df924561d451","message":"Update AI agent workflows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/b222af8d439100df34d9a6d61374df924561d451","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T09:06:43+08:00","added":["backend/test-moddle.js","backend/test-moddle2.js","backend/test-moddle3.js","docs/operations/toc-operations-manual.md"],"removed":[],"modified":["backend/package.json","backend/src/main.ts","backend/src/modules/ai-agents/ai-agent-im.schema.ts","backend/src/modules/ai-agents/ai-agent-im.types.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/ai-agent-im.service.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/model-state-manager.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/ai-agents/services/task-heartbeat.service.ts","backend/src/modules/ai-agents/services/workflow-instance.service.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/meddpicc-analyses/meddpicc.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/process-designer/bpmn-converter.test.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.routes.ts","backend/src/modules/process-designer/process-designer.schema.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/targets/target.service.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/process-designer.ts","frontend/src/types/ai-agent.ts","frontend/src/views/ai-agents/IMConversations.vue","frontend/src/views/ai-agents/IMIntegrationSettings.vue","frontend/src/views/ai-agents/IMQueue.vue","frontend/src/views/ai-agents/LeadCollector.vue","frontend/src/views/process-designer/ProcessList.vue","pnpm-lock.yaml","scripts/start-all.sh"]}],"total_commits":0,"head_commit":{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":479330,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-02-27T07:30:11+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1772150110
|
1772150110
|
0
|
1772150110
|
1772150110
|
NULL
|
|
0
|
Edit
Delete
|
|
1038
|
feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获
|
6
|
5
|
health-check.yml
|
999
|
-2
|
39
|
refs/heads/main
|
68528dce9b8c543283a675374b5a23bc2e46c935
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","after":"68528dce9b8c543283a675374b5a23bc2e46c935","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72...68528dce9b8c543283a675374b5a23bc2e46c935","commits":[{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},{"id":"5bf60bf54c42c8295b8e5595fba959e0821ceb85","message":"Fix TypeScript any violations in duo\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5bf60bf54c42c8295b8e5595fba959e0821ceb85","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T02:07:18+08:00","added":[],"removed":[],"modified":["backend/src/modules/contracts/contract.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/finance/finance-costing.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/leads/lead.schema.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/services/base.service.ts","backend/src/shared/utils/crud.ts","frontend/src/api/index.ts","frontend/src/components/responsive/ResponsiveStats.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/knowledge-feedback/Index.vue"]},{"id":"169dc0ba22faf4ef27cd1d3c55114437b7855f23","message":"Replace any types in shared models\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/169dc0ba22faf4ef27cd1d3c55114437b7855f23","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T01:21:28+08:00","added":[".pnpm-type-check-output10.txt",".pnpm-type-check-output11.txt",".pnpm-type-check-output12.txt",".pnpm-type-check-output13.txt",".pnpm-type-check-output14.txt",".pnpm-type-check-output15.txt",".pnpm-type-check-output16.txt",".pnpm-type-check-output17.txt",".pnpm-type-check-output18.txt",".pnpm-type-check-output19.txt",".pnpm-type-check-output2.txt",".pnpm-type-check-output20.txt",".pnpm-type-check-output21.txt",".pnpm-type-check-output22.txt",".pnpm-type-check-output23.txt",".pnpm-type-check-output24.txt",".pnpm-type-check-output25.txt",".pnpm-type-check-output26.txt",".pnpm-type-check-output27.txt",".pnpm-type-check-output28.txt",".pnpm-type-check-output29.txt",".pnpm-type-check-output3.txt",".pnpm-type-check-output30.txt",".pnpm-type-check-output31.txt",".pnpm-type-check-output32.txt",".pnpm-type-check-output33.txt",".pnpm-type-check-output34.txt",".pnpm-type-check-output35.txt",".pnpm-type-check-output36.txt",".pnpm-type-check-output37.txt",".pnpm-type-check-output38.txt",".pnpm-type-check-output39.txt",".pnpm-type-check-output4.txt",".pnpm-type-check-output40.txt",".pnpm-type-check-output41.txt",".pnpm-type-check-output42.txt",".pnpm-type-check-output43.txt",".pnpm-type-check-output5.txt",".pnpm-type-check-output6.txt",".pnpm-type-check-output7.txt",".pnpm-type-check-output8.txt",".pnpm-type-check-output9.txt"],"removed":[],"modified":["backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/stage-knowledge/stage-knowledge.service.ts","backend/src/modules/supply-chain/supply-chain-platform.service.ts","backend/src/modules/system-events/system-event.service.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/components/business/LeadScoreCard.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/RecentActivities.vue","frontend/src/views/finance-os/cash/CashControlTower.vue","frontend/src/views/finance/MarketingReconciliation.vue","frontend/src/views/lead-scoring/Form.vue","frontend/src/views/leads/Assignment.vue","frontend/src/views/leads/ScoringRules.vue","frontend/src/views/quotes/Editor.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/src/views/settings/Index.vue","frontend/src/views/supplier-management/Contracts.vue","frontend/src/views/tickets/components/gantt/GanttToolbar.vue","frontend/src/views/tickets/components/gantt/TicketGanttChart.vue","frontend/src/views/tickets/components/gantt/composables/useGanttData.ts","shared/src/types/models.ts"]},{"id":"ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","message":"Fix shared model any usage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T22:54:25+08:00","added":[".gemini/policies/dev.toml",".pnpm-type-check-output.txt","backend/scripts/generate-route-inventory.ts","backend/src/modules/dashboard/omni-roi.service.ts","backend/src/modules/finance/reconciliation.controller.ts","backend/src/modules/finance/reconciliation.service.ts","backend/test-bpmn-moddle.js","backend/test-bpmn.mjs","backend/tests/business-flow.test.ts","docs/archive/sprint-stabilization-202602/GAP_MATRIX_20260206.md","docs/archive/sprint-stabilization-202602/route-contract-execution-checklist-v4-by-owner-detail.md","docs/audits/api-route-contract-audit.latest.md","docs/audits/event-publishing-audit.latest.md","docs/audits/route-registration-audit.latest.md","docs/audits/state-machine-integration-audit.latest.md","frontend/src/views/dashboard/OmniRoiDashboard.vue","frontend/src/views/finance/MarketingReconciliation.vue","scripts/db-performance-optimization.sql","scripts/gatekeeper.sh"],"removed":["reports/GAP_MATRIX_20260206.md","reports/route-contract-execution-checklist-v4-by-owner-detail.md"],"modified":["AGENTS.md","DEPLOY.md","GEMINI.md","backend/scripts/audit-baseline-gate.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/channels/index.ts","backend/src/modules/community-fission/community-fission.controller.ts","backend/src/modules/community-fission/community-fission.service.ts","backend/src/modules/content-distribution/content-distribution.controller.ts","backend/src/modules/content-distribution/content-distribution.service.ts","backend/src/modules/content-review/content-review.controller.ts","backend/src/modules/content-review/content-review.service.ts","backend/src/modules/customer-marketing/customer-marketing.controller.ts","backend/src/modules/customer-marketing/customer-marketing.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/devices/asset-activation.controller.ts","backend/src/modules/devices/asset-activation.service.ts","backend/src/modules/diagnosis/diagnosis.controller.ts","backend/src/modules/diagnosis/diagnosis.routes.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/geo-analytics/geo-analytics.controller.ts","backend/src/modules/geo-analytics/geo-analytics.service.ts","backend/src/modules/groupbuy-products/groupbuy-product.controller.ts","backend/src/modules/groupbuy-products/groupbuy-product.routes.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.ts","backend/src/modules/inventory/inventory.service.ts","backend/src/modules/inventory/services/index.ts","backend/src/modules/inventory/services/inventory-warehouse.service.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.routes.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/leads/lead.controller.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/index.ts","backend/src/modules/livestream-analytics/livestream-analytics.controller.ts","backend/src/modules/livestream-analytics/livestream-analytics.routes.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.ts","backend/src/modules/livestream-products/livestream-product.controller.ts","backend/src/modules/livestream-products/livestream-product.routes.ts","backend/src/modules/livestream-products/livestream-product.service.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/controllers/product.controller.ts","backend/src/modules/products/controllers/sku.controller.ts","backend/src/modules/products/product.routes.ts","backend/src/modules/products/routes/sku.routes.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/renewals/renewal.controller.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/reports/report.controller.ts","backend/src/modules/reports/report.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/social-analytics/social-analytics.controller.ts","backend/src/modules/social-analytics/social-analytics.service.ts","frontend/src/api/adapters.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/stores/leads.ts","frontend/src/views/leads/Form.vue","frontend/src/views/opportunities/Pipeline.vue","frontend/src/views/orders/Detail.vue","frontend/src/views/quotes/Detail.vue","frontend/src/views/quotes/Index.vue","shared/src/types/models.ts"]},{"id":"b222af8d439100df34d9a6d61374df924561d451","message":"Update AI agent workflows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/b222af8d439100df34d9a6d61374df924561d451","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T09:06:43+08:00","added":["backend/test-moddle.js","backend/test-moddle2.js","backend/test-moddle3.js","docs/operations/toc-operations-manual.md"],"removed":[],"modified":["backend/package.json","backend/src/main.ts","backend/src/modules/ai-agents/ai-agent-im.schema.ts","backend/src/modules/ai-agents/ai-agent-im.types.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/ai-agent-im.service.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/model-state-manager.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/ai-agents/services/task-heartbeat.service.ts","backend/src/modules/ai-agents/services/workflow-instance.service.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/meddpicc-analyses/meddpicc.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/process-designer/bpmn-converter.test.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.routes.ts","backend/src/modules/process-designer/process-designer.schema.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/targets/target.service.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/process-designer.ts","frontend/src/types/ai-agent.ts","frontend/src/views/ai-agents/IMConversations.vue","frontend/src/views/ai-agents/IMIntegrationSettings.vue","frontend/src/views/ai-agents/IMQueue.vue","frontend/src/views/ai-agents/LeadCollector.vue","frontend/src/views/process-designer/ProcessList.vue","pnpm-lock.yaml","scripts/start-all.sh"]}],"total_commits":0,"head_commit":{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":479330,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-02-27T07:30:11+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1772150410
|
1772150410
|
0
|
1772150410
|
1772150410
|
NULL
|
|
0
|
Edit
Delete
|
|
1039
|
feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获
|
6
|
5
|
health-check.yml
|
1000
|
-2
|
39
|
refs/heads/main
|
68528dce9b8c543283a675374b5a23bc2e46c935
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","after":"68528dce9b8c543283a675374b5a23bc2e46c935","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72...68528dce9b8c543283a675374b5a23bc2e46c935","commits":[{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},{"id":"5bf60bf54c42c8295b8e5595fba959e0821ceb85","message":"Fix TypeScript any violations in duo\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5bf60bf54c42c8295b8e5595fba959e0821ceb85","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T02:07:18+08:00","added":[],"removed":[],"modified":["backend/src/modules/contracts/contract.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/finance/finance-costing.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/leads/lead.schema.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/services/base.service.ts","backend/src/shared/utils/crud.ts","frontend/src/api/index.ts","frontend/src/components/responsive/ResponsiveStats.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/knowledge-feedback/Index.vue"]},{"id":"169dc0ba22faf4ef27cd1d3c55114437b7855f23","message":"Replace any types in shared models\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/169dc0ba22faf4ef27cd1d3c55114437b7855f23","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T01:21:28+08:00","added":[".pnpm-type-check-output10.txt",".pnpm-type-check-output11.txt",".pnpm-type-check-output12.txt",".pnpm-type-check-output13.txt",".pnpm-type-check-output14.txt",".pnpm-type-check-output15.txt",".pnpm-type-check-output16.txt",".pnpm-type-check-output17.txt",".pnpm-type-check-output18.txt",".pnpm-type-check-output19.txt",".pnpm-type-check-output2.txt",".pnpm-type-check-output20.txt",".pnpm-type-check-output21.txt",".pnpm-type-check-output22.txt",".pnpm-type-check-output23.txt",".pnpm-type-check-output24.txt",".pnpm-type-check-output25.txt",".pnpm-type-check-output26.txt",".pnpm-type-check-output27.txt",".pnpm-type-check-output28.txt",".pnpm-type-check-output29.txt",".pnpm-type-check-output3.txt",".pnpm-type-check-output30.txt",".pnpm-type-check-output31.txt",".pnpm-type-check-output32.txt",".pnpm-type-check-output33.txt",".pnpm-type-check-output34.txt",".pnpm-type-check-output35.txt",".pnpm-type-check-output36.txt",".pnpm-type-check-output37.txt",".pnpm-type-check-output38.txt",".pnpm-type-check-output39.txt",".pnpm-type-check-output4.txt",".pnpm-type-check-output40.txt",".pnpm-type-check-output41.txt",".pnpm-type-check-output42.txt",".pnpm-type-check-output43.txt",".pnpm-type-check-output5.txt",".pnpm-type-check-output6.txt",".pnpm-type-check-output7.txt",".pnpm-type-check-output8.txt",".pnpm-type-check-output9.txt"],"removed":[],"modified":["backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/stage-knowledge/stage-knowledge.service.ts","backend/src/modules/supply-chain/supply-chain-platform.service.ts","backend/src/modules/system-events/system-event.service.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/components/business/LeadScoreCard.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/RecentActivities.vue","frontend/src/views/finance-os/cash/CashControlTower.vue","frontend/src/views/finance/MarketingReconciliation.vue","frontend/src/views/lead-scoring/Form.vue","frontend/src/views/leads/Assignment.vue","frontend/src/views/leads/ScoringRules.vue","frontend/src/views/quotes/Editor.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/src/views/settings/Index.vue","frontend/src/views/supplier-management/Contracts.vue","frontend/src/views/tickets/components/gantt/GanttToolbar.vue","frontend/src/views/tickets/components/gantt/TicketGanttChart.vue","frontend/src/views/tickets/components/gantt/composables/useGanttData.ts","shared/src/types/models.ts"]},{"id":"ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","message":"Fix shared model any usage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T22:54:25+08:00","added":[".gemini/policies/dev.toml",".pnpm-type-check-output.txt","backend/scripts/generate-route-inventory.ts","backend/src/modules/dashboard/omni-roi.service.ts","backend/src/modules/finance/reconciliation.controller.ts","backend/src/modules/finance/reconciliation.service.ts","backend/test-bpmn-moddle.js","backend/test-bpmn.mjs","backend/tests/business-flow.test.ts","docs/archive/sprint-stabilization-202602/GAP_MATRIX_20260206.md","docs/archive/sprint-stabilization-202602/route-contract-execution-checklist-v4-by-owner-detail.md","docs/audits/api-route-contract-audit.latest.md","docs/audits/event-publishing-audit.latest.md","docs/audits/route-registration-audit.latest.md","docs/audits/state-machine-integration-audit.latest.md","frontend/src/views/dashboard/OmniRoiDashboard.vue","frontend/src/views/finance/MarketingReconciliation.vue","scripts/db-performance-optimization.sql","scripts/gatekeeper.sh"],"removed":["reports/GAP_MATRIX_20260206.md","reports/route-contract-execution-checklist-v4-by-owner-detail.md"],"modified":["AGENTS.md","DEPLOY.md","GEMINI.md","backend/scripts/audit-baseline-gate.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/channels/index.ts","backend/src/modules/community-fission/community-fission.controller.ts","backend/src/modules/community-fission/community-fission.service.ts","backend/src/modules/content-distribution/content-distribution.controller.ts","backend/src/modules/content-distribution/content-distribution.service.ts","backend/src/modules/content-review/content-review.controller.ts","backend/src/modules/content-review/content-review.service.ts","backend/src/modules/customer-marketing/customer-marketing.controller.ts","backend/src/modules/customer-marketing/customer-marketing.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/devices/asset-activation.controller.ts","backend/src/modules/devices/asset-activation.service.ts","backend/src/modules/diagnosis/diagnosis.controller.ts","backend/src/modules/diagnosis/diagnosis.routes.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/geo-analytics/geo-analytics.controller.ts","backend/src/modules/geo-analytics/geo-analytics.service.ts","backend/src/modules/groupbuy-products/groupbuy-product.controller.ts","backend/src/modules/groupbuy-products/groupbuy-product.routes.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.ts","backend/src/modules/inventory/inventory.service.ts","backend/src/modules/inventory/services/index.ts","backend/src/modules/inventory/services/inventory-warehouse.service.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.routes.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/leads/lead.controller.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/index.ts","backend/src/modules/livestream-analytics/livestream-analytics.controller.ts","backend/src/modules/livestream-analytics/livestream-analytics.routes.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.ts","backend/src/modules/livestream-products/livestream-product.controller.ts","backend/src/modules/livestream-products/livestream-product.routes.ts","backend/src/modules/livestream-products/livestream-product.service.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/controllers/product.controller.ts","backend/src/modules/products/controllers/sku.controller.ts","backend/src/modules/products/product.routes.ts","backend/src/modules/products/routes/sku.routes.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/renewals/renewal.controller.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/reports/report.controller.ts","backend/src/modules/reports/report.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/social-analytics/social-analytics.controller.ts","backend/src/modules/social-analytics/social-analytics.service.ts","frontend/src/api/adapters.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/stores/leads.ts","frontend/src/views/leads/Form.vue","frontend/src/views/opportunities/Pipeline.vue","frontend/src/views/orders/Detail.vue","frontend/src/views/quotes/Detail.vue","frontend/src/views/quotes/Index.vue","shared/src/types/models.ts"]},{"id":"b222af8d439100df34d9a6d61374df924561d451","message":"Update AI agent workflows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/b222af8d439100df34d9a6d61374df924561d451","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T09:06:43+08:00","added":["backend/test-moddle.js","backend/test-moddle2.js","backend/test-moddle3.js","docs/operations/toc-operations-manual.md"],"removed":[],"modified":["backend/package.json","backend/src/main.ts","backend/src/modules/ai-agents/ai-agent-im.schema.ts","backend/src/modules/ai-agents/ai-agent-im.types.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/ai-agent-im.service.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/model-state-manager.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/ai-agents/services/task-heartbeat.service.ts","backend/src/modules/ai-agents/services/workflow-instance.service.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/meddpicc-analyses/meddpicc.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/process-designer/bpmn-converter.test.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.routes.ts","backend/src/modules/process-designer/process-designer.schema.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/targets/target.service.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/process-designer.ts","frontend/src/types/ai-agent.ts","frontend/src/views/ai-agents/IMConversations.vue","frontend/src/views/ai-agents/IMIntegrationSettings.vue","frontend/src/views/ai-agents/IMQueue.vue","frontend/src/views/ai-agents/LeadCollector.vue","frontend/src/views/process-designer/ProcessList.vue","pnpm-lock.yaml","scripts/start-all.sh"]}],"total_commits":0,"head_commit":{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":479330,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-02-27T07:30:11+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1772150710
|
1772150710
|
0
|
1772150710
|
1772150710
|
NULL
|
|
0
|
Edit
Delete
|
|
1040
|
feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获
|
6
|
5
|
health-check.yml
|
1001
|
-2
|
39
|
refs/heads/main
|
68528dce9b8c543283a675374b5a23bc2e46c935
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","after":"68528dce9b8c543283a675374b5a23bc2e46c935","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72...68528dce9b8c543283a675374b5a23bc2e46c935","commits":[{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},{"id":"5bf60bf54c42c8295b8e5595fba959e0821ceb85","message":"Fix TypeScript any violations in duo\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5bf60bf54c42c8295b8e5595fba959e0821ceb85","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T02:07:18+08:00","added":[],"removed":[],"modified":["backend/src/modules/contracts/contract.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/finance/finance-costing.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/leads/lead.schema.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/services/base.service.ts","backend/src/shared/utils/crud.ts","frontend/src/api/index.ts","frontend/src/components/responsive/ResponsiveStats.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/knowledge-feedback/Index.vue"]},{"id":"169dc0ba22faf4ef27cd1d3c55114437b7855f23","message":"Replace any types in shared models\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/169dc0ba22faf4ef27cd1d3c55114437b7855f23","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T01:21:28+08:00","added":[".pnpm-type-check-output10.txt",".pnpm-type-check-output11.txt",".pnpm-type-check-output12.txt",".pnpm-type-check-output13.txt",".pnpm-type-check-output14.txt",".pnpm-type-check-output15.txt",".pnpm-type-check-output16.txt",".pnpm-type-check-output17.txt",".pnpm-type-check-output18.txt",".pnpm-type-check-output19.txt",".pnpm-type-check-output2.txt",".pnpm-type-check-output20.txt",".pnpm-type-check-output21.txt",".pnpm-type-check-output22.txt",".pnpm-type-check-output23.txt",".pnpm-type-check-output24.txt",".pnpm-type-check-output25.txt",".pnpm-type-check-output26.txt",".pnpm-type-check-output27.txt",".pnpm-type-check-output28.txt",".pnpm-type-check-output29.txt",".pnpm-type-check-output3.txt",".pnpm-type-check-output30.txt",".pnpm-type-check-output31.txt",".pnpm-type-check-output32.txt",".pnpm-type-check-output33.txt",".pnpm-type-check-output34.txt",".pnpm-type-check-output35.txt",".pnpm-type-check-output36.txt",".pnpm-type-check-output37.txt",".pnpm-type-check-output38.txt",".pnpm-type-check-output39.txt",".pnpm-type-check-output4.txt",".pnpm-type-check-output40.txt",".pnpm-type-check-output41.txt",".pnpm-type-check-output42.txt",".pnpm-type-check-output43.txt",".pnpm-type-check-output5.txt",".pnpm-type-check-output6.txt",".pnpm-type-check-output7.txt",".pnpm-type-check-output8.txt",".pnpm-type-check-output9.txt"],"removed":[],"modified":["backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/stage-knowledge/stage-knowledge.service.ts","backend/src/modules/supply-chain/supply-chain-platform.service.ts","backend/src/modules/system-events/system-event.service.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/components/business/LeadScoreCard.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/RecentActivities.vue","frontend/src/views/finance-os/cash/CashControlTower.vue","frontend/src/views/finance/MarketingReconciliation.vue","frontend/src/views/lead-scoring/Form.vue","frontend/src/views/leads/Assignment.vue","frontend/src/views/leads/ScoringRules.vue","frontend/src/views/quotes/Editor.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/src/views/settings/Index.vue","frontend/src/views/supplier-management/Contracts.vue","frontend/src/views/tickets/components/gantt/GanttToolbar.vue","frontend/src/views/tickets/components/gantt/TicketGanttChart.vue","frontend/src/views/tickets/components/gantt/composables/useGanttData.ts","shared/src/types/models.ts"]},{"id":"ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","message":"Fix shared model any usage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T22:54:25+08:00","added":[".gemini/policies/dev.toml",".pnpm-type-check-output.txt","backend/scripts/generate-route-inventory.ts","backend/src/modules/dashboard/omni-roi.service.ts","backend/src/modules/finance/reconciliation.controller.ts","backend/src/modules/finance/reconciliation.service.ts","backend/test-bpmn-moddle.js","backend/test-bpmn.mjs","backend/tests/business-flow.test.ts","docs/archive/sprint-stabilization-202602/GAP_MATRIX_20260206.md","docs/archive/sprint-stabilization-202602/route-contract-execution-checklist-v4-by-owner-detail.md","docs/audits/api-route-contract-audit.latest.md","docs/audits/event-publishing-audit.latest.md","docs/audits/route-registration-audit.latest.md","docs/audits/state-machine-integration-audit.latest.md","frontend/src/views/dashboard/OmniRoiDashboard.vue","frontend/src/views/finance/MarketingReconciliation.vue","scripts/db-performance-optimization.sql","scripts/gatekeeper.sh"],"removed":["reports/GAP_MATRIX_20260206.md","reports/route-contract-execution-checklist-v4-by-owner-detail.md"],"modified":["AGENTS.md","DEPLOY.md","GEMINI.md","backend/scripts/audit-baseline-gate.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/channels/index.ts","backend/src/modules/community-fission/community-fission.controller.ts","backend/src/modules/community-fission/community-fission.service.ts","backend/src/modules/content-distribution/content-distribution.controller.ts","backend/src/modules/content-distribution/content-distribution.service.ts","backend/src/modules/content-review/content-review.controller.ts","backend/src/modules/content-review/content-review.service.ts","backend/src/modules/customer-marketing/customer-marketing.controller.ts","backend/src/modules/customer-marketing/customer-marketing.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/devices/asset-activation.controller.ts","backend/src/modules/devices/asset-activation.service.ts","backend/src/modules/diagnosis/diagnosis.controller.ts","backend/src/modules/diagnosis/diagnosis.routes.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/geo-analytics/geo-analytics.controller.ts","backend/src/modules/geo-analytics/geo-analytics.service.ts","backend/src/modules/groupbuy-products/groupbuy-product.controller.ts","backend/src/modules/groupbuy-products/groupbuy-product.routes.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.ts","backend/src/modules/inventory/inventory.service.ts","backend/src/modules/inventory/services/index.ts","backend/src/modules/inventory/services/inventory-warehouse.service.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.routes.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/leads/lead.controller.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/index.ts","backend/src/modules/livestream-analytics/livestream-analytics.controller.ts","backend/src/modules/livestream-analytics/livestream-analytics.routes.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.ts","backend/src/modules/livestream-products/livestream-product.controller.ts","backend/src/modules/livestream-products/livestream-product.routes.ts","backend/src/modules/livestream-products/livestream-product.service.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/controllers/product.controller.ts","backend/src/modules/products/controllers/sku.controller.ts","backend/src/modules/products/product.routes.ts","backend/src/modules/products/routes/sku.routes.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/renewals/renewal.controller.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/reports/report.controller.ts","backend/src/modules/reports/report.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/social-analytics/social-analytics.controller.ts","backend/src/modules/social-analytics/social-analytics.service.ts","frontend/src/api/adapters.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/stores/leads.ts","frontend/src/views/leads/Form.vue","frontend/src/views/opportunities/Pipeline.vue","frontend/src/views/orders/Detail.vue","frontend/src/views/quotes/Detail.vue","frontend/src/views/quotes/Index.vue","shared/src/types/models.ts"]},{"id":"b222af8d439100df34d9a6d61374df924561d451","message":"Update AI agent workflows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/b222af8d439100df34d9a6d61374df924561d451","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T09:06:43+08:00","added":["backend/test-moddle.js","backend/test-moddle2.js","backend/test-moddle3.js","docs/operations/toc-operations-manual.md"],"removed":[],"modified":["backend/package.json","backend/src/main.ts","backend/src/modules/ai-agents/ai-agent-im.schema.ts","backend/src/modules/ai-agents/ai-agent-im.types.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/ai-agent-im.service.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/model-state-manager.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/ai-agents/services/task-heartbeat.service.ts","backend/src/modules/ai-agents/services/workflow-instance.service.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/meddpicc-analyses/meddpicc.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/process-designer/bpmn-converter.test.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.routes.ts","backend/src/modules/process-designer/process-designer.schema.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/targets/target.service.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/process-designer.ts","frontend/src/types/ai-agent.ts","frontend/src/views/ai-agents/IMConversations.vue","frontend/src/views/ai-agents/IMIntegrationSettings.vue","frontend/src/views/ai-agents/IMQueue.vue","frontend/src/views/ai-agents/LeadCollector.vue","frontend/src/views/process-designer/ProcessList.vue","pnpm-lock.yaml","scripts/start-all.sh"]}],"total_commits":0,"head_commit":{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":479330,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-02-27T07:30:11+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1772151010
|
1772151010
|
0
|
1772151010
|
1772151010
|
NULL
|
|
0
|
Edit
Delete
|
|
1041
|
feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获
|
6
|
5
|
health-check.yml
|
1002
|
-2
|
39
|
refs/heads/main
|
68528dce9b8c543283a675374b5a23bc2e46c935
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","after":"68528dce9b8c543283a675374b5a23bc2e46c935","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72...68528dce9b8c543283a675374b5a23bc2e46c935","commits":[{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},{"id":"5bf60bf54c42c8295b8e5595fba959e0821ceb85","message":"Fix TypeScript any violations in duo\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5bf60bf54c42c8295b8e5595fba959e0821ceb85","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T02:07:18+08:00","added":[],"removed":[],"modified":["backend/src/modules/contracts/contract.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/finance/finance-costing.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/leads/lead.schema.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/services/base.service.ts","backend/src/shared/utils/crud.ts","frontend/src/api/index.ts","frontend/src/components/responsive/ResponsiveStats.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/knowledge-feedback/Index.vue"]},{"id":"169dc0ba22faf4ef27cd1d3c55114437b7855f23","message":"Replace any types in shared models\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/169dc0ba22faf4ef27cd1d3c55114437b7855f23","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T01:21:28+08:00","added":[".pnpm-type-check-output10.txt",".pnpm-type-check-output11.txt",".pnpm-type-check-output12.txt",".pnpm-type-check-output13.txt",".pnpm-type-check-output14.txt",".pnpm-type-check-output15.txt",".pnpm-type-check-output16.txt",".pnpm-type-check-output17.txt",".pnpm-type-check-output18.txt",".pnpm-type-check-output19.txt",".pnpm-type-check-output2.txt",".pnpm-type-check-output20.txt",".pnpm-type-check-output21.txt",".pnpm-type-check-output22.txt",".pnpm-type-check-output23.txt",".pnpm-type-check-output24.txt",".pnpm-type-check-output25.txt",".pnpm-type-check-output26.txt",".pnpm-type-check-output27.txt",".pnpm-type-check-output28.txt",".pnpm-type-check-output29.txt",".pnpm-type-check-output3.txt",".pnpm-type-check-output30.txt",".pnpm-type-check-output31.txt",".pnpm-type-check-output32.txt",".pnpm-type-check-output33.txt",".pnpm-type-check-output34.txt",".pnpm-type-check-output35.txt",".pnpm-type-check-output36.txt",".pnpm-type-check-output37.txt",".pnpm-type-check-output38.txt",".pnpm-type-check-output39.txt",".pnpm-type-check-output4.txt",".pnpm-type-check-output40.txt",".pnpm-type-check-output41.txt",".pnpm-type-check-output42.txt",".pnpm-type-check-output43.txt",".pnpm-type-check-output5.txt",".pnpm-type-check-output6.txt",".pnpm-type-check-output7.txt",".pnpm-type-check-output8.txt",".pnpm-type-check-output9.txt"],"removed":[],"modified":["backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/stage-knowledge/stage-knowledge.service.ts","backend/src/modules/supply-chain/supply-chain-platform.service.ts","backend/src/modules/system-events/system-event.service.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/components/business/LeadScoreCard.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/RecentActivities.vue","frontend/src/views/finance-os/cash/CashControlTower.vue","frontend/src/views/finance/MarketingReconciliation.vue","frontend/src/views/lead-scoring/Form.vue","frontend/src/views/leads/Assignment.vue","frontend/src/views/leads/ScoringRules.vue","frontend/src/views/quotes/Editor.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/src/views/settings/Index.vue","frontend/src/views/supplier-management/Contracts.vue","frontend/src/views/tickets/components/gantt/GanttToolbar.vue","frontend/src/views/tickets/components/gantt/TicketGanttChart.vue","frontend/src/views/tickets/components/gantt/composables/useGanttData.ts","shared/src/types/models.ts"]},{"id":"ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","message":"Fix shared model any usage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T22:54:25+08:00","added":[".gemini/policies/dev.toml",".pnpm-type-check-output.txt","backend/scripts/generate-route-inventory.ts","backend/src/modules/dashboard/omni-roi.service.ts","backend/src/modules/finance/reconciliation.controller.ts","backend/src/modules/finance/reconciliation.service.ts","backend/test-bpmn-moddle.js","backend/test-bpmn.mjs","backend/tests/business-flow.test.ts","docs/archive/sprint-stabilization-202602/GAP_MATRIX_20260206.md","docs/archive/sprint-stabilization-202602/route-contract-execution-checklist-v4-by-owner-detail.md","docs/audits/api-route-contract-audit.latest.md","docs/audits/event-publishing-audit.latest.md","docs/audits/route-registration-audit.latest.md","docs/audits/state-machine-integration-audit.latest.md","frontend/src/views/dashboard/OmniRoiDashboard.vue","frontend/src/views/finance/MarketingReconciliation.vue","scripts/db-performance-optimization.sql","scripts/gatekeeper.sh"],"removed":["reports/GAP_MATRIX_20260206.md","reports/route-contract-execution-checklist-v4-by-owner-detail.md"],"modified":["AGENTS.md","DEPLOY.md","GEMINI.md","backend/scripts/audit-baseline-gate.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/channels/index.ts","backend/src/modules/community-fission/community-fission.controller.ts","backend/src/modules/community-fission/community-fission.service.ts","backend/src/modules/content-distribution/content-distribution.controller.ts","backend/src/modules/content-distribution/content-distribution.service.ts","backend/src/modules/content-review/content-review.controller.ts","backend/src/modules/content-review/content-review.service.ts","backend/src/modules/customer-marketing/customer-marketing.controller.ts","backend/src/modules/customer-marketing/customer-marketing.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/devices/asset-activation.controller.ts","backend/src/modules/devices/asset-activation.service.ts","backend/src/modules/diagnosis/diagnosis.controller.ts","backend/src/modules/diagnosis/diagnosis.routes.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/geo-analytics/geo-analytics.controller.ts","backend/src/modules/geo-analytics/geo-analytics.service.ts","backend/src/modules/groupbuy-products/groupbuy-product.controller.ts","backend/src/modules/groupbuy-products/groupbuy-product.routes.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.ts","backend/src/modules/inventory/inventory.service.ts","backend/src/modules/inventory/services/index.ts","backend/src/modules/inventory/services/inventory-warehouse.service.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.routes.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/leads/lead.controller.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/index.ts","backend/src/modules/livestream-analytics/livestream-analytics.controller.ts","backend/src/modules/livestream-analytics/livestream-analytics.routes.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.ts","backend/src/modules/livestream-products/livestream-product.controller.ts","backend/src/modules/livestream-products/livestream-product.routes.ts","backend/src/modules/livestream-products/livestream-product.service.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/controllers/product.controller.ts","backend/src/modules/products/controllers/sku.controller.ts","backend/src/modules/products/product.routes.ts","backend/src/modules/products/routes/sku.routes.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/renewals/renewal.controller.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/reports/report.controller.ts","backend/src/modules/reports/report.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/social-analytics/social-analytics.controller.ts","backend/src/modules/social-analytics/social-analytics.service.ts","frontend/src/api/adapters.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/stores/leads.ts","frontend/src/views/leads/Form.vue","frontend/src/views/opportunities/Pipeline.vue","frontend/src/views/orders/Detail.vue","frontend/src/views/quotes/Detail.vue","frontend/src/views/quotes/Index.vue","shared/src/types/models.ts"]},{"id":"b222af8d439100df34d9a6d61374df924561d451","message":"Update AI agent workflows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/b222af8d439100df34d9a6d61374df924561d451","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T09:06:43+08:00","added":["backend/test-moddle.js","backend/test-moddle2.js","backend/test-moddle3.js","docs/operations/toc-operations-manual.md"],"removed":[],"modified":["backend/package.json","backend/src/main.ts","backend/src/modules/ai-agents/ai-agent-im.schema.ts","backend/src/modules/ai-agents/ai-agent-im.types.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/ai-agent-im.service.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/model-state-manager.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/ai-agents/services/task-heartbeat.service.ts","backend/src/modules/ai-agents/services/workflow-instance.service.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/meddpicc-analyses/meddpicc.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/process-designer/bpmn-converter.test.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.routes.ts","backend/src/modules/process-designer/process-designer.schema.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/targets/target.service.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/process-designer.ts","frontend/src/types/ai-agent.ts","frontend/src/views/ai-agents/IMConversations.vue","frontend/src/views/ai-agents/IMIntegrationSettings.vue","frontend/src/views/ai-agents/IMQueue.vue","frontend/src/views/ai-agents/LeadCollector.vue","frontend/src/views/process-designer/ProcessList.vue","pnpm-lock.yaml","scripts/start-all.sh"]}],"total_commits":0,"head_commit":{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":479330,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-02-27T07:30:11+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1772151310
|
1772151310
|
0
|
1772151310
|
1772151310
|
NULL
|
|
0
|
Edit
Delete
|
|
1042
|
feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获
|
6
|
5
|
health-check.yml
|
1003
|
-2
|
39
|
refs/heads/main
|
68528dce9b8c543283a675374b5a23bc2e46c935
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","after":"68528dce9b8c543283a675374b5a23bc2e46c935","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72...68528dce9b8c543283a675374b5a23bc2e46c935","commits":[{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},{"id":"5bf60bf54c42c8295b8e5595fba959e0821ceb85","message":"Fix TypeScript any violations in duo\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5bf60bf54c42c8295b8e5595fba959e0821ceb85","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T02:07:18+08:00","added":[],"removed":[],"modified":["backend/src/modules/contracts/contract.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/finance/finance-costing.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/leads/lead.schema.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/services/base.service.ts","backend/src/shared/utils/crud.ts","frontend/src/api/index.ts","frontend/src/components/responsive/ResponsiveStats.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/knowledge-feedback/Index.vue"]},{"id":"169dc0ba22faf4ef27cd1d3c55114437b7855f23","message":"Replace any types in shared models\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/169dc0ba22faf4ef27cd1d3c55114437b7855f23","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T01:21:28+08:00","added":[".pnpm-type-check-output10.txt",".pnpm-type-check-output11.txt",".pnpm-type-check-output12.txt",".pnpm-type-check-output13.txt",".pnpm-type-check-output14.txt",".pnpm-type-check-output15.txt",".pnpm-type-check-output16.txt",".pnpm-type-check-output17.txt",".pnpm-type-check-output18.txt",".pnpm-type-check-output19.txt",".pnpm-type-check-output2.txt",".pnpm-type-check-output20.txt",".pnpm-type-check-output21.txt",".pnpm-type-check-output22.txt",".pnpm-type-check-output23.txt",".pnpm-type-check-output24.txt",".pnpm-type-check-output25.txt",".pnpm-type-check-output26.txt",".pnpm-type-check-output27.txt",".pnpm-type-check-output28.txt",".pnpm-type-check-output29.txt",".pnpm-type-check-output3.txt",".pnpm-type-check-output30.txt",".pnpm-type-check-output31.txt",".pnpm-type-check-output32.txt",".pnpm-type-check-output33.txt",".pnpm-type-check-output34.txt",".pnpm-type-check-output35.txt",".pnpm-type-check-output36.txt",".pnpm-type-check-output37.txt",".pnpm-type-check-output38.txt",".pnpm-type-check-output39.txt",".pnpm-type-check-output4.txt",".pnpm-type-check-output40.txt",".pnpm-type-check-output41.txt",".pnpm-type-check-output42.txt",".pnpm-type-check-output43.txt",".pnpm-type-check-output5.txt",".pnpm-type-check-output6.txt",".pnpm-type-check-output7.txt",".pnpm-type-check-output8.txt",".pnpm-type-check-output9.txt"],"removed":[],"modified":["backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/stage-knowledge/stage-knowledge.service.ts","backend/src/modules/supply-chain/supply-chain-platform.service.ts","backend/src/modules/system-events/system-event.service.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/components/business/LeadScoreCard.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/RecentActivities.vue","frontend/src/views/finance-os/cash/CashControlTower.vue","frontend/src/views/finance/MarketingReconciliation.vue","frontend/src/views/lead-scoring/Form.vue","frontend/src/views/leads/Assignment.vue","frontend/src/views/leads/ScoringRules.vue","frontend/src/views/quotes/Editor.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/src/views/settings/Index.vue","frontend/src/views/supplier-management/Contracts.vue","frontend/src/views/tickets/components/gantt/GanttToolbar.vue","frontend/src/views/tickets/components/gantt/TicketGanttChart.vue","frontend/src/views/tickets/components/gantt/composables/useGanttData.ts","shared/src/types/models.ts"]},{"id":"ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","message":"Fix shared model any usage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T22:54:25+08:00","added":[".gemini/policies/dev.toml",".pnpm-type-check-output.txt","backend/scripts/generate-route-inventory.ts","backend/src/modules/dashboard/omni-roi.service.ts","backend/src/modules/finance/reconciliation.controller.ts","backend/src/modules/finance/reconciliation.service.ts","backend/test-bpmn-moddle.js","backend/test-bpmn.mjs","backend/tests/business-flow.test.ts","docs/archive/sprint-stabilization-202602/GAP_MATRIX_20260206.md","docs/archive/sprint-stabilization-202602/route-contract-execution-checklist-v4-by-owner-detail.md","docs/audits/api-route-contract-audit.latest.md","docs/audits/event-publishing-audit.latest.md","docs/audits/route-registration-audit.latest.md","docs/audits/state-machine-integration-audit.latest.md","frontend/src/views/dashboard/OmniRoiDashboard.vue","frontend/src/views/finance/MarketingReconciliation.vue","scripts/db-performance-optimization.sql","scripts/gatekeeper.sh"],"removed":["reports/GAP_MATRIX_20260206.md","reports/route-contract-execution-checklist-v4-by-owner-detail.md"],"modified":["AGENTS.md","DEPLOY.md","GEMINI.md","backend/scripts/audit-baseline-gate.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/channels/index.ts","backend/src/modules/community-fission/community-fission.controller.ts","backend/src/modules/community-fission/community-fission.service.ts","backend/src/modules/content-distribution/content-distribution.controller.ts","backend/src/modules/content-distribution/content-distribution.service.ts","backend/src/modules/content-review/content-review.controller.ts","backend/src/modules/content-review/content-review.service.ts","backend/src/modules/customer-marketing/customer-marketing.controller.ts","backend/src/modules/customer-marketing/customer-marketing.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/devices/asset-activation.controller.ts","backend/src/modules/devices/asset-activation.service.ts","backend/src/modules/diagnosis/diagnosis.controller.ts","backend/src/modules/diagnosis/diagnosis.routes.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/geo-analytics/geo-analytics.controller.ts","backend/src/modules/geo-analytics/geo-analytics.service.ts","backend/src/modules/groupbuy-products/groupbuy-product.controller.ts","backend/src/modules/groupbuy-products/groupbuy-product.routes.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.ts","backend/src/modules/inventory/inventory.service.ts","backend/src/modules/inventory/services/index.ts","backend/src/modules/inventory/services/inventory-warehouse.service.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.routes.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/leads/lead.controller.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/index.ts","backend/src/modules/livestream-analytics/livestream-analytics.controller.ts","backend/src/modules/livestream-analytics/livestream-analytics.routes.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.ts","backend/src/modules/livestream-products/livestream-product.controller.ts","backend/src/modules/livestream-products/livestream-product.routes.ts","backend/src/modules/livestream-products/livestream-product.service.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/controllers/product.controller.ts","backend/src/modules/products/controllers/sku.controller.ts","backend/src/modules/products/product.routes.ts","backend/src/modules/products/routes/sku.routes.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/renewals/renewal.controller.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/reports/report.controller.ts","backend/src/modules/reports/report.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/social-analytics/social-analytics.controller.ts","backend/src/modules/social-analytics/social-analytics.service.ts","frontend/src/api/adapters.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/stores/leads.ts","frontend/src/views/leads/Form.vue","frontend/src/views/opportunities/Pipeline.vue","frontend/src/views/orders/Detail.vue","frontend/src/views/quotes/Detail.vue","frontend/src/views/quotes/Index.vue","shared/src/types/models.ts"]},{"id":"b222af8d439100df34d9a6d61374df924561d451","message":"Update AI agent workflows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/b222af8d439100df34d9a6d61374df924561d451","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T09:06:43+08:00","added":["backend/test-moddle.js","backend/test-moddle2.js","backend/test-moddle3.js","docs/operations/toc-operations-manual.md"],"removed":[],"modified":["backend/package.json","backend/src/main.ts","backend/src/modules/ai-agents/ai-agent-im.schema.ts","backend/src/modules/ai-agents/ai-agent-im.types.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/ai-agent-im.service.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/model-state-manager.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/ai-agents/services/task-heartbeat.service.ts","backend/src/modules/ai-agents/services/workflow-instance.service.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/meddpicc-analyses/meddpicc.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/process-designer/bpmn-converter.test.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.routes.ts","backend/src/modules/process-designer/process-designer.schema.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/targets/target.service.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/process-designer.ts","frontend/src/types/ai-agent.ts","frontend/src/views/ai-agents/IMConversations.vue","frontend/src/views/ai-agents/IMIntegrationSettings.vue","frontend/src/views/ai-agents/IMQueue.vue","frontend/src/views/ai-agents/LeadCollector.vue","frontend/src/views/process-designer/ProcessList.vue","pnpm-lock.yaml","scripts/start-all.sh"]}],"total_commits":0,"head_commit":{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":479330,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-02-27T07:30:11+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1772151610
|
1772151610
|
0
|
1772151610
|
1772151610
|
NULL
|
|
0
|
Edit
Delete
|
|
1043
|
feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获
|
6
|
5
|
health-check.yml
|
1004
|
-2
|
39
|
refs/heads/main
|
68528dce9b8c543283a675374b5a23bc2e46c935
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","after":"68528dce9b8c543283a675374b5a23bc2e46c935","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72...68528dce9b8c543283a675374b5a23bc2e46c935","commits":[{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},{"id":"5bf60bf54c42c8295b8e5595fba959e0821ceb85","message":"Fix TypeScript any violations in duo\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5bf60bf54c42c8295b8e5595fba959e0821ceb85","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T02:07:18+08:00","added":[],"removed":[],"modified":["backend/src/modules/contracts/contract.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/finance/finance-costing.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/leads/lead.schema.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/services/base.service.ts","backend/src/shared/utils/crud.ts","frontend/src/api/index.ts","frontend/src/components/responsive/ResponsiveStats.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/knowledge-feedback/Index.vue"]},{"id":"169dc0ba22faf4ef27cd1d3c55114437b7855f23","message":"Replace any types in shared models\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/169dc0ba22faf4ef27cd1d3c55114437b7855f23","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T01:21:28+08:00","added":[".pnpm-type-check-output10.txt",".pnpm-type-check-output11.txt",".pnpm-type-check-output12.txt",".pnpm-type-check-output13.txt",".pnpm-type-check-output14.txt",".pnpm-type-check-output15.txt",".pnpm-type-check-output16.txt",".pnpm-type-check-output17.txt",".pnpm-type-check-output18.txt",".pnpm-type-check-output19.txt",".pnpm-type-check-output2.txt",".pnpm-type-check-output20.txt",".pnpm-type-check-output21.txt",".pnpm-type-check-output22.txt",".pnpm-type-check-output23.txt",".pnpm-type-check-output24.txt",".pnpm-type-check-output25.txt",".pnpm-type-check-output26.txt",".pnpm-type-check-output27.txt",".pnpm-type-check-output28.txt",".pnpm-type-check-output29.txt",".pnpm-type-check-output3.txt",".pnpm-type-check-output30.txt",".pnpm-type-check-output31.txt",".pnpm-type-check-output32.txt",".pnpm-type-check-output33.txt",".pnpm-type-check-output34.txt",".pnpm-type-check-output35.txt",".pnpm-type-check-output36.txt",".pnpm-type-check-output37.txt",".pnpm-type-check-output38.txt",".pnpm-type-check-output39.txt",".pnpm-type-check-output4.txt",".pnpm-type-check-output40.txt",".pnpm-type-check-output41.txt",".pnpm-type-check-output42.txt",".pnpm-type-check-output43.txt",".pnpm-type-check-output5.txt",".pnpm-type-check-output6.txt",".pnpm-type-check-output7.txt",".pnpm-type-check-output8.txt",".pnpm-type-check-output9.txt"],"removed":[],"modified":["backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/stage-knowledge/stage-knowledge.service.ts","backend/src/modules/supply-chain/supply-chain-platform.service.ts","backend/src/modules/system-events/system-event.service.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/components/business/LeadScoreCard.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/RecentActivities.vue","frontend/src/views/finance-os/cash/CashControlTower.vue","frontend/src/views/finance/MarketingReconciliation.vue","frontend/src/views/lead-scoring/Form.vue","frontend/src/views/leads/Assignment.vue","frontend/src/views/leads/ScoringRules.vue","frontend/src/views/quotes/Editor.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/src/views/settings/Index.vue","frontend/src/views/supplier-management/Contracts.vue","frontend/src/views/tickets/components/gantt/GanttToolbar.vue","frontend/src/views/tickets/components/gantt/TicketGanttChart.vue","frontend/src/views/tickets/components/gantt/composables/useGanttData.ts","shared/src/types/models.ts"]},{"id":"ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","message":"Fix shared model any usage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T22:54:25+08:00","added":[".gemini/policies/dev.toml",".pnpm-type-check-output.txt","backend/scripts/generate-route-inventory.ts","backend/src/modules/dashboard/omni-roi.service.ts","backend/src/modules/finance/reconciliation.controller.ts","backend/src/modules/finance/reconciliation.service.ts","backend/test-bpmn-moddle.js","backend/test-bpmn.mjs","backend/tests/business-flow.test.ts","docs/archive/sprint-stabilization-202602/GAP_MATRIX_20260206.md","docs/archive/sprint-stabilization-202602/route-contract-execution-checklist-v4-by-owner-detail.md","docs/audits/api-route-contract-audit.latest.md","docs/audits/event-publishing-audit.latest.md","docs/audits/route-registration-audit.latest.md","docs/audits/state-machine-integration-audit.latest.md","frontend/src/views/dashboard/OmniRoiDashboard.vue","frontend/src/views/finance/MarketingReconciliation.vue","scripts/db-performance-optimization.sql","scripts/gatekeeper.sh"],"removed":["reports/GAP_MATRIX_20260206.md","reports/route-contract-execution-checklist-v4-by-owner-detail.md"],"modified":["AGENTS.md","DEPLOY.md","GEMINI.md","backend/scripts/audit-baseline-gate.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/channels/index.ts","backend/src/modules/community-fission/community-fission.controller.ts","backend/src/modules/community-fission/community-fission.service.ts","backend/src/modules/content-distribution/content-distribution.controller.ts","backend/src/modules/content-distribution/content-distribution.service.ts","backend/src/modules/content-review/content-review.controller.ts","backend/src/modules/content-review/content-review.service.ts","backend/src/modules/customer-marketing/customer-marketing.controller.ts","backend/src/modules/customer-marketing/customer-marketing.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/devices/asset-activation.controller.ts","backend/src/modules/devices/asset-activation.service.ts","backend/src/modules/diagnosis/diagnosis.controller.ts","backend/src/modules/diagnosis/diagnosis.routes.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/geo-analytics/geo-analytics.controller.ts","backend/src/modules/geo-analytics/geo-analytics.service.ts","backend/src/modules/groupbuy-products/groupbuy-product.controller.ts","backend/src/modules/groupbuy-products/groupbuy-product.routes.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.ts","backend/src/modules/inventory/inventory.service.ts","backend/src/modules/inventory/services/index.ts","backend/src/modules/inventory/services/inventory-warehouse.service.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.routes.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/leads/lead.controller.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/index.ts","backend/src/modules/livestream-analytics/livestream-analytics.controller.ts","backend/src/modules/livestream-analytics/livestream-analytics.routes.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.ts","backend/src/modules/livestream-products/livestream-product.controller.ts","backend/src/modules/livestream-products/livestream-product.routes.ts","backend/src/modules/livestream-products/livestream-product.service.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/controllers/product.controller.ts","backend/src/modules/products/controllers/sku.controller.ts","backend/src/modules/products/product.routes.ts","backend/src/modules/products/routes/sku.routes.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/renewals/renewal.controller.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/reports/report.controller.ts","backend/src/modules/reports/report.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/social-analytics/social-analytics.controller.ts","backend/src/modules/social-analytics/social-analytics.service.ts","frontend/src/api/adapters.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/stores/leads.ts","frontend/src/views/leads/Form.vue","frontend/src/views/opportunities/Pipeline.vue","frontend/src/views/orders/Detail.vue","frontend/src/views/quotes/Detail.vue","frontend/src/views/quotes/Index.vue","shared/src/types/models.ts"]},{"id":"b222af8d439100df34d9a6d61374df924561d451","message":"Update AI agent workflows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/b222af8d439100df34d9a6d61374df924561d451","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T09:06:43+08:00","added":["backend/test-moddle.js","backend/test-moddle2.js","backend/test-moddle3.js","docs/operations/toc-operations-manual.md"],"removed":[],"modified":["backend/package.json","backend/src/main.ts","backend/src/modules/ai-agents/ai-agent-im.schema.ts","backend/src/modules/ai-agents/ai-agent-im.types.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/ai-agent-im.service.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/model-state-manager.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/ai-agents/services/task-heartbeat.service.ts","backend/src/modules/ai-agents/services/workflow-instance.service.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/meddpicc-analyses/meddpicc.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/process-designer/bpmn-converter.test.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.routes.ts","backend/src/modules/process-designer/process-designer.schema.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/targets/target.service.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/process-designer.ts","frontend/src/types/ai-agent.ts","frontend/src/views/ai-agents/IMConversations.vue","frontend/src/views/ai-agents/IMIntegrationSettings.vue","frontend/src/views/ai-agents/IMQueue.vue","frontend/src/views/ai-agents/LeadCollector.vue","frontend/src/views/process-designer/ProcessList.vue","pnpm-lock.yaml","scripts/start-all.sh"]}],"total_commits":0,"head_commit":{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":479330,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-02-27T07:30:11+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1772151910
|
1772151910
|
0
|
1772151910
|
1772151910
|
NULL
|
|
0
|
Edit
Delete
|
|
1044
|
feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获
|
6
|
5
|
health-check.yml
|
1005
|
-2
|
39
|
refs/heads/main
|
68528dce9b8c543283a675374b5a23bc2e46c935
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","after":"68528dce9b8c543283a675374b5a23bc2e46c935","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72...68528dce9b8c543283a675374b5a23bc2e46c935","commits":[{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},{"id":"5bf60bf54c42c8295b8e5595fba959e0821ceb85","message":"Fix TypeScript any violations in duo\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5bf60bf54c42c8295b8e5595fba959e0821ceb85","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T02:07:18+08:00","added":[],"removed":[],"modified":["backend/src/modules/contracts/contract.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/finance/finance-costing.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/leads/lead.schema.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/services/base.service.ts","backend/src/shared/utils/crud.ts","frontend/src/api/index.ts","frontend/src/components/responsive/ResponsiveStats.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/knowledge-feedback/Index.vue"]},{"id":"169dc0ba22faf4ef27cd1d3c55114437b7855f23","message":"Replace any types in shared models\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/169dc0ba22faf4ef27cd1d3c55114437b7855f23","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T01:21:28+08:00","added":[".pnpm-type-check-output10.txt",".pnpm-type-check-output11.txt",".pnpm-type-check-output12.txt",".pnpm-type-check-output13.txt",".pnpm-type-check-output14.txt",".pnpm-type-check-output15.txt",".pnpm-type-check-output16.txt",".pnpm-type-check-output17.txt",".pnpm-type-check-output18.txt",".pnpm-type-check-output19.txt",".pnpm-type-check-output2.txt",".pnpm-type-check-output20.txt",".pnpm-type-check-output21.txt",".pnpm-type-check-output22.txt",".pnpm-type-check-output23.txt",".pnpm-type-check-output24.txt",".pnpm-type-check-output25.txt",".pnpm-type-check-output26.txt",".pnpm-type-check-output27.txt",".pnpm-type-check-output28.txt",".pnpm-type-check-output29.txt",".pnpm-type-check-output3.txt",".pnpm-type-check-output30.txt",".pnpm-type-check-output31.txt",".pnpm-type-check-output32.txt",".pnpm-type-check-output33.txt",".pnpm-type-check-output34.txt",".pnpm-type-check-output35.txt",".pnpm-type-check-output36.txt",".pnpm-type-check-output37.txt",".pnpm-type-check-output38.txt",".pnpm-type-check-output39.txt",".pnpm-type-check-output4.txt",".pnpm-type-check-output40.txt",".pnpm-type-check-output41.txt",".pnpm-type-check-output42.txt",".pnpm-type-check-output43.txt",".pnpm-type-check-output5.txt",".pnpm-type-check-output6.txt",".pnpm-type-check-output7.txt",".pnpm-type-check-output8.txt",".pnpm-type-check-output9.txt"],"removed":[],"modified":["backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/stage-knowledge/stage-knowledge.service.ts","backend/src/modules/supply-chain/supply-chain-platform.service.ts","backend/src/modules/system-events/system-event.service.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/components/business/LeadScoreCard.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/RecentActivities.vue","frontend/src/views/finance-os/cash/CashControlTower.vue","frontend/src/views/finance/MarketingReconciliation.vue","frontend/src/views/lead-scoring/Form.vue","frontend/src/views/leads/Assignment.vue","frontend/src/views/leads/ScoringRules.vue","frontend/src/views/quotes/Editor.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/src/views/settings/Index.vue","frontend/src/views/supplier-management/Contracts.vue","frontend/src/views/tickets/components/gantt/GanttToolbar.vue","frontend/src/views/tickets/components/gantt/TicketGanttChart.vue","frontend/src/views/tickets/components/gantt/composables/useGanttData.ts","shared/src/types/models.ts"]},{"id":"ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","message":"Fix shared model any usage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T22:54:25+08:00","added":[".gemini/policies/dev.toml",".pnpm-type-check-output.txt","backend/scripts/generate-route-inventory.ts","backend/src/modules/dashboard/omni-roi.service.ts","backend/src/modules/finance/reconciliation.controller.ts","backend/src/modules/finance/reconciliation.service.ts","backend/test-bpmn-moddle.js","backend/test-bpmn.mjs","backend/tests/business-flow.test.ts","docs/archive/sprint-stabilization-202602/GAP_MATRIX_20260206.md","docs/archive/sprint-stabilization-202602/route-contract-execution-checklist-v4-by-owner-detail.md","docs/audits/api-route-contract-audit.latest.md","docs/audits/event-publishing-audit.latest.md","docs/audits/route-registration-audit.latest.md","docs/audits/state-machine-integration-audit.latest.md","frontend/src/views/dashboard/OmniRoiDashboard.vue","frontend/src/views/finance/MarketingReconciliation.vue","scripts/db-performance-optimization.sql","scripts/gatekeeper.sh"],"removed":["reports/GAP_MATRIX_20260206.md","reports/route-contract-execution-checklist-v4-by-owner-detail.md"],"modified":["AGENTS.md","DEPLOY.md","GEMINI.md","backend/scripts/audit-baseline-gate.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/channels/index.ts","backend/src/modules/community-fission/community-fission.controller.ts","backend/src/modules/community-fission/community-fission.service.ts","backend/src/modules/content-distribution/content-distribution.controller.ts","backend/src/modules/content-distribution/content-distribution.service.ts","backend/src/modules/content-review/content-review.controller.ts","backend/src/modules/content-review/content-review.service.ts","backend/src/modules/customer-marketing/customer-marketing.controller.ts","backend/src/modules/customer-marketing/customer-marketing.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/devices/asset-activation.controller.ts","backend/src/modules/devices/asset-activation.service.ts","backend/src/modules/diagnosis/diagnosis.controller.ts","backend/src/modules/diagnosis/diagnosis.routes.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/geo-analytics/geo-analytics.controller.ts","backend/src/modules/geo-analytics/geo-analytics.service.ts","backend/src/modules/groupbuy-products/groupbuy-product.controller.ts","backend/src/modules/groupbuy-products/groupbuy-product.routes.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.ts","backend/src/modules/inventory/inventory.service.ts","backend/src/modules/inventory/services/index.ts","backend/src/modules/inventory/services/inventory-warehouse.service.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.routes.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/leads/lead.controller.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/index.ts","backend/src/modules/livestream-analytics/livestream-analytics.controller.ts","backend/src/modules/livestream-analytics/livestream-analytics.routes.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.ts","backend/src/modules/livestream-products/livestream-product.controller.ts","backend/src/modules/livestream-products/livestream-product.routes.ts","backend/src/modules/livestream-products/livestream-product.service.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/controllers/product.controller.ts","backend/src/modules/products/controllers/sku.controller.ts","backend/src/modules/products/product.routes.ts","backend/src/modules/products/routes/sku.routes.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/renewals/renewal.controller.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/reports/report.controller.ts","backend/src/modules/reports/report.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/social-analytics/social-analytics.controller.ts","backend/src/modules/social-analytics/social-analytics.service.ts","frontend/src/api/adapters.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/stores/leads.ts","frontend/src/views/leads/Form.vue","frontend/src/views/opportunities/Pipeline.vue","frontend/src/views/orders/Detail.vue","frontend/src/views/quotes/Detail.vue","frontend/src/views/quotes/Index.vue","shared/src/types/models.ts"]},{"id":"b222af8d439100df34d9a6d61374df924561d451","message":"Update AI agent workflows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/b222af8d439100df34d9a6d61374df924561d451","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T09:06:43+08:00","added":["backend/test-moddle.js","backend/test-moddle2.js","backend/test-moddle3.js","docs/operations/toc-operations-manual.md"],"removed":[],"modified":["backend/package.json","backend/src/main.ts","backend/src/modules/ai-agents/ai-agent-im.schema.ts","backend/src/modules/ai-agents/ai-agent-im.types.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/ai-agent-im.service.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/model-state-manager.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/ai-agents/services/task-heartbeat.service.ts","backend/src/modules/ai-agents/services/workflow-instance.service.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/meddpicc-analyses/meddpicc.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/process-designer/bpmn-converter.test.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.routes.ts","backend/src/modules/process-designer/process-designer.schema.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/targets/target.service.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/process-designer.ts","frontend/src/types/ai-agent.ts","frontend/src/views/ai-agents/IMConversations.vue","frontend/src/views/ai-agents/IMIntegrationSettings.vue","frontend/src/views/ai-agents/IMQueue.vue","frontend/src/views/ai-agents/LeadCollector.vue","frontend/src/views/process-designer/ProcessList.vue","pnpm-lock.yaml","scripts/start-all.sh"]}],"total_commits":0,"head_commit":{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":479330,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-02-27T07:30:11+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1772152210
|
1772152210
|
0
|
1772152210
|
1772152210
|
NULL
|
|
0
|
Edit
Delete
|
|
1045
|
feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获
|
6
|
5
|
health-check.yml
|
1006
|
-2
|
39
|
refs/heads/main
|
68528dce9b8c543283a675374b5a23bc2e46c935
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","after":"68528dce9b8c543283a675374b5a23bc2e46c935","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72...68528dce9b8c543283a675374b5a23bc2e46c935","commits":[{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},{"id":"5bf60bf54c42c8295b8e5595fba959e0821ceb85","message":"Fix TypeScript any violations in duo\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5bf60bf54c42c8295b8e5595fba959e0821ceb85","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T02:07:18+08:00","added":[],"removed":[],"modified":["backend/src/modules/contracts/contract.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/finance/finance-costing.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/leads/lead.schema.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/services/base.service.ts","backend/src/shared/utils/crud.ts","frontend/src/api/index.ts","frontend/src/components/responsive/ResponsiveStats.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/knowledge-feedback/Index.vue"]},{"id":"169dc0ba22faf4ef27cd1d3c55114437b7855f23","message":"Replace any types in shared models\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/169dc0ba22faf4ef27cd1d3c55114437b7855f23","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T01:21:28+08:00","added":[".pnpm-type-check-output10.txt",".pnpm-type-check-output11.txt",".pnpm-type-check-output12.txt",".pnpm-type-check-output13.txt",".pnpm-type-check-output14.txt",".pnpm-type-check-output15.txt",".pnpm-type-check-output16.txt",".pnpm-type-check-output17.txt",".pnpm-type-check-output18.txt",".pnpm-type-check-output19.txt",".pnpm-type-check-output2.txt",".pnpm-type-check-output20.txt",".pnpm-type-check-output21.txt",".pnpm-type-check-output22.txt",".pnpm-type-check-output23.txt",".pnpm-type-check-output24.txt",".pnpm-type-check-output25.txt",".pnpm-type-check-output26.txt",".pnpm-type-check-output27.txt",".pnpm-type-check-output28.txt",".pnpm-type-check-output29.txt",".pnpm-type-check-output3.txt",".pnpm-type-check-output30.txt",".pnpm-type-check-output31.txt",".pnpm-type-check-output32.txt",".pnpm-type-check-output33.txt",".pnpm-type-check-output34.txt",".pnpm-type-check-output35.txt",".pnpm-type-check-output36.txt",".pnpm-type-check-output37.txt",".pnpm-type-check-output38.txt",".pnpm-type-check-output39.txt",".pnpm-type-check-output4.txt",".pnpm-type-check-output40.txt",".pnpm-type-check-output41.txt",".pnpm-type-check-output42.txt",".pnpm-type-check-output43.txt",".pnpm-type-check-output5.txt",".pnpm-type-check-output6.txt",".pnpm-type-check-output7.txt",".pnpm-type-check-output8.txt",".pnpm-type-check-output9.txt"],"removed":[],"modified":["backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/stage-knowledge/stage-knowledge.service.ts","backend/src/modules/supply-chain/supply-chain-platform.service.ts","backend/src/modules/system-events/system-event.service.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/components/business/LeadScoreCard.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/RecentActivities.vue","frontend/src/views/finance-os/cash/CashControlTower.vue","frontend/src/views/finance/MarketingReconciliation.vue","frontend/src/views/lead-scoring/Form.vue","frontend/src/views/leads/Assignment.vue","frontend/src/views/leads/ScoringRules.vue","frontend/src/views/quotes/Editor.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/src/views/settings/Index.vue","frontend/src/views/supplier-management/Contracts.vue","frontend/src/views/tickets/components/gantt/GanttToolbar.vue","frontend/src/views/tickets/components/gantt/TicketGanttChart.vue","frontend/src/views/tickets/components/gantt/composables/useGanttData.ts","shared/src/types/models.ts"]},{"id":"ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","message":"Fix shared model any usage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T22:54:25+08:00","added":[".gemini/policies/dev.toml",".pnpm-type-check-output.txt","backend/scripts/generate-route-inventory.ts","backend/src/modules/dashboard/omni-roi.service.ts","backend/src/modules/finance/reconciliation.controller.ts","backend/src/modules/finance/reconciliation.service.ts","backend/test-bpmn-moddle.js","backend/test-bpmn.mjs","backend/tests/business-flow.test.ts","docs/archive/sprint-stabilization-202602/GAP_MATRIX_20260206.md","docs/archive/sprint-stabilization-202602/route-contract-execution-checklist-v4-by-owner-detail.md","docs/audits/api-route-contract-audit.latest.md","docs/audits/event-publishing-audit.latest.md","docs/audits/route-registration-audit.latest.md","docs/audits/state-machine-integration-audit.latest.md","frontend/src/views/dashboard/OmniRoiDashboard.vue","frontend/src/views/finance/MarketingReconciliation.vue","scripts/db-performance-optimization.sql","scripts/gatekeeper.sh"],"removed":["reports/GAP_MATRIX_20260206.md","reports/route-contract-execution-checklist-v4-by-owner-detail.md"],"modified":["AGENTS.md","DEPLOY.md","GEMINI.md","backend/scripts/audit-baseline-gate.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/channels/index.ts","backend/src/modules/community-fission/community-fission.controller.ts","backend/src/modules/community-fission/community-fission.service.ts","backend/src/modules/content-distribution/content-distribution.controller.ts","backend/src/modules/content-distribution/content-distribution.service.ts","backend/src/modules/content-review/content-review.controller.ts","backend/src/modules/content-review/content-review.service.ts","backend/src/modules/customer-marketing/customer-marketing.controller.ts","backend/src/modules/customer-marketing/customer-marketing.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/devices/asset-activation.controller.ts","backend/src/modules/devices/asset-activation.service.ts","backend/src/modules/diagnosis/diagnosis.controller.ts","backend/src/modules/diagnosis/diagnosis.routes.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/geo-analytics/geo-analytics.controller.ts","backend/src/modules/geo-analytics/geo-analytics.service.ts","backend/src/modules/groupbuy-products/groupbuy-product.controller.ts","backend/src/modules/groupbuy-products/groupbuy-product.routes.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.ts","backend/src/modules/inventory/inventory.service.ts","backend/src/modules/inventory/services/index.ts","backend/src/modules/inventory/services/inventory-warehouse.service.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.routes.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/leads/lead.controller.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/index.ts","backend/src/modules/livestream-analytics/livestream-analytics.controller.ts","backend/src/modules/livestream-analytics/livestream-analytics.routes.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.ts","backend/src/modules/livestream-products/livestream-product.controller.ts","backend/src/modules/livestream-products/livestream-product.routes.ts","backend/src/modules/livestream-products/livestream-product.service.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/controllers/product.controller.ts","backend/src/modules/products/controllers/sku.controller.ts","backend/src/modules/products/product.routes.ts","backend/src/modules/products/routes/sku.routes.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/renewals/renewal.controller.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/reports/report.controller.ts","backend/src/modules/reports/report.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/social-analytics/social-analytics.controller.ts","backend/src/modules/social-analytics/social-analytics.service.ts","frontend/src/api/adapters.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/stores/leads.ts","frontend/src/views/leads/Form.vue","frontend/src/views/opportunities/Pipeline.vue","frontend/src/views/orders/Detail.vue","frontend/src/views/quotes/Detail.vue","frontend/src/views/quotes/Index.vue","shared/src/types/models.ts"]},{"id":"b222af8d439100df34d9a6d61374df924561d451","message":"Update AI agent workflows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/b222af8d439100df34d9a6d61374df924561d451","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T09:06:43+08:00","added":["backend/test-moddle.js","backend/test-moddle2.js","backend/test-moddle3.js","docs/operations/toc-operations-manual.md"],"removed":[],"modified":["backend/package.json","backend/src/main.ts","backend/src/modules/ai-agents/ai-agent-im.schema.ts","backend/src/modules/ai-agents/ai-agent-im.types.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/ai-agent-im.service.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/model-state-manager.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/ai-agents/services/task-heartbeat.service.ts","backend/src/modules/ai-agents/services/workflow-instance.service.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/meddpicc-analyses/meddpicc.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/process-designer/bpmn-converter.test.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.routes.ts","backend/src/modules/process-designer/process-designer.schema.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/targets/target.service.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/process-designer.ts","frontend/src/types/ai-agent.ts","frontend/src/views/ai-agents/IMConversations.vue","frontend/src/views/ai-agents/IMIntegrationSettings.vue","frontend/src/views/ai-agents/IMQueue.vue","frontend/src/views/ai-agents/LeadCollector.vue","frontend/src/views/process-designer/ProcessList.vue","pnpm-lock.yaml","scripts/start-all.sh"]}],"total_commits":0,"head_commit":{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":479330,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-02-27T07:30:11+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1772152510
|
1772152510
|
0
|
1772152510
|
1772152510
|
NULL
|
|
0
|
Edit
Delete
|
|
1046
|
feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获
|
6
|
5
|
health-check.yml
|
1007
|
-2
|
39
|
refs/heads/main
|
68528dce9b8c543283a675374b5a23bc2e46c935
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","after":"68528dce9b8c543283a675374b5a23bc2e46c935","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72...68528dce9b8c543283a675374b5a23bc2e46c935","commits":[{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},{"id":"5bf60bf54c42c8295b8e5595fba959e0821ceb85","message":"Fix TypeScript any violations in duo\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5bf60bf54c42c8295b8e5595fba959e0821ceb85","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T02:07:18+08:00","added":[],"removed":[],"modified":["backend/src/modules/contracts/contract.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/finance/finance-costing.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/leads/lead.schema.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/services/base.service.ts","backend/src/shared/utils/crud.ts","frontend/src/api/index.ts","frontend/src/components/responsive/ResponsiveStats.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/knowledge-feedback/Index.vue"]},{"id":"169dc0ba22faf4ef27cd1d3c55114437b7855f23","message":"Replace any types in shared models\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/169dc0ba22faf4ef27cd1d3c55114437b7855f23","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T01:21:28+08:00","added":[".pnpm-type-check-output10.txt",".pnpm-type-check-output11.txt",".pnpm-type-check-output12.txt",".pnpm-type-check-output13.txt",".pnpm-type-check-output14.txt",".pnpm-type-check-output15.txt",".pnpm-type-check-output16.txt",".pnpm-type-check-output17.txt",".pnpm-type-check-output18.txt",".pnpm-type-check-output19.txt",".pnpm-type-check-output2.txt",".pnpm-type-check-output20.txt",".pnpm-type-check-output21.txt",".pnpm-type-check-output22.txt",".pnpm-type-check-output23.txt",".pnpm-type-check-output24.txt",".pnpm-type-check-output25.txt",".pnpm-type-check-output26.txt",".pnpm-type-check-output27.txt",".pnpm-type-check-output28.txt",".pnpm-type-check-output29.txt",".pnpm-type-check-output3.txt",".pnpm-type-check-output30.txt",".pnpm-type-check-output31.txt",".pnpm-type-check-output32.txt",".pnpm-type-check-output33.txt",".pnpm-type-check-output34.txt",".pnpm-type-check-output35.txt",".pnpm-type-check-output36.txt",".pnpm-type-check-output37.txt",".pnpm-type-check-output38.txt",".pnpm-type-check-output39.txt",".pnpm-type-check-output4.txt",".pnpm-type-check-output40.txt",".pnpm-type-check-output41.txt",".pnpm-type-check-output42.txt",".pnpm-type-check-output43.txt",".pnpm-type-check-output5.txt",".pnpm-type-check-output6.txt",".pnpm-type-check-output7.txt",".pnpm-type-check-output8.txt",".pnpm-type-check-output9.txt"],"removed":[],"modified":["backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/stage-knowledge/stage-knowledge.service.ts","backend/src/modules/supply-chain/supply-chain-platform.service.ts","backend/src/modules/system-events/system-event.service.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/components/business/LeadScoreCard.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/RecentActivities.vue","frontend/src/views/finance-os/cash/CashControlTower.vue","frontend/src/views/finance/MarketingReconciliation.vue","frontend/src/views/lead-scoring/Form.vue","frontend/src/views/leads/Assignment.vue","frontend/src/views/leads/ScoringRules.vue","frontend/src/views/quotes/Editor.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/src/views/settings/Index.vue","frontend/src/views/supplier-management/Contracts.vue","frontend/src/views/tickets/components/gantt/GanttToolbar.vue","frontend/src/views/tickets/components/gantt/TicketGanttChart.vue","frontend/src/views/tickets/components/gantt/composables/useGanttData.ts","shared/src/types/models.ts"]},{"id":"ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","message":"Fix shared model any usage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T22:54:25+08:00","added":[".gemini/policies/dev.toml",".pnpm-type-check-output.txt","backend/scripts/generate-route-inventory.ts","backend/src/modules/dashboard/omni-roi.service.ts","backend/src/modules/finance/reconciliation.controller.ts","backend/src/modules/finance/reconciliation.service.ts","backend/test-bpmn-moddle.js","backend/test-bpmn.mjs","backend/tests/business-flow.test.ts","docs/archive/sprint-stabilization-202602/GAP_MATRIX_20260206.md","docs/archive/sprint-stabilization-202602/route-contract-execution-checklist-v4-by-owner-detail.md","docs/audits/api-route-contract-audit.latest.md","docs/audits/event-publishing-audit.latest.md","docs/audits/route-registration-audit.latest.md","docs/audits/state-machine-integration-audit.latest.md","frontend/src/views/dashboard/OmniRoiDashboard.vue","frontend/src/views/finance/MarketingReconciliation.vue","scripts/db-performance-optimization.sql","scripts/gatekeeper.sh"],"removed":["reports/GAP_MATRIX_20260206.md","reports/route-contract-execution-checklist-v4-by-owner-detail.md"],"modified":["AGENTS.md","DEPLOY.md","GEMINI.md","backend/scripts/audit-baseline-gate.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/channels/index.ts","backend/src/modules/community-fission/community-fission.controller.ts","backend/src/modules/community-fission/community-fission.service.ts","backend/src/modules/content-distribution/content-distribution.controller.ts","backend/src/modules/content-distribution/content-distribution.service.ts","backend/src/modules/content-review/content-review.controller.ts","backend/src/modules/content-review/content-review.service.ts","backend/src/modules/customer-marketing/customer-marketing.controller.ts","backend/src/modules/customer-marketing/customer-marketing.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/devices/asset-activation.controller.ts","backend/src/modules/devices/asset-activation.service.ts","backend/src/modules/diagnosis/diagnosis.controller.ts","backend/src/modules/diagnosis/diagnosis.routes.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/geo-analytics/geo-analytics.controller.ts","backend/src/modules/geo-analytics/geo-analytics.service.ts","backend/src/modules/groupbuy-products/groupbuy-product.controller.ts","backend/src/modules/groupbuy-products/groupbuy-product.routes.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.ts","backend/src/modules/inventory/inventory.service.ts","backend/src/modules/inventory/services/index.ts","backend/src/modules/inventory/services/inventory-warehouse.service.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.routes.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/leads/lead.controller.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/index.ts","backend/src/modules/livestream-analytics/livestream-analytics.controller.ts","backend/src/modules/livestream-analytics/livestream-analytics.routes.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.ts","backend/src/modules/livestream-products/livestream-product.controller.ts","backend/src/modules/livestream-products/livestream-product.routes.ts","backend/src/modules/livestream-products/livestream-product.service.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/controllers/product.controller.ts","backend/src/modules/products/controllers/sku.controller.ts","backend/src/modules/products/product.routes.ts","backend/src/modules/products/routes/sku.routes.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/renewals/renewal.controller.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/reports/report.controller.ts","backend/src/modules/reports/report.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/social-analytics/social-analytics.controller.ts","backend/src/modules/social-analytics/social-analytics.service.ts","frontend/src/api/adapters.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/stores/leads.ts","frontend/src/views/leads/Form.vue","frontend/src/views/opportunities/Pipeline.vue","frontend/src/views/orders/Detail.vue","frontend/src/views/quotes/Detail.vue","frontend/src/views/quotes/Index.vue","shared/src/types/models.ts"]},{"id":"b222af8d439100df34d9a6d61374df924561d451","message":"Update AI agent workflows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/b222af8d439100df34d9a6d61374df924561d451","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T09:06:43+08:00","added":["backend/test-moddle.js","backend/test-moddle2.js","backend/test-moddle3.js","docs/operations/toc-operations-manual.md"],"removed":[],"modified":["backend/package.json","backend/src/main.ts","backend/src/modules/ai-agents/ai-agent-im.schema.ts","backend/src/modules/ai-agents/ai-agent-im.types.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/ai-agent-im.service.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/model-state-manager.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/ai-agents/services/task-heartbeat.service.ts","backend/src/modules/ai-agents/services/workflow-instance.service.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/meddpicc-analyses/meddpicc.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/process-designer/bpmn-converter.test.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.routes.ts","backend/src/modules/process-designer/process-designer.schema.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/targets/target.service.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/process-designer.ts","frontend/src/types/ai-agent.ts","frontend/src/views/ai-agents/IMConversations.vue","frontend/src/views/ai-agents/IMIntegrationSettings.vue","frontend/src/views/ai-agents/IMQueue.vue","frontend/src/views/ai-agents/LeadCollector.vue","frontend/src/views/process-designer/ProcessList.vue","pnpm-lock.yaml","scripts/start-all.sh"]}],"total_commits":0,"head_commit":{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":479330,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-02-27T07:30:11+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1772152810
|
1772152810
|
0
|
1772152810
|
1772152810
|
NULL
|
|
0
|
Edit
Delete
|
|
1047
|
feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获
|
6
|
5
|
health-check.yml
|
1008
|
-2
|
39
|
refs/heads/main
|
68528dce9b8c543283a675374b5a23bc2e46c935
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","after":"68528dce9b8c543283a675374b5a23bc2e46c935","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72...68528dce9b8c543283a675374b5a23bc2e46c935","commits":[{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},{"id":"5bf60bf54c42c8295b8e5595fba959e0821ceb85","message":"Fix TypeScript any violations in duo\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5bf60bf54c42c8295b8e5595fba959e0821ceb85","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T02:07:18+08:00","added":[],"removed":[],"modified":["backend/src/modules/contracts/contract.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/finance/finance-costing.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/leads/lead.schema.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/services/base.service.ts","backend/src/shared/utils/crud.ts","frontend/src/api/index.ts","frontend/src/components/responsive/ResponsiveStats.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/knowledge-feedback/Index.vue"]},{"id":"169dc0ba22faf4ef27cd1d3c55114437b7855f23","message":"Replace any types in shared models\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/169dc0ba22faf4ef27cd1d3c55114437b7855f23","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T01:21:28+08:00","added":[".pnpm-type-check-output10.txt",".pnpm-type-check-output11.txt",".pnpm-type-check-output12.txt",".pnpm-type-check-output13.txt",".pnpm-type-check-output14.txt",".pnpm-type-check-output15.txt",".pnpm-type-check-output16.txt",".pnpm-type-check-output17.txt",".pnpm-type-check-output18.txt",".pnpm-type-check-output19.txt",".pnpm-type-check-output2.txt",".pnpm-type-check-output20.txt",".pnpm-type-check-output21.txt",".pnpm-type-check-output22.txt",".pnpm-type-check-output23.txt",".pnpm-type-check-output24.txt",".pnpm-type-check-output25.txt",".pnpm-type-check-output26.txt",".pnpm-type-check-output27.txt",".pnpm-type-check-output28.txt",".pnpm-type-check-output29.txt",".pnpm-type-check-output3.txt",".pnpm-type-check-output30.txt",".pnpm-type-check-output31.txt",".pnpm-type-check-output32.txt",".pnpm-type-check-output33.txt",".pnpm-type-check-output34.txt",".pnpm-type-check-output35.txt",".pnpm-type-check-output36.txt",".pnpm-type-check-output37.txt",".pnpm-type-check-output38.txt",".pnpm-type-check-output39.txt",".pnpm-type-check-output4.txt",".pnpm-type-check-output40.txt",".pnpm-type-check-output41.txt",".pnpm-type-check-output42.txt",".pnpm-type-check-output43.txt",".pnpm-type-check-output5.txt",".pnpm-type-check-output6.txt",".pnpm-type-check-output7.txt",".pnpm-type-check-output8.txt",".pnpm-type-check-output9.txt"],"removed":[],"modified":["backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/stage-knowledge/stage-knowledge.service.ts","backend/src/modules/supply-chain/supply-chain-platform.service.ts","backend/src/modules/system-events/system-event.service.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/components/business/LeadScoreCard.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/RecentActivities.vue","frontend/src/views/finance-os/cash/CashControlTower.vue","frontend/src/views/finance/MarketingReconciliation.vue","frontend/src/views/lead-scoring/Form.vue","frontend/src/views/leads/Assignment.vue","frontend/src/views/leads/ScoringRules.vue","frontend/src/views/quotes/Editor.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/src/views/settings/Index.vue","frontend/src/views/supplier-management/Contracts.vue","frontend/src/views/tickets/components/gantt/GanttToolbar.vue","frontend/src/views/tickets/components/gantt/TicketGanttChart.vue","frontend/src/views/tickets/components/gantt/composables/useGanttData.ts","shared/src/types/models.ts"]},{"id":"ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","message":"Fix shared model any usage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T22:54:25+08:00","added":[".gemini/policies/dev.toml",".pnpm-type-check-output.txt","backend/scripts/generate-route-inventory.ts","backend/src/modules/dashboard/omni-roi.service.ts","backend/src/modules/finance/reconciliation.controller.ts","backend/src/modules/finance/reconciliation.service.ts","backend/test-bpmn-moddle.js","backend/test-bpmn.mjs","backend/tests/business-flow.test.ts","docs/archive/sprint-stabilization-202602/GAP_MATRIX_20260206.md","docs/archive/sprint-stabilization-202602/route-contract-execution-checklist-v4-by-owner-detail.md","docs/audits/api-route-contract-audit.latest.md","docs/audits/event-publishing-audit.latest.md","docs/audits/route-registration-audit.latest.md","docs/audits/state-machine-integration-audit.latest.md","frontend/src/views/dashboard/OmniRoiDashboard.vue","frontend/src/views/finance/MarketingReconciliation.vue","scripts/db-performance-optimization.sql","scripts/gatekeeper.sh"],"removed":["reports/GAP_MATRIX_20260206.md","reports/route-contract-execution-checklist-v4-by-owner-detail.md"],"modified":["AGENTS.md","DEPLOY.md","GEMINI.md","backend/scripts/audit-baseline-gate.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/channels/index.ts","backend/src/modules/community-fission/community-fission.controller.ts","backend/src/modules/community-fission/community-fission.service.ts","backend/src/modules/content-distribution/content-distribution.controller.ts","backend/src/modules/content-distribution/content-distribution.service.ts","backend/src/modules/content-review/content-review.controller.ts","backend/src/modules/content-review/content-review.service.ts","backend/src/modules/customer-marketing/customer-marketing.controller.ts","backend/src/modules/customer-marketing/customer-marketing.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/devices/asset-activation.controller.ts","backend/src/modules/devices/asset-activation.service.ts","backend/src/modules/diagnosis/diagnosis.controller.ts","backend/src/modules/diagnosis/diagnosis.routes.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/geo-analytics/geo-analytics.controller.ts","backend/src/modules/geo-analytics/geo-analytics.service.ts","backend/src/modules/groupbuy-products/groupbuy-product.controller.ts","backend/src/modules/groupbuy-products/groupbuy-product.routes.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.ts","backend/src/modules/inventory/inventory.service.ts","backend/src/modules/inventory/services/index.ts","backend/src/modules/inventory/services/inventory-warehouse.service.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.routes.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/leads/lead.controller.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/index.ts","backend/src/modules/livestream-analytics/livestream-analytics.controller.ts","backend/src/modules/livestream-analytics/livestream-analytics.routes.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.ts","backend/src/modules/livestream-products/livestream-product.controller.ts","backend/src/modules/livestream-products/livestream-product.routes.ts","backend/src/modules/livestream-products/livestream-product.service.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/controllers/product.controller.ts","backend/src/modules/products/controllers/sku.controller.ts","backend/src/modules/products/product.routes.ts","backend/src/modules/products/routes/sku.routes.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/renewals/renewal.controller.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/reports/report.controller.ts","backend/src/modules/reports/report.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/social-analytics/social-analytics.controller.ts","backend/src/modules/social-analytics/social-analytics.service.ts","frontend/src/api/adapters.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/stores/leads.ts","frontend/src/views/leads/Form.vue","frontend/src/views/opportunities/Pipeline.vue","frontend/src/views/orders/Detail.vue","frontend/src/views/quotes/Detail.vue","frontend/src/views/quotes/Index.vue","shared/src/types/models.ts"]},{"id":"b222af8d439100df34d9a6d61374df924561d451","message":"Update AI agent workflows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/b222af8d439100df34d9a6d61374df924561d451","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T09:06:43+08:00","added":["backend/test-moddle.js","backend/test-moddle2.js","backend/test-moddle3.js","docs/operations/toc-operations-manual.md"],"removed":[],"modified":["backend/package.json","backend/src/main.ts","backend/src/modules/ai-agents/ai-agent-im.schema.ts","backend/src/modules/ai-agents/ai-agent-im.types.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/ai-agent-im.service.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/model-state-manager.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/ai-agents/services/task-heartbeat.service.ts","backend/src/modules/ai-agents/services/workflow-instance.service.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/meddpicc-analyses/meddpicc.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/process-designer/bpmn-converter.test.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.routes.ts","backend/src/modules/process-designer/process-designer.schema.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/targets/target.service.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/process-designer.ts","frontend/src/types/ai-agent.ts","frontend/src/views/ai-agents/IMConversations.vue","frontend/src/views/ai-agents/IMIntegrationSettings.vue","frontend/src/views/ai-agents/IMQueue.vue","frontend/src/views/ai-agents/LeadCollector.vue","frontend/src/views/process-designer/ProcessList.vue","pnpm-lock.yaml","scripts/start-all.sh"]}],"total_commits":0,"head_commit":{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":479330,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-02-27T07:30:11+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1772153110
|
1772153110
|
0
|
1772153110
|
1772153110
|
NULL
|
|
0
|
Edit
Delete
|
|
1048
|
feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获
|
6
|
5
|
health-check.yml
|
1009
|
-2
|
39
|
refs/heads/main
|
68528dce9b8c543283a675374b5a23bc2e46c935
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","after":"68528dce9b8c543283a675374b5a23bc2e46c935","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72...68528dce9b8c543283a675374b5a23bc2e46c935","commits":[{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},{"id":"5bf60bf54c42c8295b8e5595fba959e0821ceb85","message":"Fix TypeScript any violations in duo\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5bf60bf54c42c8295b8e5595fba959e0821ceb85","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T02:07:18+08:00","added":[],"removed":[],"modified":["backend/src/modules/contracts/contract.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/finance/finance-costing.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/leads/lead.schema.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/services/base.service.ts","backend/src/shared/utils/crud.ts","frontend/src/api/index.ts","frontend/src/components/responsive/ResponsiveStats.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/knowledge-feedback/Index.vue"]},{"id":"169dc0ba22faf4ef27cd1d3c55114437b7855f23","message":"Replace any types in shared models\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/169dc0ba22faf4ef27cd1d3c55114437b7855f23","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T01:21:28+08:00","added":[".pnpm-type-check-output10.txt",".pnpm-type-check-output11.txt",".pnpm-type-check-output12.txt",".pnpm-type-check-output13.txt",".pnpm-type-check-output14.txt",".pnpm-type-check-output15.txt",".pnpm-type-check-output16.txt",".pnpm-type-check-output17.txt",".pnpm-type-check-output18.txt",".pnpm-type-check-output19.txt",".pnpm-type-check-output2.txt",".pnpm-type-check-output20.txt",".pnpm-type-check-output21.txt",".pnpm-type-check-output22.txt",".pnpm-type-check-output23.txt",".pnpm-type-check-output24.txt",".pnpm-type-check-output25.txt",".pnpm-type-check-output26.txt",".pnpm-type-check-output27.txt",".pnpm-type-check-output28.txt",".pnpm-type-check-output29.txt",".pnpm-type-check-output3.txt",".pnpm-type-check-output30.txt",".pnpm-type-check-output31.txt",".pnpm-type-check-output32.txt",".pnpm-type-check-output33.txt",".pnpm-type-check-output34.txt",".pnpm-type-check-output35.txt",".pnpm-type-check-output36.txt",".pnpm-type-check-output37.txt",".pnpm-type-check-output38.txt",".pnpm-type-check-output39.txt",".pnpm-type-check-output4.txt",".pnpm-type-check-output40.txt",".pnpm-type-check-output41.txt",".pnpm-type-check-output42.txt",".pnpm-type-check-output43.txt",".pnpm-type-check-output5.txt",".pnpm-type-check-output6.txt",".pnpm-type-check-output7.txt",".pnpm-type-check-output8.txt",".pnpm-type-check-output9.txt"],"removed":[],"modified":["backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/stage-knowledge/stage-knowledge.service.ts","backend/src/modules/supply-chain/supply-chain-platform.service.ts","backend/src/modules/system-events/system-event.service.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/components/business/LeadScoreCard.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/RecentActivities.vue","frontend/src/views/finance-os/cash/CashControlTower.vue","frontend/src/views/finance/MarketingReconciliation.vue","frontend/src/views/lead-scoring/Form.vue","frontend/src/views/leads/Assignment.vue","frontend/src/views/leads/ScoringRules.vue","frontend/src/views/quotes/Editor.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/src/views/settings/Index.vue","frontend/src/views/supplier-management/Contracts.vue","frontend/src/views/tickets/components/gantt/GanttToolbar.vue","frontend/src/views/tickets/components/gantt/TicketGanttChart.vue","frontend/src/views/tickets/components/gantt/composables/useGanttData.ts","shared/src/types/models.ts"]},{"id":"ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","message":"Fix shared model any usage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T22:54:25+08:00","added":[".gemini/policies/dev.toml",".pnpm-type-check-output.txt","backend/scripts/generate-route-inventory.ts","backend/src/modules/dashboard/omni-roi.service.ts","backend/src/modules/finance/reconciliation.controller.ts","backend/src/modules/finance/reconciliation.service.ts","backend/test-bpmn-moddle.js","backend/test-bpmn.mjs","backend/tests/business-flow.test.ts","docs/archive/sprint-stabilization-202602/GAP_MATRIX_20260206.md","docs/archive/sprint-stabilization-202602/route-contract-execution-checklist-v4-by-owner-detail.md","docs/audits/api-route-contract-audit.latest.md","docs/audits/event-publishing-audit.latest.md","docs/audits/route-registration-audit.latest.md","docs/audits/state-machine-integration-audit.latest.md","frontend/src/views/dashboard/OmniRoiDashboard.vue","frontend/src/views/finance/MarketingReconciliation.vue","scripts/db-performance-optimization.sql","scripts/gatekeeper.sh"],"removed":["reports/GAP_MATRIX_20260206.md","reports/route-contract-execution-checklist-v4-by-owner-detail.md"],"modified":["AGENTS.md","DEPLOY.md","GEMINI.md","backend/scripts/audit-baseline-gate.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/channels/index.ts","backend/src/modules/community-fission/community-fission.controller.ts","backend/src/modules/community-fission/community-fission.service.ts","backend/src/modules/content-distribution/content-distribution.controller.ts","backend/src/modules/content-distribution/content-distribution.service.ts","backend/src/modules/content-review/content-review.controller.ts","backend/src/modules/content-review/content-review.service.ts","backend/src/modules/customer-marketing/customer-marketing.controller.ts","backend/src/modules/customer-marketing/customer-marketing.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/devices/asset-activation.controller.ts","backend/src/modules/devices/asset-activation.service.ts","backend/src/modules/diagnosis/diagnosis.controller.ts","backend/src/modules/diagnosis/diagnosis.routes.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/geo-analytics/geo-analytics.controller.ts","backend/src/modules/geo-analytics/geo-analytics.service.ts","backend/src/modules/groupbuy-products/groupbuy-product.controller.ts","backend/src/modules/groupbuy-products/groupbuy-product.routes.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.ts","backend/src/modules/inventory/inventory.service.ts","backend/src/modules/inventory/services/index.ts","backend/src/modules/inventory/services/inventory-warehouse.service.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.routes.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/leads/lead.controller.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/index.ts","backend/src/modules/livestream-analytics/livestream-analytics.controller.ts","backend/src/modules/livestream-analytics/livestream-analytics.routes.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.ts","backend/src/modules/livestream-products/livestream-product.controller.ts","backend/src/modules/livestream-products/livestream-product.routes.ts","backend/src/modules/livestream-products/livestream-product.service.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/controllers/product.controller.ts","backend/src/modules/products/controllers/sku.controller.ts","backend/src/modules/products/product.routes.ts","backend/src/modules/products/routes/sku.routes.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/renewals/renewal.controller.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/reports/report.controller.ts","backend/src/modules/reports/report.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/social-analytics/social-analytics.controller.ts","backend/src/modules/social-analytics/social-analytics.service.ts","frontend/src/api/adapters.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/stores/leads.ts","frontend/src/views/leads/Form.vue","frontend/src/views/opportunities/Pipeline.vue","frontend/src/views/orders/Detail.vue","frontend/src/views/quotes/Detail.vue","frontend/src/views/quotes/Index.vue","shared/src/types/models.ts"]},{"id":"b222af8d439100df34d9a6d61374df924561d451","message":"Update AI agent workflows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/b222af8d439100df34d9a6d61374df924561d451","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T09:06:43+08:00","added":["backend/test-moddle.js","backend/test-moddle2.js","backend/test-moddle3.js","docs/operations/toc-operations-manual.md"],"removed":[],"modified":["backend/package.json","backend/src/main.ts","backend/src/modules/ai-agents/ai-agent-im.schema.ts","backend/src/modules/ai-agents/ai-agent-im.types.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/ai-agent-im.service.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/model-state-manager.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/ai-agents/services/task-heartbeat.service.ts","backend/src/modules/ai-agents/services/workflow-instance.service.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/meddpicc-analyses/meddpicc.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/process-designer/bpmn-converter.test.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.routes.ts","backend/src/modules/process-designer/process-designer.schema.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/targets/target.service.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/process-designer.ts","frontend/src/types/ai-agent.ts","frontend/src/views/ai-agents/IMConversations.vue","frontend/src/views/ai-agents/IMIntegrationSettings.vue","frontend/src/views/ai-agents/IMQueue.vue","frontend/src/views/ai-agents/LeadCollector.vue","frontend/src/views/process-designer/ProcessList.vue","pnpm-lock.yaml","scripts/start-all.sh"]}],"total_commits":0,"head_commit":{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":479330,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-02-27T07:30:11+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1772153410
|
1772153410
|
0
|
1772153410
|
1772153410
|
NULL
|
|
0
|
Edit
Delete
|
|
1049
|
feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获
|
6
|
5
|
health-check.yml
|
1010
|
-2
|
39
|
refs/heads/main
|
68528dce9b8c543283a675374b5a23bc2e46c935
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","after":"68528dce9b8c543283a675374b5a23bc2e46c935","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72...68528dce9b8c543283a675374b5a23bc2e46c935","commits":[{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},{"id":"5bf60bf54c42c8295b8e5595fba959e0821ceb85","message":"Fix TypeScript any violations in duo\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5bf60bf54c42c8295b8e5595fba959e0821ceb85","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T02:07:18+08:00","added":[],"removed":[],"modified":["backend/src/modules/contracts/contract.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/finance/finance-costing.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/leads/lead.schema.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/services/base.service.ts","backend/src/shared/utils/crud.ts","frontend/src/api/index.ts","frontend/src/components/responsive/ResponsiveStats.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/knowledge-feedback/Index.vue"]},{"id":"169dc0ba22faf4ef27cd1d3c55114437b7855f23","message":"Replace any types in shared models\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/169dc0ba22faf4ef27cd1d3c55114437b7855f23","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T01:21:28+08:00","added":[".pnpm-type-check-output10.txt",".pnpm-type-check-output11.txt",".pnpm-type-check-output12.txt",".pnpm-type-check-output13.txt",".pnpm-type-check-output14.txt",".pnpm-type-check-output15.txt",".pnpm-type-check-output16.txt",".pnpm-type-check-output17.txt",".pnpm-type-check-output18.txt",".pnpm-type-check-output19.txt",".pnpm-type-check-output2.txt",".pnpm-type-check-output20.txt",".pnpm-type-check-output21.txt",".pnpm-type-check-output22.txt",".pnpm-type-check-output23.txt",".pnpm-type-check-output24.txt",".pnpm-type-check-output25.txt",".pnpm-type-check-output26.txt",".pnpm-type-check-output27.txt",".pnpm-type-check-output28.txt",".pnpm-type-check-output29.txt",".pnpm-type-check-output3.txt",".pnpm-type-check-output30.txt",".pnpm-type-check-output31.txt",".pnpm-type-check-output32.txt",".pnpm-type-check-output33.txt",".pnpm-type-check-output34.txt",".pnpm-type-check-output35.txt",".pnpm-type-check-output36.txt",".pnpm-type-check-output37.txt",".pnpm-type-check-output38.txt",".pnpm-type-check-output39.txt",".pnpm-type-check-output4.txt",".pnpm-type-check-output40.txt",".pnpm-type-check-output41.txt",".pnpm-type-check-output42.txt",".pnpm-type-check-output43.txt",".pnpm-type-check-output5.txt",".pnpm-type-check-output6.txt",".pnpm-type-check-output7.txt",".pnpm-type-check-output8.txt",".pnpm-type-check-output9.txt"],"removed":[],"modified":["backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/stage-knowledge/stage-knowledge.service.ts","backend/src/modules/supply-chain/supply-chain-platform.service.ts","backend/src/modules/system-events/system-event.service.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/components/business/LeadScoreCard.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/RecentActivities.vue","frontend/src/views/finance-os/cash/CashControlTower.vue","frontend/src/views/finance/MarketingReconciliation.vue","frontend/src/views/lead-scoring/Form.vue","frontend/src/views/leads/Assignment.vue","frontend/src/views/leads/ScoringRules.vue","frontend/src/views/quotes/Editor.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/src/views/settings/Index.vue","frontend/src/views/supplier-management/Contracts.vue","frontend/src/views/tickets/components/gantt/GanttToolbar.vue","frontend/src/views/tickets/components/gantt/TicketGanttChart.vue","frontend/src/views/tickets/components/gantt/composables/useGanttData.ts","shared/src/types/models.ts"]},{"id":"ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","message":"Fix shared model any usage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T22:54:25+08:00","added":[".gemini/policies/dev.toml",".pnpm-type-check-output.txt","backend/scripts/generate-route-inventory.ts","backend/src/modules/dashboard/omni-roi.service.ts","backend/src/modules/finance/reconciliation.controller.ts","backend/src/modules/finance/reconciliation.service.ts","backend/test-bpmn-moddle.js","backend/test-bpmn.mjs","backend/tests/business-flow.test.ts","docs/archive/sprint-stabilization-202602/GAP_MATRIX_20260206.md","docs/archive/sprint-stabilization-202602/route-contract-execution-checklist-v4-by-owner-detail.md","docs/audits/api-route-contract-audit.latest.md","docs/audits/event-publishing-audit.latest.md","docs/audits/route-registration-audit.latest.md","docs/audits/state-machine-integration-audit.latest.md","frontend/src/views/dashboard/OmniRoiDashboard.vue","frontend/src/views/finance/MarketingReconciliation.vue","scripts/db-performance-optimization.sql","scripts/gatekeeper.sh"],"removed":["reports/GAP_MATRIX_20260206.md","reports/route-contract-execution-checklist-v4-by-owner-detail.md"],"modified":["AGENTS.md","DEPLOY.md","GEMINI.md","backend/scripts/audit-baseline-gate.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/channels/index.ts","backend/src/modules/community-fission/community-fission.controller.ts","backend/src/modules/community-fission/community-fission.service.ts","backend/src/modules/content-distribution/content-distribution.controller.ts","backend/src/modules/content-distribution/content-distribution.service.ts","backend/src/modules/content-review/content-review.controller.ts","backend/src/modules/content-review/content-review.service.ts","backend/src/modules/customer-marketing/customer-marketing.controller.ts","backend/src/modules/customer-marketing/customer-marketing.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/devices/asset-activation.controller.ts","backend/src/modules/devices/asset-activation.service.ts","backend/src/modules/diagnosis/diagnosis.controller.ts","backend/src/modules/diagnosis/diagnosis.routes.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/geo-analytics/geo-analytics.controller.ts","backend/src/modules/geo-analytics/geo-analytics.service.ts","backend/src/modules/groupbuy-products/groupbuy-product.controller.ts","backend/src/modules/groupbuy-products/groupbuy-product.routes.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.ts","backend/src/modules/inventory/inventory.service.ts","backend/src/modules/inventory/services/index.ts","backend/src/modules/inventory/services/inventory-warehouse.service.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.routes.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/leads/lead.controller.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/index.ts","backend/src/modules/livestream-analytics/livestream-analytics.controller.ts","backend/src/modules/livestream-analytics/livestream-analytics.routes.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.ts","backend/src/modules/livestream-products/livestream-product.controller.ts","backend/src/modules/livestream-products/livestream-product.routes.ts","backend/src/modules/livestream-products/livestream-product.service.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/controllers/product.controller.ts","backend/src/modules/products/controllers/sku.controller.ts","backend/src/modules/products/product.routes.ts","backend/src/modules/products/routes/sku.routes.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/renewals/renewal.controller.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/reports/report.controller.ts","backend/src/modules/reports/report.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/social-analytics/social-analytics.controller.ts","backend/src/modules/social-analytics/social-analytics.service.ts","frontend/src/api/adapters.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/stores/leads.ts","frontend/src/views/leads/Form.vue","frontend/src/views/opportunities/Pipeline.vue","frontend/src/views/orders/Detail.vue","frontend/src/views/quotes/Detail.vue","frontend/src/views/quotes/Index.vue","shared/src/types/models.ts"]},{"id":"b222af8d439100df34d9a6d61374df924561d451","message":"Update AI agent workflows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/b222af8d439100df34d9a6d61374df924561d451","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T09:06:43+08:00","added":["backend/test-moddle.js","backend/test-moddle2.js","backend/test-moddle3.js","docs/operations/toc-operations-manual.md"],"removed":[],"modified":["backend/package.json","backend/src/main.ts","backend/src/modules/ai-agents/ai-agent-im.schema.ts","backend/src/modules/ai-agents/ai-agent-im.types.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/ai-agent-im.service.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/model-state-manager.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/ai-agents/services/task-heartbeat.service.ts","backend/src/modules/ai-agents/services/workflow-instance.service.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/meddpicc-analyses/meddpicc.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/process-designer/bpmn-converter.test.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.routes.ts","backend/src/modules/process-designer/process-designer.schema.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/targets/target.service.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/process-designer.ts","frontend/src/types/ai-agent.ts","frontend/src/views/ai-agents/IMConversations.vue","frontend/src/views/ai-agents/IMIntegrationSettings.vue","frontend/src/views/ai-agents/IMQueue.vue","frontend/src/views/ai-agents/LeadCollector.vue","frontend/src/views/process-designer/ProcessList.vue","pnpm-lock.yaml","scripts/start-all.sh"]}],"total_commits":0,"head_commit":{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":479330,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-02-27T07:30:11+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1772153710
|
1772153710
|
0
|
1772153710
|
1772153710
|
NULL
|
|
0
|
Edit
Delete
|
|
1050
|
feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获
|
6
|
5
|
health-check.yml
|
1011
|
-2
|
39
|
refs/heads/main
|
68528dce9b8c543283a675374b5a23bc2e46c935
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","after":"68528dce9b8c543283a675374b5a23bc2e46c935","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72...68528dce9b8c543283a675374b5a23bc2e46c935","commits":[{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},{"id":"5bf60bf54c42c8295b8e5595fba959e0821ceb85","message":"Fix TypeScript any violations in duo\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5bf60bf54c42c8295b8e5595fba959e0821ceb85","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T02:07:18+08:00","added":[],"removed":[],"modified":["backend/src/modules/contracts/contract.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/finance/finance-costing.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/leads/lead.schema.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/services/base.service.ts","backend/src/shared/utils/crud.ts","frontend/src/api/index.ts","frontend/src/components/responsive/ResponsiveStats.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/knowledge-feedback/Index.vue"]},{"id":"169dc0ba22faf4ef27cd1d3c55114437b7855f23","message":"Replace any types in shared models\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/169dc0ba22faf4ef27cd1d3c55114437b7855f23","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T01:21:28+08:00","added":[".pnpm-type-check-output10.txt",".pnpm-type-check-output11.txt",".pnpm-type-check-output12.txt",".pnpm-type-check-output13.txt",".pnpm-type-check-output14.txt",".pnpm-type-check-output15.txt",".pnpm-type-check-output16.txt",".pnpm-type-check-output17.txt",".pnpm-type-check-output18.txt",".pnpm-type-check-output19.txt",".pnpm-type-check-output2.txt",".pnpm-type-check-output20.txt",".pnpm-type-check-output21.txt",".pnpm-type-check-output22.txt",".pnpm-type-check-output23.txt",".pnpm-type-check-output24.txt",".pnpm-type-check-output25.txt",".pnpm-type-check-output26.txt",".pnpm-type-check-output27.txt",".pnpm-type-check-output28.txt",".pnpm-type-check-output29.txt",".pnpm-type-check-output3.txt",".pnpm-type-check-output30.txt",".pnpm-type-check-output31.txt",".pnpm-type-check-output32.txt",".pnpm-type-check-output33.txt",".pnpm-type-check-output34.txt",".pnpm-type-check-output35.txt",".pnpm-type-check-output36.txt",".pnpm-type-check-output37.txt",".pnpm-type-check-output38.txt",".pnpm-type-check-output39.txt",".pnpm-type-check-output4.txt",".pnpm-type-check-output40.txt",".pnpm-type-check-output41.txt",".pnpm-type-check-output42.txt",".pnpm-type-check-output43.txt",".pnpm-type-check-output5.txt",".pnpm-type-check-output6.txt",".pnpm-type-check-output7.txt",".pnpm-type-check-output8.txt",".pnpm-type-check-output9.txt"],"removed":[],"modified":["backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/stage-knowledge/stage-knowledge.service.ts","backend/src/modules/supply-chain/supply-chain-platform.service.ts","backend/src/modules/system-events/system-event.service.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/components/business/LeadScoreCard.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/RecentActivities.vue","frontend/src/views/finance-os/cash/CashControlTower.vue","frontend/src/views/finance/MarketingReconciliation.vue","frontend/src/views/lead-scoring/Form.vue","frontend/src/views/leads/Assignment.vue","frontend/src/views/leads/ScoringRules.vue","frontend/src/views/quotes/Editor.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/src/views/settings/Index.vue","frontend/src/views/supplier-management/Contracts.vue","frontend/src/views/tickets/components/gantt/GanttToolbar.vue","frontend/src/views/tickets/components/gantt/TicketGanttChart.vue","frontend/src/views/tickets/components/gantt/composables/useGanttData.ts","shared/src/types/models.ts"]},{"id":"ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","message":"Fix shared model any usage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T22:54:25+08:00","added":[".gemini/policies/dev.toml",".pnpm-type-check-output.txt","backend/scripts/generate-route-inventory.ts","backend/src/modules/dashboard/omni-roi.service.ts","backend/src/modules/finance/reconciliation.controller.ts","backend/src/modules/finance/reconciliation.service.ts","backend/test-bpmn-moddle.js","backend/test-bpmn.mjs","backend/tests/business-flow.test.ts","docs/archive/sprint-stabilization-202602/GAP_MATRIX_20260206.md","docs/archive/sprint-stabilization-202602/route-contract-execution-checklist-v4-by-owner-detail.md","docs/audits/api-route-contract-audit.latest.md","docs/audits/event-publishing-audit.latest.md","docs/audits/route-registration-audit.latest.md","docs/audits/state-machine-integration-audit.latest.md","frontend/src/views/dashboard/OmniRoiDashboard.vue","frontend/src/views/finance/MarketingReconciliation.vue","scripts/db-performance-optimization.sql","scripts/gatekeeper.sh"],"removed":["reports/GAP_MATRIX_20260206.md","reports/route-contract-execution-checklist-v4-by-owner-detail.md"],"modified":["AGENTS.md","DEPLOY.md","GEMINI.md","backend/scripts/audit-baseline-gate.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/channels/index.ts","backend/src/modules/community-fission/community-fission.controller.ts","backend/src/modules/community-fission/community-fission.service.ts","backend/src/modules/content-distribution/content-distribution.controller.ts","backend/src/modules/content-distribution/content-distribution.service.ts","backend/src/modules/content-review/content-review.controller.ts","backend/src/modules/content-review/content-review.service.ts","backend/src/modules/customer-marketing/customer-marketing.controller.ts","backend/src/modules/customer-marketing/customer-marketing.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/devices/asset-activation.controller.ts","backend/src/modules/devices/asset-activation.service.ts","backend/src/modules/diagnosis/diagnosis.controller.ts","backend/src/modules/diagnosis/diagnosis.routes.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/geo-analytics/geo-analytics.controller.ts","backend/src/modules/geo-analytics/geo-analytics.service.ts","backend/src/modules/groupbuy-products/groupbuy-product.controller.ts","backend/src/modules/groupbuy-products/groupbuy-product.routes.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.ts","backend/src/modules/inventory/inventory.service.ts","backend/src/modules/inventory/services/index.ts","backend/src/modules/inventory/services/inventory-warehouse.service.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.routes.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/leads/lead.controller.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/index.ts","backend/src/modules/livestream-analytics/livestream-analytics.controller.ts","backend/src/modules/livestream-analytics/livestream-analytics.routes.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.ts","backend/src/modules/livestream-products/livestream-product.controller.ts","backend/src/modules/livestream-products/livestream-product.routes.ts","backend/src/modules/livestream-products/livestream-product.service.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/controllers/product.controller.ts","backend/src/modules/products/controllers/sku.controller.ts","backend/src/modules/products/product.routes.ts","backend/src/modules/products/routes/sku.routes.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/renewals/renewal.controller.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/reports/report.controller.ts","backend/src/modules/reports/report.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/social-analytics/social-analytics.controller.ts","backend/src/modules/social-analytics/social-analytics.service.ts","frontend/src/api/adapters.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/stores/leads.ts","frontend/src/views/leads/Form.vue","frontend/src/views/opportunities/Pipeline.vue","frontend/src/views/orders/Detail.vue","frontend/src/views/quotes/Detail.vue","frontend/src/views/quotes/Index.vue","shared/src/types/models.ts"]},{"id":"b222af8d439100df34d9a6d61374df924561d451","message":"Update AI agent workflows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/b222af8d439100df34d9a6d61374df924561d451","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T09:06:43+08:00","added":["backend/test-moddle.js","backend/test-moddle2.js","backend/test-moddle3.js","docs/operations/toc-operations-manual.md"],"removed":[],"modified":["backend/package.json","backend/src/main.ts","backend/src/modules/ai-agents/ai-agent-im.schema.ts","backend/src/modules/ai-agents/ai-agent-im.types.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/ai-agent-im.service.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/model-state-manager.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/ai-agents/services/task-heartbeat.service.ts","backend/src/modules/ai-agents/services/workflow-instance.service.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/meddpicc-analyses/meddpicc.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/process-designer/bpmn-converter.test.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.routes.ts","backend/src/modules/process-designer/process-designer.schema.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/targets/target.service.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/process-designer.ts","frontend/src/types/ai-agent.ts","frontend/src/views/ai-agents/IMConversations.vue","frontend/src/views/ai-agents/IMIntegrationSettings.vue","frontend/src/views/ai-agents/IMQueue.vue","frontend/src/views/ai-agents/LeadCollector.vue","frontend/src/views/process-designer/ProcessList.vue","pnpm-lock.yaml","scripts/start-all.sh"]}],"total_commits":0,"head_commit":{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":479330,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-02-27T07:30:11+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1772154010
|
1772154010
|
0
|
1772154010
|
1772154010
|
NULL
|
|
0
|
Edit
Delete
|
|
1051
|
feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获
|
6
|
5
|
health-check.yml
|
1012
|
-2
|
39
|
refs/heads/main
|
68528dce9b8c543283a675374b5a23bc2e46c935
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","after":"68528dce9b8c543283a675374b5a23bc2e46c935","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72...68528dce9b8c543283a675374b5a23bc2e46c935","commits":[{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},{"id":"5bf60bf54c42c8295b8e5595fba959e0821ceb85","message":"Fix TypeScript any violations in duo\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5bf60bf54c42c8295b8e5595fba959e0821ceb85","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T02:07:18+08:00","added":[],"removed":[],"modified":["backend/src/modules/contracts/contract.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/finance/finance-costing.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/leads/lead.schema.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/services/base.service.ts","backend/src/shared/utils/crud.ts","frontend/src/api/index.ts","frontend/src/components/responsive/ResponsiveStats.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/knowledge-feedback/Index.vue"]},{"id":"169dc0ba22faf4ef27cd1d3c55114437b7855f23","message":"Replace any types in shared models\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/169dc0ba22faf4ef27cd1d3c55114437b7855f23","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T01:21:28+08:00","added":[".pnpm-type-check-output10.txt",".pnpm-type-check-output11.txt",".pnpm-type-check-output12.txt",".pnpm-type-check-output13.txt",".pnpm-type-check-output14.txt",".pnpm-type-check-output15.txt",".pnpm-type-check-output16.txt",".pnpm-type-check-output17.txt",".pnpm-type-check-output18.txt",".pnpm-type-check-output19.txt",".pnpm-type-check-output2.txt",".pnpm-type-check-output20.txt",".pnpm-type-check-output21.txt",".pnpm-type-check-output22.txt",".pnpm-type-check-output23.txt",".pnpm-type-check-output24.txt",".pnpm-type-check-output25.txt",".pnpm-type-check-output26.txt",".pnpm-type-check-output27.txt",".pnpm-type-check-output28.txt",".pnpm-type-check-output29.txt",".pnpm-type-check-output3.txt",".pnpm-type-check-output30.txt",".pnpm-type-check-output31.txt",".pnpm-type-check-output32.txt",".pnpm-type-check-output33.txt",".pnpm-type-check-output34.txt",".pnpm-type-check-output35.txt",".pnpm-type-check-output36.txt",".pnpm-type-check-output37.txt",".pnpm-type-check-output38.txt",".pnpm-type-check-output39.txt",".pnpm-type-check-output4.txt",".pnpm-type-check-output40.txt",".pnpm-type-check-output41.txt",".pnpm-type-check-output42.txt",".pnpm-type-check-output43.txt",".pnpm-type-check-output5.txt",".pnpm-type-check-output6.txt",".pnpm-type-check-output7.txt",".pnpm-type-check-output8.txt",".pnpm-type-check-output9.txt"],"removed":[],"modified":["backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/stage-knowledge/stage-knowledge.service.ts","backend/src/modules/supply-chain/supply-chain-platform.service.ts","backend/src/modules/system-events/system-event.service.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/components/business/LeadScoreCard.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/RecentActivities.vue","frontend/src/views/finance-os/cash/CashControlTower.vue","frontend/src/views/finance/MarketingReconciliation.vue","frontend/src/views/lead-scoring/Form.vue","frontend/src/views/leads/Assignment.vue","frontend/src/views/leads/ScoringRules.vue","frontend/src/views/quotes/Editor.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/src/views/settings/Index.vue","frontend/src/views/supplier-management/Contracts.vue","frontend/src/views/tickets/components/gantt/GanttToolbar.vue","frontend/src/views/tickets/components/gantt/TicketGanttChart.vue","frontend/src/views/tickets/components/gantt/composables/useGanttData.ts","shared/src/types/models.ts"]},{"id":"ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","message":"Fix shared model any usage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T22:54:25+08:00","added":[".gemini/policies/dev.toml",".pnpm-type-check-output.txt","backend/scripts/generate-route-inventory.ts","backend/src/modules/dashboard/omni-roi.service.ts","backend/src/modules/finance/reconciliation.controller.ts","backend/src/modules/finance/reconciliation.service.ts","backend/test-bpmn-moddle.js","backend/test-bpmn.mjs","backend/tests/business-flow.test.ts","docs/archive/sprint-stabilization-202602/GAP_MATRIX_20260206.md","docs/archive/sprint-stabilization-202602/route-contract-execution-checklist-v4-by-owner-detail.md","docs/audits/api-route-contract-audit.latest.md","docs/audits/event-publishing-audit.latest.md","docs/audits/route-registration-audit.latest.md","docs/audits/state-machine-integration-audit.latest.md","frontend/src/views/dashboard/OmniRoiDashboard.vue","frontend/src/views/finance/MarketingReconciliation.vue","scripts/db-performance-optimization.sql","scripts/gatekeeper.sh"],"removed":["reports/GAP_MATRIX_20260206.md","reports/route-contract-execution-checklist-v4-by-owner-detail.md"],"modified":["AGENTS.md","DEPLOY.md","GEMINI.md","backend/scripts/audit-baseline-gate.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/channels/index.ts","backend/src/modules/community-fission/community-fission.controller.ts","backend/src/modules/community-fission/community-fission.service.ts","backend/src/modules/content-distribution/content-distribution.controller.ts","backend/src/modules/content-distribution/content-distribution.service.ts","backend/src/modules/content-review/content-review.controller.ts","backend/src/modules/content-review/content-review.service.ts","backend/src/modules/customer-marketing/customer-marketing.controller.ts","backend/src/modules/customer-marketing/customer-marketing.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/devices/asset-activation.controller.ts","backend/src/modules/devices/asset-activation.service.ts","backend/src/modules/diagnosis/diagnosis.controller.ts","backend/src/modules/diagnosis/diagnosis.routes.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/geo-analytics/geo-analytics.controller.ts","backend/src/modules/geo-analytics/geo-analytics.service.ts","backend/src/modules/groupbuy-products/groupbuy-product.controller.ts","backend/src/modules/groupbuy-products/groupbuy-product.routes.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.ts","backend/src/modules/inventory/inventory.service.ts","backend/src/modules/inventory/services/index.ts","backend/src/modules/inventory/services/inventory-warehouse.service.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.routes.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/leads/lead.controller.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/index.ts","backend/src/modules/livestream-analytics/livestream-analytics.controller.ts","backend/src/modules/livestream-analytics/livestream-analytics.routes.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.ts","backend/src/modules/livestream-products/livestream-product.controller.ts","backend/src/modules/livestream-products/livestream-product.routes.ts","backend/src/modules/livestream-products/livestream-product.service.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/controllers/product.controller.ts","backend/src/modules/products/controllers/sku.controller.ts","backend/src/modules/products/product.routes.ts","backend/src/modules/products/routes/sku.routes.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/renewals/renewal.controller.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/reports/report.controller.ts","backend/src/modules/reports/report.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/social-analytics/social-analytics.controller.ts","backend/src/modules/social-analytics/social-analytics.service.ts","frontend/src/api/adapters.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/stores/leads.ts","frontend/src/views/leads/Form.vue","frontend/src/views/opportunities/Pipeline.vue","frontend/src/views/orders/Detail.vue","frontend/src/views/quotes/Detail.vue","frontend/src/views/quotes/Index.vue","shared/src/types/models.ts"]},{"id":"b222af8d439100df34d9a6d61374df924561d451","message":"Update AI agent workflows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/b222af8d439100df34d9a6d61374df924561d451","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T09:06:43+08:00","added":["backend/test-moddle.js","backend/test-moddle2.js","backend/test-moddle3.js","docs/operations/toc-operations-manual.md"],"removed":[],"modified":["backend/package.json","backend/src/main.ts","backend/src/modules/ai-agents/ai-agent-im.schema.ts","backend/src/modules/ai-agents/ai-agent-im.types.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/ai-agent-im.service.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/model-state-manager.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/ai-agents/services/task-heartbeat.service.ts","backend/src/modules/ai-agents/services/workflow-instance.service.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/meddpicc-analyses/meddpicc.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/process-designer/bpmn-converter.test.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.routes.ts","backend/src/modules/process-designer/process-designer.schema.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/targets/target.service.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/process-designer.ts","frontend/src/types/ai-agent.ts","frontend/src/views/ai-agents/IMConversations.vue","frontend/src/views/ai-agents/IMIntegrationSettings.vue","frontend/src/views/ai-agents/IMQueue.vue","frontend/src/views/ai-agents/LeadCollector.vue","frontend/src/views/process-designer/ProcessList.vue","pnpm-lock.yaml","scripts/start-all.sh"]}],"total_commits":0,"head_commit":{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":479330,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-02-27T07:30:11+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1772154310
|
1772154310
|
0
|
1772154310
|
1772154310
|
NULL
|
|
0
|
Edit
Delete
|
|
1052
|
feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获
|
6
|
5
|
health-check.yml
|
1013
|
-2
|
39
|
refs/heads/main
|
68528dce9b8c543283a675374b5a23bc2e46c935
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","after":"68528dce9b8c543283a675374b5a23bc2e46c935","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72...68528dce9b8c543283a675374b5a23bc2e46c935","commits":[{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},{"id":"5bf60bf54c42c8295b8e5595fba959e0821ceb85","message":"Fix TypeScript any violations in duo\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5bf60bf54c42c8295b8e5595fba959e0821ceb85","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T02:07:18+08:00","added":[],"removed":[],"modified":["backend/src/modules/contracts/contract.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/finance/finance-costing.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/leads/lead.schema.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/services/base.service.ts","backend/src/shared/utils/crud.ts","frontend/src/api/index.ts","frontend/src/components/responsive/ResponsiveStats.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/knowledge-feedback/Index.vue"]},{"id":"169dc0ba22faf4ef27cd1d3c55114437b7855f23","message":"Replace any types in shared models\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/169dc0ba22faf4ef27cd1d3c55114437b7855f23","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T01:21:28+08:00","added":[".pnpm-type-check-output10.txt",".pnpm-type-check-output11.txt",".pnpm-type-check-output12.txt",".pnpm-type-check-output13.txt",".pnpm-type-check-output14.txt",".pnpm-type-check-output15.txt",".pnpm-type-check-output16.txt",".pnpm-type-check-output17.txt",".pnpm-type-check-output18.txt",".pnpm-type-check-output19.txt",".pnpm-type-check-output2.txt",".pnpm-type-check-output20.txt",".pnpm-type-check-output21.txt",".pnpm-type-check-output22.txt",".pnpm-type-check-output23.txt",".pnpm-type-check-output24.txt",".pnpm-type-check-output25.txt",".pnpm-type-check-output26.txt",".pnpm-type-check-output27.txt",".pnpm-type-check-output28.txt",".pnpm-type-check-output29.txt",".pnpm-type-check-output3.txt",".pnpm-type-check-output30.txt",".pnpm-type-check-output31.txt",".pnpm-type-check-output32.txt",".pnpm-type-check-output33.txt",".pnpm-type-check-output34.txt",".pnpm-type-check-output35.txt",".pnpm-type-check-output36.txt",".pnpm-type-check-output37.txt",".pnpm-type-check-output38.txt",".pnpm-type-check-output39.txt",".pnpm-type-check-output4.txt",".pnpm-type-check-output40.txt",".pnpm-type-check-output41.txt",".pnpm-type-check-output42.txt",".pnpm-type-check-output43.txt",".pnpm-type-check-output5.txt",".pnpm-type-check-output6.txt",".pnpm-type-check-output7.txt",".pnpm-type-check-output8.txt",".pnpm-type-check-output9.txt"],"removed":[],"modified":["backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/stage-knowledge/stage-knowledge.service.ts","backend/src/modules/supply-chain/supply-chain-platform.service.ts","backend/src/modules/system-events/system-event.service.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/components/business/LeadScoreCard.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/RecentActivities.vue","frontend/src/views/finance-os/cash/CashControlTower.vue","frontend/src/views/finance/MarketingReconciliation.vue","frontend/src/views/lead-scoring/Form.vue","frontend/src/views/leads/Assignment.vue","frontend/src/views/leads/ScoringRules.vue","frontend/src/views/quotes/Editor.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/src/views/settings/Index.vue","frontend/src/views/supplier-management/Contracts.vue","frontend/src/views/tickets/components/gantt/GanttToolbar.vue","frontend/src/views/tickets/components/gantt/TicketGanttChart.vue","frontend/src/views/tickets/components/gantt/composables/useGanttData.ts","shared/src/types/models.ts"]},{"id":"ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","message":"Fix shared model any usage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T22:54:25+08:00","added":[".gemini/policies/dev.toml",".pnpm-type-check-output.txt","backend/scripts/generate-route-inventory.ts","backend/src/modules/dashboard/omni-roi.service.ts","backend/src/modules/finance/reconciliation.controller.ts","backend/src/modules/finance/reconciliation.service.ts","backend/test-bpmn-moddle.js","backend/test-bpmn.mjs","backend/tests/business-flow.test.ts","docs/archive/sprint-stabilization-202602/GAP_MATRIX_20260206.md","docs/archive/sprint-stabilization-202602/route-contract-execution-checklist-v4-by-owner-detail.md","docs/audits/api-route-contract-audit.latest.md","docs/audits/event-publishing-audit.latest.md","docs/audits/route-registration-audit.latest.md","docs/audits/state-machine-integration-audit.latest.md","frontend/src/views/dashboard/OmniRoiDashboard.vue","frontend/src/views/finance/MarketingReconciliation.vue","scripts/db-performance-optimization.sql","scripts/gatekeeper.sh"],"removed":["reports/GAP_MATRIX_20260206.md","reports/route-contract-execution-checklist-v4-by-owner-detail.md"],"modified":["AGENTS.md","DEPLOY.md","GEMINI.md","backend/scripts/audit-baseline-gate.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/channels/index.ts","backend/src/modules/community-fission/community-fission.controller.ts","backend/src/modules/community-fission/community-fission.service.ts","backend/src/modules/content-distribution/content-distribution.controller.ts","backend/src/modules/content-distribution/content-distribution.service.ts","backend/src/modules/content-review/content-review.controller.ts","backend/src/modules/content-review/content-review.service.ts","backend/src/modules/customer-marketing/customer-marketing.controller.ts","backend/src/modules/customer-marketing/customer-marketing.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/devices/asset-activation.controller.ts","backend/src/modules/devices/asset-activation.service.ts","backend/src/modules/diagnosis/diagnosis.controller.ts","backend/src/modules/diagnosis/diagnosis.routes.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/geo-analytics/geo-analytics.controller.ts","backend/src/modules/geo-analytics/geo-analytics.service.ts","backend/src/modules/groupbuy-products/groupbuy-product.controller.ts","backend/src/modules/groupbuy-products/groupbuy-product.routes.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.ts","backend/src/modules/inventory/inventory.service.ts","backend/src/modules/inventory/services/index.ts","backend/src/modules/inventory/services/inventory-warehouse.service.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.routes.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/leads/lead.controller.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/index.ts","backend/src/modules/livestream-analytics/livestream-analytics.controller.ts","backend/src/modules/livestream-analytics/livestream-analytics.routes.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.ts","backend/src/modules/livestream-products/livestream-product.controller.ts","backend/src/modules/livestream-products/livestream-product.routes.ts","backend/src/modules/livestream-products/livestream-product.service.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/controllers/product.controller.ts","backend/src/modules/products/controllers/sku.controller.ts","backend/src/modules/products/product.routes.ts","backend/src/modules/products/routes/sku.routes.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/renewals/renewal.controller.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/reports/report.controller.ts","backend/src/modules/reports/report.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/social-analytics/social-analytics.controller.ts","backend/src/modules/social-analytics/social-analytics.service.ts","frontend/src/api/adapters.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/stores/leads.ts","frontend/src/views/leads/Form.vue","frontend/src/views/opportunities/Pipeline.vue","frontend/src/views/orders/Detail.vue","frontend/src/views/quotes/Detail.vue","frontend/src/views/quotes/Index.vue","shared/src/types/models.ts"]},{"id":"b222af8d439100df34d9a6d61374df924561d451","message":"Update AI agent workflows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/b222af8d439100df34d9a6d61374df924561d451","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T09:06:43+08:00","added":["backend/test-moddle.js","backend/test-moddle2.js","backend/test-moddle3.js","docs/operations/toc-operations-manual.md"],"removed":[],"modified":["backend/package.json","backend/src/main.ts","backend/src/modules/ai-agents/ai-agent-im.schema.ts","backend/src/modules/ai-agents/ai-agent-im.types.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/ai-agent-im.service.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/model-state-manager.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/ai-agents/services/task-heartbeat.service.ts","backend/src/modules/ai-agents/services/workflow-instance.service.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/meddpicc-analyses/meddpicc.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/process-designer/bpmn-converter.test.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.routes.ts","backend/src/modules/process-designer/process-designer.schema.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/targets/target.service.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/process-designer.ts","frontend/src/types/ai-agent.ts","frontend/src/views/ai-agents/IMConversations.vue","frontend/src/views/ai-agents/IMIntegrationSettings.vue","frontend/src/views/ai-agents/IMQueue.vue","frontend/src/views/ai-agents/LeadCollector.vue","frontend/src/views/process-designer/ProcessList.vue","pnpm-lock.yaml","scripts/start-all.sh"]}],"total_commits":0,"head_commit":{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":479330,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-02-27T07:30:11+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1772154610
|
1772154610
|
0
|
1772154610
|
1772154610
|
NULL
|
|
0
|
Edit
Delete
|
|
1053
|
feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获
|
6
|
5
|
health-check.yml
|
1014
|
-2
|
39
|
refs/heads/main
|
68528dce9b8c543283a675374b5a23bc2e46c935
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","after":"68528dce9b8c543283a675374b5a23bc2e46c935","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72...68528dce9b8c543283a675374b5a23bc2e46c935","commits":[{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},{"id":"5bf60bf54c42c8295b8e5595fba959e0821ceb85","message":"Fix TypeScript any violations in duo\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5bf60bf54c42c8295b8e5595fba959e0821ceb85","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T02:07:18+08:00","added":[],"removed":[],"modified":["backend/src/modules/contracts/contract.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/finance/finance-costing.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/leads/lead.schema.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/services/base.service.ts","backend/src/shared/utils/crud.ts","frontend/src/api/index.ts","frontend/src/components/responsive/ResponsiveStats.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/knowledge-feedback/Index.vue"]},{"id":"169dc0ba22faf4ef27cd1d3c55114437b7855f23","message":"Replace any types in shared models\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/169dc0ba22faf4ef27cd1d3c55114437b7855f23","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T01:21:28+08:00","added":[".pnpm-type-check-output10.txt",".pnpm-type-check-output11.txt",".pnpm-type-check-output12.txt",".pnpm-type-check-output13.txt",".pnpm-type-check-output14.txt",".pnpm-type-check-output15.txt",".pnpm-type-check-output16.txt",".pnpm-type-check-output17.txt",".pnpm-type-check-output18.txt",".pnpm-type-check-output19.txt",".pnpm-type-check-output2.txt",".pnpm-type-check-output20.txt",".pnpm-type-check-output21.txt",".pnpm-type-check-output22.txt",".pnpm-type-check-output23.txt",".pnpm-type-check-output24.txt",".pnpm-type-check-output25.txt",".pnpm-type-check-output26.txt",".pnpm-type-check-output27.txt",".pnpm-type-check-output28.txt",".pnpm-type-check-output29.txt",".pnpm-type-check-output3.txt",".pnpm-type-check-output30.txt",".pnpm-type-check-output31.txt",".pnpm-type-check-output32.txt",".pnpm-type-check-output33.txt",".pnpm-type-check-output34.txt",".pnpm-type-check-output35.txt",".pnpm-type-check-output36.txt",".pnpm-type-check-output37.txt",".pnpm-type-check-output38.txt",".pnpm-type-check-output39.txt",".pnpm-type-check-output4.txt",".pnpm-type-check-output40.txt",".pnpm-type-check-output41.txt",".pnpm-type-check-output42.txt",".pnpm-type-check-output43.txt",".pnpm-type-check-output5.txt",".pnpm-type-check-output6.txt",".pnpm-type-check-output7.txt",".pnpm-type-check-output8.txt",".pnpm-type-check-output9.txt"],"removed":[],"modified":["backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/stage-knowledge/stage-knowledge.service.ts","backend/src/modules/supply-chain/supply-chain-platform.service.ts","backend/src/modules/system-events/system-event.service.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/components/business/LeadScoreCard.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/RecentActivities.vue","frontend/src/views/finance-os/cash/CashControlTower.vue","frontend/src/views/finance/MarketingReconciliation.vue","frontend/src/views/lead-scoring/Form.vue","frontend/src/views/leads/Assignment.vue","frontend/src/views/leads/ScoringRules.vue","frontend/src/views/quotes/Editor.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/src/views/settings/Index.vue","frontend/src/views/supplier-management/Contracts.vue","frontend/src/views/tickets/components/gantt/GanttToolbar.vue","frontend/src/views/tickets/components/gantt/TicketGanttChart.vue","frontend/src/views/tickets/components/gantt/composables/useGanttData.ts","shared/src/types/models.ts"]},{"id":"ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","message":"Fix shared model any usage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T22:54:25+08:00","added":[".gemini/policies/dev.toml",".pnpm-type-check-output.txt","backend/scripts/generate-route-inventory.ts","backend/src/modules/dashboard/omni-roi.service.ts","backend/src/modules/finance/reconciliation.controller.ts","backend/src/modules/finance/reconciliation.service.ts","backend/test-bpmn-moddle.js","backend/test-bpmn.mjs","backend/tests/business-flow.test.ts","docs/archive/sprint-stabilization-202602/GAP_MATRIX_20260206.md","docs/archive/sprint-stabilization-202602/route-contract-execution-checklist-v4-by-owner-detail.md","docs/audits/api-route-contract-audit.latest.md","docs/audits/event-publishing-audit.latest.md","docs/audits/route-registration-audit.latest.md","docs/audits/state-machine-integration-audit.latest.md","frontend/src/views/dashboard/OmniRoiDashboard.vue","frontend/src/views/finance/MarketingReconciliation.vue","scripts/db-performance-optimization.sql","scripts/gatekeeper.sh"],"removed":["reports/GAP_MATRIX_20260206.md","reports/route-contract-execution-checklist-v4-by-owner-detail.md"],"modified":["AGENTS.md","DEPLOY.md","GEMINI.md","backend/scripts/audit-baseline-gate.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/channels/index.ts","backend/src/modules/community-fission/community-fission.controller.ts","backend/src/modules/community-fission/community-fission.service.ts","backend/src/modules/content-distribution/content-distribution.controller.ts","backend/src/modules/content-distribution/content-distribution.service.ts","backend/src/modules/content-review/content-review.controller.ts","backend/src/modules/content-review/content-review.service.ts","backend/src/modules/customer-marketing/customer-marketing.controller.ts","backend/src/modules/customer-marketing/customer-marketing.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/devices/asset-activation.controller.ts","backend/src/modules/devices/asset-activation.service.ts","backend/src/modules/diagnosis/diagnosis.controller.ts","backend/src/modules/diagnosis/diagnosis.routes.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/geo-analytics/geo-analytics.controller.ts","backend/src/modules/geo-analytics/geo-analytics.service.ts","backend/src/modules/groupbuy-products/groupbuy-product.controller.ts","backend/src/modules/groupbuy-products/groupbuy-product.routes.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.ts","backend/src/modules/inventory/inventory.service.ts","backend/src/modules/inventory/services/index.ts","backend/src/modules/inventory/services/inventory-warehouse.service.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.routes.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/leads/lead.controller.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/index.ts","backend/src/modules/livestream-analytics/livestream-analytics.controller.ts","backend/src/modules/livestream-analytics/livestream-analytics.routes.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.ts","backend/src/modules/livestream-products/livestream-product.controller.ts","backend/src/modules/livestream-products/livestream-product.routes.ts","backend/src/modules/livestream-products/livestream-product.service.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/controllers/product.controller.ts","backend/src/modules/products/controllers/sku.controller.ts","backend/src/modules/products/product.routes.ts","backend/src/modules/products/routes/sku.routes.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/renewals/renewal.controller.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/reports/report.controller.ts","backend/src/modules/reports/report.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/social-analytics/social-analytics.controller.ts","backend/src/modules/social-analytics/social-analytics.service.ts","frontend/src/api/adapters.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/stores/leads.ts","frontend/src/views/leads/Form.vue","frontend/src/views/opportunities/Pipeline.vue","frontend/src/views/orders/Detail.vue","frontend/src/views/quotes/Detail.vue","frontend/src/views/quotes/Index.vue","shared/src/types/models.ts"]},{"id":"b222af8d439100df34d9a6d61374df924561d451","message":"Update AI agent workflows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/b222af8d439100df34d9a6d61374df924561d451","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T09:06:43+08:00","added":["backend/test-moddle.js","backend/test-moddle2.js","backend/test-moddle3.js","docs/operations/toc-operations-manual.md"],"removed":[],"modified":["backend/package.json","backend/src/main.ts","backend/src/modules/ai-agents/ai-agent-im.schema.ts","backend/src/modules/ai-agents/ai-agent-im.types.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/ai-agent-im.service.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/model-state-manager.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/ai-agents/services/task-heartbeat.service.ts","backend/src/modules/ai-agents/services/workflow-instance.service.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/meddpicc-analyses/meddpicc.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/process-designer/bpmn-converter.test.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.routes.ts","backend/src/modules/process-designer/process-designer.schema.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/targets/target.service.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/process-designer.ts","frontend/src/types/ai-agent.ts","frontend/src/views/ai-agents/IMConversations.vue","frontend/src/views/ai-agents/IMIntegrationSettings.vue","frontend/src/views/ai-agents/IMQueue.vue","frontend/src/views/ai-agents/LeadCollector.vue","frontend/src/views/process-designer/ProcessList.vue","pnpm-lock.yaml","scripts/start-all.sh"]}],"total_commits":0,"head_commit":{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":479330,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-02-27T07:30:11+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1772154910
|
1772154910
|
0
|
1772154910
|
1772154910
|
NULL
|
|
0
|
Edit
Delete
|
|
1054
|
feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获
|
6
|
5
|
health-check.yml
|
1015
|
-2
|
39
|
refs/heads/main
|
68528dce9b8c543283a675374b5a23bc2e46c935
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","after":"68528dce9b8c543283a675374b5a23bc2e46c935","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72...68528dce9b8c543283a675374b5a23bc2e46c935","commits":[{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},{"id":"5bf60bf54c42c8295b8e5595fba959e0821ceb85","message":"Fix TypeScript any violations in duo\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5bf60bf54c42c8295b8e5595fba959e0821ceb85","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T02:07:18+08:00","added":[],"removed":[],"modified":["backend/src/modules/contracts/contract.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/finance/finance-costing.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/leads/lead.schema.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/services/base.service.ts","backend/src/shared/utils/crud.ts","frontend/src/api/index.ts","frontend/src/components/responsive/ResponsiveStats.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/knowledge-feedback/Index.vue"]},{"id":"169dc0ba22faf4ef27cd1d3c55114437b7855f23","message":"Replace any types in shared models\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/169dc0ba22faf4ef27cd1d3c55114437b7855f23","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T01:21:28+08:00","added":[".pnpm-type-check-output10.txt",".pnpm-type-check-output11.txt",".pnpm-type-check-output12.txt",".pnpm-type-check-output13.txt",".pnpm-type-check-output14.txt",".pnpm-type-check-output15.txt",".pnpm-type-check-output16.txt",".pnpm-type-check-output17.txt",".pnpm-type-check-output18.txt",".pnpm-type-check-output19.txt",".pnpm-type-check-output2.txt",".pnpm-type-check-output20.txt",".pnpm-type-check-output21.txt",".pnpm-type-check-output22.txt",".pnpm-type-check-output23.txt",".pnpm-type-check-output24.txt",".pnpm-type-check-output25.txt",".pnpm-type-check-output26.txt",".pnpm-type-check-output27.txt",".pnpm-type-check-output28.txt",".pnpm-type-check-output29.txt",".pnpm-type-check-output3.txt",".pnpm-type-check-output30.txt",".pnpm-type-check-output31.txt",".pnpm-type-check-output32.txt",".pnpm-type-check-output33.txt",".pnpm-type-check-output34.txt",".pnpm-type-check-output35.txt",".pnpm-type-check-output36.txt",".pnpm-type-check-output37.txt",".pnpm-type-check-output38.txt",".pnpm-type-check-output39.txt",".pnpm-type-check-output4.txt",".pnpm-type-check-output40.txt",".pnpm-type-check-output41.txt",".pnpm-type-check-output42.txt",".pnpm-type-check-output43.txt",".pnpm-type-check-output5.txt",".pnpm-type-check-output6.txt",".pnpm-type-check-output7.txt",".pnpm-type-check-output8.txt",".pnpm-type-check-output9.txt"],"removed":[],"modified":["backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/stage-knowledge/stage-knowledge.service.ts","backend/src/modules/supply-chain/supply-chain-platform.service.ts","backend/src/modules/system-events/system-event.service.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/components/business/LeadScoreCard.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/RecentActivities.vue","frontend/src/views/finance-os/cash/CashControlTower.vue","frontend/src/views/finance/MarketingReconciliation.vue","frontend/src/views/lead-scoring/Form.vue","frontend/src/views/leads/Assignment.vue","frontend/src/views/leads/ScoringRules.vue","frontend/src/views/quotes/Editor.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/src/views/settings/Index.vue","frontend/src/views/supplier-management/Contracts.vue","frontend/src/views/tickets/components/gantt/GanttToolbar.vue","frontend/src/views/tickets/components/gantt/TicketGanttChart.vue","frontend/src/views/tickets/components/gantt/composables/useGanttData.ts","shared/src/types/models.ts"]},{"id":"ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","message":"Fix shared model any usage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T22:54:25+08:00","added":[".gemini/policies/dev.toml",".pnpm-type-check-output.txt","backend/scripts/generate-route-inventory.ts","backend/src/modules/dashboard/omni-roi.service.ts","backend/src/modules/finance/reconciliation.controller.ts","backend/src/modules/finance/reconciliation.service.ts","backend/test-bpmn-moddle.js","backend/test-bpmn.mjs","backend/tests/business-flow.test.ts","docs/archive/sprint-stabilization-202602/GAP_MATRIX_20260206.md","docs/archive/sprint-stabilization-202602/route-contract-execution-checklist-v4-by-owner-detail.md","docs/audits/api-route-contract-audit.latest.md","docs/audits/event-publishing-audit.latest.md","docs/audits/route-registration-audit.latest.md","docs/audits/state-machine-integration-audit.latest.md","frontend/src/views/dashboard/OmniRoiDashboard.vue","frontend/src/views/finance/MarketingReconciliation.vue","scripts/db-performance-optimization.sql","scripts/gatekeeper.sh"],"removed":["reports/GAP_MATRIX_20260206.md","reports/route-contract-execution-checklist-v4-by-owner-detail.md"],"modified":["AGENTS.md","DEPLOY.md","GEMINI.md","backend/scripts/audit-baseline-gate.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/channels/index.ts","backend/src/modules/community-fission/community-fission.controller.ts","backend/src/modules/community-fission/community-fission.service.ts","backend/src/modules/content-distribution/content-distribution.controller.ts","backend/src/modules/content-distribution/content-distribution.service.ts","backend/src/modules/content-review/content-review.controller.ts","backend/src/modules/content-review/content-review.service.ts","backend/src/modules/customer-marketing/customer-marketing.controller.ts","backend/src/modules/customer-marketing/customer-marketing.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/devices/asset-activation.controller.ts","backend/src/modules/devices/asset-activation.service.ts","backend/src/modules/diagnosis/diagnosis.controller.ts","backend/src/modules/diagnosis/diagnosis.routes.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/geo-analytics/geo-analytics.controller.ts","backend/src/modules/geo-analytics/geo-analytics.service.ts","backend/src/modules/groupbuy-products/groupbuy-product.controller.ts","backend/src/modules/groupbuy-products/groupbuy-product.routes.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.ts","backend/src/modules/inventory/inventory.service.ts","backend/src/modules/inventory/services/index.ts","backend/src/modules/inventory/services/inventory-warehouse.service.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.routes.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/leads/lead.controller.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/index.ts","backend/src/modules/livestream-analytics/livestream-analytics.controller.ts","backend/src/modules/livestream-analytics/livestream-analytics.routes.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.ts","backend/src/modules/livestream-products/livestream-product.controller.ts","backend/src/modules/livestream-products/livestream-product.routes.ts","backend/src/modules/livestream-products/livestream-product.service.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/controllers/product.controller.ts","backend/src/modules/products/controllers/sku.controller.ts","backend/src/modules/products/product.routes.ts","backend/src/modules/products/routes/sku.routes.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/renewals/renewal.controller.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/reports/report.controller.ts","backend/src/modules/reports/report.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/social-analytics/social-analytics.controller.ts","backend/src/modules/social-analytics/social-analytics.service.ts","frontend/src/api/adapters.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/stores/leads.ts","frontend/src/views/leads/Form.vue","frontend/src/views/opportunities/Pipeline.vue","frontend/src/views/orders/Detail.vue","frontend/src/views/quotes/Detail.vue","frontend/src/views/quotes/Index.vue","shared/src/types/models.ts"]},{"id":"b222af8d439100df34d9a6d61374df924561d451","message":"Update AI agent workflows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/b222af8d439100df34d9a6d61374df924561d451","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T09:06:43+08:00","added":["backend/test-moddle.js","backend/test-moddle2.js","backend/test-moddle3.js","docs/operations/toc-operations-manual.md"],"removed":[],"modified":["backend/package.json","backend/src/main.ts","backend/src/modules/ai-agents/ai-agent-im.schema.ts","backend/src/modules/ai-agents/ai-agent-im.types.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/ai-agent-im.service.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/model-state-manager.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/ai-agents/services/task-heartbeat.service.ts","backend/src/modules/ai-agents/services/workflow-instance.service.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/meddpicc-analyses/meddpicc.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/process-designer/bpmn-converter.test.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.routes.ts","backend/src/modules/process-designer/process-designer.schema.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/targets/target.service.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/process-designer.ts","frontend/src/types/ai-agent.ts","frontend/src/views/ai-agents/IMConversations.vue","frontend/src/views/ai-agents/IMIntegrationSettings.vue","frontend/src/views/ai-agents/IMQueue.vue","frontend/src/views/ai-agents/LeadCollector.vue","frontend/src/views/process-designer/ProcessList.vue","pnpm-lock.yaml","scripts/start-all.sh"]}],"total_commits":0,"head_commit":{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":479330,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-02-27T07:30:11+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1772155210
|
1772155210
|
0
|
1772155210
|
1772155210
|
NULL
|
|
0
|
Edit
Delete
|
|
1055
|
feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获
|
6
|
5
|
health-check.yml
|
1016
|
-2
|
39
|
refs/heads/main
|
68528dce9b8c543283a675374b5a23bc2e46c935
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","after":"68528dce9b8c543283a675374b5a23bc2e46c935","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72...68528dce9b8c543283a675374b5a23bc2e46c935","commits":[{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},{"id":"5bf60bf54c42c8295b8e5595fba959e0821ceb85","message":"Fix TypeScript any violations in duo\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5bf60bf54c42c8295b8e5595fba959e0821ceb85","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T02:07:18+08:00","added":[],"removed":[],"modified":["backend/src/modules/contracts/contract.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/finance/finance-costing.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/leads/lead.schema.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/services/base.service.ts","backend/src/shared/utils/crud.ts","frontend/src/api/index.ts","frontend/src/components/responsive/ResponsiveStats.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/knowledge-feedback/Index.vue"]},{"id":"169dc0ba22faf4ef27cd1d3c55114437b7855f23","message":"Replace any types in shared models\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/169dc0ba22faf4ef27cd1d3c55114437b7855f23","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T01:21:28+08:00","added":[".pnpm-type-check-output10.txt",".pnpm-type-check-output11.txt",".pnpm-type-check-output12.txt",".pnpm-type-check-output13.txt",".pnpm-type-check-output14.txt",".pnpm-type-check-output15.txt",".pnpm-type-check-output16.txt",".pnpm-type-check-output17.txt",".pnpm-type-check-output18.txt",".pnpm-type-check-output19.txt",".pnpm-type-check-output2.txt",".pnpm-type-check-output20.txt",".pnpm-type-check-output21.txt",".pnpm-type-check-output22.txt",".pnpm-type-check-output23.txt",".pnpm-type-check-output24.txt",".pnpm-type-check-output25.txt",".pnpm-type-check-output26.txt",".pnpm-type-check-output27.txt",".pnpm-type-check-output28.txt",".pnpm-type-check-output29.txt",".pnpm-type-check-output3.txt",".pnpm-type-check-output30.txt",".pnpm-type-check-output31.txt",".pnpm-type-check-output32.txt",".pnpm-type-check-output33.txt",".pnpm-type-check-output34.txt",".pnpm-type-check-output35.txt",".pnpm-type-check-output36.txt",".pnpm-type-check-output37.txt",".pnpm-type-check-output38.txt",".pnpm-type-check-output39.txt",".pnpm-type-check-output4.txt",".pnpm-type-check-output40.txt",".pnpm-type-check-output41.txt",".pnpm-type-check-output42.txt",".pnpm-type-check-output43.txt",".pnpm-type-check-output5.txt",".pnpm-type-check-output6.txt",".pnpm-type-check-output7.txt",".pnpm-type-check-output8.txt",".pnpm-type-check-output9.txt"],"removed":[],"modified":["backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/stage-knowledge/stage-knowledge.service.ts","backend/src/modules/supply-chain/supply-chain-platform.service.ts","backend/src/modules/system-events/system-event.service.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/components/business/LeadScoreCard.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/RecentActivities.vue","frontend/src/views/finance-os/cash/CashControlTower.vue","frontend/src/views/finance/MarketingReconciliation.vue","frontend/src/views/lead-scoring/Form.vue","frontend/src/views/leads/Assignment.vue","frontend/src/views/leads/ScoringRules.vue","frontend/src/views/quotes/Editor.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/src/views/settings/Index.vue","frontend/src/views/supplier-management/Contracts.vue","frontend/src/views/tickets/components/gantt/GanttToolbar.vue","frontend/src/views/tickets/components/gantt/TicketGanttChart.vue","frontend/src/views/tickets/components/gantt/composables/useGanttData.ts","shared/src/types/models.ts"]},{"id":"ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","message":"Fix shared model any usage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T22:54:25+08:00","added":[".gemini/policies/dev.toml",".pnpm-type-check-output.txt","backend/scripts/generate-route-inventory.ts","backend/src/modules/dashboard/omni-roi.service.ts","backend/src/modules/finance/reconciliation.controller.ts","backend/src/modules/finance/reconciliation.service.ts","backend/test-bpmn-moddle.js","backend/test-bpmn.mjs","backend/tests/business-flow.test.ts","docs/archive/sprint-stabilization-202602/GAP_MATRIX_20260206.md","docs/archive/sprint-stabilization-202602/route-contract-execution-checklist-v4-by-owner-detail.md","docs/audits/api-route-contract-audit.latest.md","docs/audits/event-publishing-audit.latest.md","docs/audits/route-registration-audit.latest.md","docs/audits/state-machine-integration-audit.latest.md","frontend/src/views/dashboard/OmniRoiDashboard.vue","frontend/src/views/finance/MarketingReconciliation.vue","scripts/db-performance-optimization.sql","scripts/gatekeeper.sh"],"removed":["reports/GAP_MATRIX_20260206.md","reports/route-contract-execution-checklist-v4-by-owner-detail.md"],"modified":["AGENTS.md","DEPLOY.md","GEMINI.md","backend/scripts/audit-baseline-gate.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/channels/index.ts","backend/src/modules/community-fission/community-fission.controller.ts","backend/src/modules/community-fission/community-fission.service.ts","backend/src/modules/content-distribution/content-distribution.controller.ts","backend/src/modules/content-distribution/content-distribution.service.ts","backend/src/modules/content-review/content-review.controller.ts","backend/src/modules/content-review/content-review.service.ts","backend/src/modules/customer-marketing/customer-marketing.controller.ts","backend/src/modules/customer-marketing/customer-marketing.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/devices/asset-activation.controller.ts","backend/src/modules/devices/asset-activation.service.ts","backend/src/modules/diagnosis/diagnosis.controller.ts","backend/src/modules/diagnosis/diagnosis.routes.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/geo-analytics/geo-analytics.controller.ts","backend/src/modules/geo-analytics/geo-analytics.service.ts","backend/src/modules/groupbuy-products/groupbuy-product.controller.ts","backend/src/modules/groupbuy-products/groupbuy-product.routes.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.ts","backend/src/modules/inventory/inventory.service.ts","backend/src/modules/inventory/services/index.ts","backend/src/modules/inventory/services/inventory-warehouse.service.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.routes.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/leads/lead.controller.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/index.ts","backend/src/modules/livestream-analytics/livestream-analytics.controller.ts","backend/src/modules/livestream-analytics/livestream-analytics.routes.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.ts","backend/src/modules/livestream-products/livestream-product.controller.ts","backend/src/modules/livestream-products/livestream-product.routes.ts","backend/src/modules/livestream-products/livestream-product.service.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/controllers/product.controller.ts","backend/src/modules/products/controllers/sku.controller.ts","backend/src/modules/products/product.routes.ts","backend/src/modules/products/routes/sku.routes.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/renewals/renewal.controller.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/reports/report.controller.ts","backend/src/modules/reports/report.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/social-analytics/social-analytics.controller.ts","backend/src/modules/social-analytics/social-analytics.service.ts","frontend/src/api/adapters.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/stores/leads.ts","frontend/src/views/leads/Form.vue","frontend/src/views/opportunities/Pipeline.vue","frontend/src/views/orders/Detail.vue","frontend/src/views/quotes/Detail.vue","frontend/src/views/quotes/Index.vue","shared/src/types/models.ts"]},{"id":"b222af8d439100df34d9a6d61374df924561d451","message":"Update AI agent workflows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/b222af8d439100df34d9a6d61374df924561d451","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T09:06:43+08:00","added":["backend/test-moddle.js","backend/test-moddle2.js","backend/test-moddle3.js","docs/operations/toc-operations-manual.md"],"removed":[],"modified":["backend/package.json","backend/src/main.ts","backend/src/modules/ai-agents/ai-agent-im.schema.ts","backend/src/modules/ai-agents/ai-agent-im.types.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/ai-agent-im.service.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/model-state-manager.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/ai-agents/services/task-heartbeat.service.ts","backend/src/modules/ai-agents/services/workflow-instance.service.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/meddpicc-analyses/meddpicc.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/process-designer/bpmn-converter.test.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.routes.ts","backend/src/modules/process-designer/process-designer.schema.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/targets/target.service.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/process-designer.ts","frontend/src/types/ai-agent.ts","frontend/src/views/ai-agents/IMConversations.vue","frontend/src/views/ai-agents/IMIntegrationSettings.vue","frontend/src/views/ai-agents/IMQueue.vue","frontend/src/views/ai-agents/LeadCollector.vue","frontend/src/views/process-designer/ProcessList.vue","pnpm-lock.yaml","scripts/start-all.sh"]}],"total_commits":0,"head_commit":{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":479330,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-02-27T07:30:11+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1772155510
|
1772155510
|
0
|
1772155510
|
1772155510
|
NULL
|
|
0
|
Edit
Delete
|
|
1056
|
feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获
|
6
|
5
|
health-check.yml
|
1017
|
-2
|
39
|
refs/heads/main
|
68528dce9b8c543283a675374b5a23bc2e46c935
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72","after":"68528dce9b8c543283a675374b5a23bc2e46c935","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/c75a655fbcae4e4a5f0f675e72c422c5c3ff5a72...68528dce9b8c543283a675374b5a23bc2e46c935","commits":[{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},{"id":"5bf60bf54c42c8295b8e5595fba959e0821ceb85","message":"Fix TypeScript any violations in duo\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5bf60bf54c42c8295b8e5595fba959e0821ceb85","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T02:07:18+08:00","added":[],"removed":[],"modified":["backend/src/modules/contracts/contract.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/finance/finance-costing.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/leads/lead.schema.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.test.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/services/base.service.ts","backend/src/shared/utils/crud.ts","frontend/src/api/index.ts","frontend/src/components/responsive/ResponsiveStats.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/knowledge-feedback/Index.vue"]},{"id":"169dc0ba22faf4ef27cd1d3c55114437b7855f23","message":"Replace any types in shared models\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/169dc0ba22faf4ef27cd1d3c55114437b7855f23","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T01:21:28+08:00","added":[".pnpm-type-check-output10.txt",".pnpm-type-check-output11.txt",".pnpm-type-check-output12.txt",".pnpm-type-check-output13.txt",".pnpm-type-check-output14.txt",".pnpm-type-check-output15.txt",".pnpm-type-check-output16.txt",".pnpm-type-check-output17.txt",".pnpm-type-check-output18.txt",".pnpm-type-check-output19.txt",".pnpm-type-check-output2.txt",".pnpm-type-check-output20.txt",".pnpm-type-check-output21.txt",".pnpm-type-check-output22.txt",".pnpm-type-check-output23.txt",".pnpm-type-check-output24.txt",".pnpm-type-check-output25.txt",".pnpm-type-check-output26.txt",".pnpm-type-check-output27.txt",".pnpm-type-check-output28.txt",".pnpm-type-check-output29.txt",".pnpm-type-check-output3.txt",".pnpm-type-check-output30.txt",".pnpm-type-check-output31.txt",".pnpm-type-check-output32.txt",".pnpm-type-check-output33.txt",".pnpm-type-check-output34.txt",".pnpm-type-check-output35.txt",".pnpm-type-check-output36.txt",".pnpm-type-check-output37.txt",".pnpm-type-check-output38.txt",".pnpm-type-check-output39.txt",".pnpm-type-check-output4.txt",".pnpm-type-check-output40.txt",".pnpm-type-check-output41.txt",".pnpm-type-check-output42.txt",".pnpm-type-check-output43.txt",".pnpm-type-check-output5.txt",".pnpm-type-check-output6.txt",".pnpm-type-check-output7.txt",".pnpm-type-check-output8.txt",".pnpm-type-check-output9.txt"],"removed":[],"modified":["backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/landing-pages/landing-page.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/stage-knowledge/stage-knowledge.service.ts","backend/src/modules/supply-chain/supply-chain-platform.service.ts","backend/src/modules/system-events/system-event.service.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/components/business/LeadScoreCard.vue","frontend/src/views/dashboard/Index.vue","frontend/src/views/dashboard/components/RecentActivities.vue","frontend/src/views/finance-os/cash/CashControlTower.vue","frontend/src/views/finance/MarketingReconciliation.vue","frontend/src/views/lead-scoring/Form.vue","frontend/src/views/leads/Assignment.vue","frontend/src/views/leads/ScoringRules.vue","frontend/src/views/quotes/Editor.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/service-dashboard/components/TrendsPanel.vue","frontend/src/views/settings/Index.vue","frontend/src/views/supplier-management/Contracts.vue","frontend/src/views/tickets/components/gantt/GanttToolbar.vue","frontend/src/views/tickets/components/gantt/TicketGanttChart.vue","frontend/src/views/tickets/components/gantt/composables/useGanttData.ts","shared/src/types/models.ts"]},{"id":"ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","message":"Fix shared model any usage\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ffba80d4f2db2f955107f264e83c8d2a42f6b8e9","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T22:54:25+08:00","added":[".gemini/policies/dev.toml",".pnpm-type-check-output.txt","backend/scripts/generate-route-inventory.ts","backend/src/modules/dashboard/omni-roi.service.ts","backend/src/modules/finance/reconciliation.controller.ts","backend/src/modules/finance/reconciliation.service.ts","backend/test-bpmn-moddle.js","backend/test-bpmn.mjs","backend/tests/business-flow.test.ts","docs/archive/sprint-stabilization-202602/GAP_MATRIX_20260206.md","docs/archive/sprint-stabilization-202602/route-contract-execution-checklist-v4-by-owner-detail.md","docs/audits/api-route-contract-audit.latest.md","docs/audits/event-publishing-audit.latest.md","docs/audits/route-registration-audit.latest.md","docs/audits/state-machine-integration-audit.latest.md","frontend/src/views/dashboard/OmniRoiDashboard.vue","frontend/src/views/finance/MarketingReconciliation.vue","scripts/db-performance-optimization.sql","scripts/gatekeeper.sh"],"removed":["reports/GAP_MATRIX_20260206.md","reports/route-contract-execution-checklist-v4-by-owner-detail.md"],"modified":["AGENTS.md","DEPLOY.md","GEMINI.md","backend/scripts/audit-baseline-gate.ts","backend/src/modules/channels/channel.controller.ts","backend/src/modules/channels/channel.service.ts","backend/src/modules/channels/index.ts","backend/src/modules/community-fission/community-fission.controller.ts","backend/src/modules/community-fission/community-fission.service.ts","backend/src/modules/content-distribution/content-distribution.controller.ts","backend/src/modules/content-distribution/content-distribution.service.ts","backend/src/modules/content-review/content-review.controller.ts","backend/src/modules/content-review/content-review.service.ts","backend/src/modules/customer-marketing/customer-marketing.controller.ts","backend/src/modules/customer-marketing/customer-marketing.service.ts","backend/src/modules/dashboard/dashboard.controller.ts","backend/src/modules/dashboard/dashboard.routes.ts","backend/src/modules/devices/asset-activation.controller.ts","backend/src/modules/devices/asset-activation.service.ts","backend/src/modules/diagnosis/diagnosis.controller.ts","backend/src/modules/diagnosis/diagnosis.routes.ts","backend/src/modules/diagnosis/diagnosis.service.ts","backend/src/modules/finance/finance.routes.ts","backend/src/modules/geo-analytics/geo-analytics.controller.ts","backend/src/modules/geo-analytics/geo-analytics.service.ts","backend/src/modules/groupbuy-products/groupbuy-product.controller.ts","backend/src/modules/groupbuy-products/groupbuy-product.routes.ts","backend/src/modules/groupbuy-products/groupbuy-product.service.ts","backend/src/modules/inventory/inventory.service.ts","backend/src/modules/inventory/services/index.ts","backend/src/modules/inventory/services/inventory-warehouse.service.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.controller.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.routes.ts","backend/src/modules/knowledge-feedback/knowledge-feedback.service.ts","backend/src/modules/leads/lead.controller.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-analytics/index.ts","backend/src/modules/livestream-analytics/livestream-analytics.controller.ts","backend/src/modules/livestream-analytics/livestream-analytics.routes.ts","backend/src/modules/livestream-analytics/livestream-analytics.service.ts","backend/src/modules/livestream-products/livestream-product.controller.ts","backend/src/modules/livestream-products/livestream-product.routes.ts","backend/src/modules/livestream-products/livestream-product.service.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/controllers/product.controller.ts","backend/src/modules/products/controllers/sku.controller.ts","backend/src/modules/products/product.routes.ts","backend/src/modules/products/routes/sku.routes.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/modules/renewals/renewal.controller.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/reports/report.controller.ts","backend/src/modules/reports/report.service.ts","backend/src/modules/service-monitor/service-disruption.controller.ts","backend/src/modules/service-monitor/service-disruption.service.ts","backend/src/modules/social-analytics/social-analytics.controller.ts","backend/src/modules/social-analytics/social-analytics.service.ts","frontend/src/api/adapters.ts","frontend/src/api/index.ts","frontend/src/api/modules/dashboard.ts","frontend/src/api/modules/finance.ts","frontend/src/api/modules/leads.ts","frontend/src/api/modules/quotes.ts","frontend/src/stores/leads.ts","frontend/src/views/leads/Form.vue","frontend/src/views/opportunities/Pipeline.vue","frontend/src/views/orders/Detail.vue","frontend/src/views/quotes/Detail.vue","frontend/src/views/quotes/Index.vue","shared/src/types/models.ts"]},{"id":"b222af8d439100df34d9a6d61374df924561d451","message":"Update AI agent workflows\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/b222af8d439100df34d9a6d61374df924561d451","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-26T09:06:43+08:00","added":["backend/test-moddle.js","backend/test-moddle2.js","backend/test-moddle3.js","docs/operations/toc-operations-manual.md"],"removed":[],"modified":["backend/package.json","backend/src/main.ts","backend/src/modules/ai-agents/ai-agent-im.schema.ts","backend/src/modules/ai-agents/ai-agent-im.types.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/agent-group-query.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/ai-agent-im.service.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/model-state-manager.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/ai-agents/services/task-heartbeat.service.ts","backend/src/modules/ai-agents/services/workflow-instance.service.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/meddpicc-analyses/meddpicc.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/process-designer/bpmn-converter.test.ts","backend/src/modules/process-designer/bpmn-converter.ts","backend/src/modules/process-designer/process-designer.controller.ts","backend/src/modules/process-designer/process-designer.routes.ts","backend/src/modules/process-designer/process-designer.schema.ts","backend/src/modules/process-designer/process-designer.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/targets/target.service.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/process-designer.ts","frontend/src/types/ai-agent.ts","frontend/src/views/ai-agents/IMConversations.vue","frontend/src/views/ai-agents/IMIntegrationSettings.vue","frontend/src/views/ai-agents/IMQueue.vue","frontend/src/views/ai-agents/LeadCollector.vue","frontend/src/views/process-designer/ProcessList.vue","pnpm-lock.yaml","scripts/start-all.sh"]}],"total_commits":0,"head_commit":{"id":"68528dce9b8c543283a675374b5a23bc2e46c935","message":"feat: SKU查询修复 + AI工作流状态机 + RAG集成 + 线索自动捕获\n\n1. 修复 SKU 服务 Prisma to-one 关系查询错误\n - 移除 products include 中无效的 where 子句(to-one 关系不支持)\n - 修复 list/get/getSkuByCode 三个方法\n\n2. 新增 AI 工作流状态机 (ai-workflow.machine.ts)\n - XState 5.x 实现:draft → active ↔ paused → archived\n - 包含守卫、动作、转换表、辅助函数\n - ai-agent.service.ts 集成 canTransitionAIWorkflow 校验\n\n3. IM 消息处理器 RAG 增强\n - 集成向量嵌入生成 (generateEmbedding)\n - 接入 ragEnhancedExecutor 知识检索增强\n - 实时线索捕获:识别 create_lead 意图自动提取线索\n\n4. 线索采集服务增强\n - 新增 AI 驱动的文本线索提取 (extractLeadFromText)\n - 新增 processIMLead 流水线:提取→清洗→验证→去重→创建\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/68528dce9b8c543283a675374b5a23bc2e46c935","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-02-27T07:32:22+08:00","added":["backend/src/shared/state-machines/machines/ai-workflow.machine.ts"],"removed":[],"modified":["backend/src/modules/ai-agents/ai-agent.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/products/services/sku.service.ts","backend/src/shared/state-machines/index.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":true,"fork":false,"template":false,"parent":null,"mirror":false,"size":479330,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-02-27T07:30:11+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1772155810
|
1772155810
|
0
|
1772155810
|
1772155810
|
NULL
|
|
0
|
Edit
Delete
|
|
2613
|
Refactor 多模块服务、控制器及新增客户旅程、审批模板、旅程编排功能
|
6
|
5
|
ci.yml
|
2559
|
5
|
0
|
refs/heads/main
|
7dc512ef391cd91c82f3c5cd31f3983edd557887
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c569bab58bc56fef3a84171d89184f43afccb7e8","after":"7dc512ef391cd91c82f3c5cd31f3983edd557887","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/c569bab58bc56fef3a84171d89184f43afccb7e8...7dc512ef391cd91c82f3c5cd31f3983edd557887","commits":[{"id":"7dc512ef391cd91c82f3c5cd31f3983edd557887","message":"Refactor 多模块服务、控制器及新增客户旅程、审批模板、旅程编排功能\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/7dc512ef391cd91c82f3c5cd31f3983edd557887","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-04T17:17:42+08:00","added":["backend/current_test_summary.txt","backend/scripts/analyze-backend-only-endpoints.ts","backend/src/modules/approval-templates/approval-template.routes.ts","backend/src/modules/customer-journey/customer-journey.routes.ts","backend/src/modules/journey-orchestration/journey-orchestration.routes.ts","backend/tests-integration/rls-policy-automation.test.ts","docs/plans/p0-table-partitioning-implementation-plan-2026-03-04.md","docs/plans/stabilization-sprint-p1-p2-plan-2026-03-04.md","reports/backend-only-endpoints-analysis.latest.json","reports/backend-only-endpoints-analysis.latest.md"],"removed":[],"modified":["backend/.env.example","backend/package.json","backend/scripts/audit-route-contract.ts","backend/src/config/env.ts","backend/src/config/kafka.ts","backend/src/consumers/ai-agent-task-processor.consumer.ts","backend/src/consumers/marketing-workflow-executor.consumer.ts","backend/src/main.ts","backend/src/modules/ad-campaigns/ad-campaigns.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/alliance-packages/alliance-package.controller.ts","backend/src/modules/assets/asset.service.ts","backend/src/modules/commissions/commission.service.ts","backend/src/modules/community-analytics/community-analytics.controller.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/dictionaries/dictionary.docs.ts","backend/src/modules/geo-reviews/geo-review.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/enrollments/enrollment.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.controller.ts","backend/src/modules/hr/training/enrollments/enrollment.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/hr/training/learning/learning.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/hr/training/questions/question.service.ts","backend/src/modules/hr/training/sessions/session.service.ts","backend/src/modules/invoices/invoice.controller.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/livestream-interactions/livestream-realtime.service.ts","backend/src/modules/livestream-products/index.ts","backend/src/modules/livestream-scripts/livestream-script.service.ts","backend/src/modules/marketing-automation/workflow-action.service.ts","backend/src/modules/marketing-automation/workflow-trigger.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/marketing-content/marketing-content.logic.ts","backend/src/modules/menus/menu.docs.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/search/search.controller.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/social-analytics/social-analytics.controller.ts","backend/src/modules/social-analytics/social-analytics.service.ts","backend/src/modules/stage-knowledge/stage-knowledge.controller.ts","backend/src/modules/supply-chain/supplier-management.service.ts","backend/src/modules/targets/target.service.ts","backend/src/modules/web-tracking/web-tracking.service.ts","backend/src/modules/workflow-generator/templates/actions.hbs","backend/src/modules/workflow-generator/templates/guards.hbs","backend/src/modules/workflow-generator/utils/transformer.ts","backend/src/modules/workflow-generator/workflow-generator.service.ts","backend/src/shared/services/outbox-processor-example.service.ts","frontend/src/api/client.ts","mobile/.env.development","mobile/vite.config.ts","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/route-registration-audit.latest.json","reports/route-registration-audit.latest.md","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","shared/src/api/client.ts","shared/src/utils/common.ts"]}],"total_commits":0,"head_commit":{"id":"7dc512ef391cd91c82f3c5cd31f3983edd557887","message":"Refactor 多模块服务、控制器及新增客户旅程、审批模板、旅程编排功能\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/7dc512ef391cd91c82f3c5cd31f3983edd557887","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-04T17:17:42+08:00","added":["backend/current_test_summary.txt","backend/scripts/analyze-backend-only-endpoints.ts","backend/src/modules/approval-templates/approval-template.routes.ts","backend/src/modules/customer-journey/customer-journey.routes.ts","backend/src/modules/journey-orchestration/journey-orchestration.routes.ts","backend/tests-integration/rls-policy-automation.test.ts","docs/plans/p0-table-partitioning-implementation-plan-2026-03-04.md","docs/plans/stabilization-sprint-p1-p2-plan-2026-03-04.md","reports/backend-only-endpoints-analysis.latest.json","reports/backend-only-endpoints-analysis.latest.md"],"removed":[],"modified":["backend/.env.example","backend/package.json","backend/scripts/audit-route-contract.ts","backend/src/config/env.ts","backend/src/config/kafka.ts","backend/src/consumers/ai-agent-task-processor.consumer.ts","backend/src/consumers/marketing-workflow-executor.consumer.ts","backend/src/main.ts","backend/src/modules/ad-campaigns/ad-campaigns.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/alliance-packages/alliance-package.controller.ts","backend/src/modules/assets/asset.service.ts","backend/src/modules/commissions/commission.service.ts","backend/src/modules/community-analytics/community-analytics.controller.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/dictionaries/dictionary.docs.ts","backend/src/modules/geo-reviews/geo-review.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/enrollments/enrollment.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.controller.ts","backend/src/modules/hr/training/enrollments/enrollment.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/hr/training/learning/learning.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/hr/training/questions/question.service.ts","backend/src/modules/hr/training/sessions/session.service.ts","backend/src/modules/invoices/invoice.controller.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/livestream-interactions/livestream-realtime.service.ts","backend/src/modules/livestream-products/index.ts","backend/src/modules/livestream-scripts/livestream-script.service.ts","backend/src/modules/marketing-automation/workflow-action.service.ts","backend/src/modules/marketing-automation/workflow-trigger.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/marketing-content/marketing-content.logic.ts","backend/src/modules/menus/menu.docs.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/search/search.controller.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/social-analytics/social-analytics.controller.ts","backend/src/modules/social-analytics/social-analytics.service.ts","backend/src/modules/stage-knowledge/stage-knowledge.controller.ts","backend/src/modules/supply-chain/supplier-management.service.ts","backend/src/modules/targets/target.service.ts","backend/src/modules/web-tracking/web-tracking.service.ts","backend/src/modules/workflow-generator/templates/actions.hbs","backend/src/modules/workflow-generator/templates/guards.hbs","backend/src/modules/workflow-generator/utils/transformer.ts","backend/src/modules/workflow-generator/workflow-generator.service.ts","backend/src/shared/services/outbox-processor-example.service.ts","frontend/src/api/client.ts","mobile/.env.development","mobile/vite.config.ts","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/route-registration-audit.latest.json","reports/route-registration-audit.latest.md","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","shared/src/api/client.ts","shared/src/utils/common.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1091946,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-04T17:15:34+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
24
|
1772615871
|
1772616379
|
0
|
1772615871
|
1772616379
|
NULL
|
|
0
|
Edit
Delete
|
|
2614
|
Refactor 多模块服务、控制器及新增客户旅程、审批模板、旅程编排功能
|
6
|
5
|
health-check.yml
|
2560
|
-2
|
49
|
refs/heads/main
|
7dc512ef391cd91c82f3c5cd31f3983edd557887
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c569bab58bc56fef3a84171d89184f43afccb7e8","after":"7dc512ef391cd91c82f3c5cd31f3983edd557887","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/c569bab58bc56fef3a84171d89184f43afccb7e8...7dc512ef391cd91c82f3c5cd31f3983edd557887","commits":[{"id":"7dc512ef391cd91c82f3c5cd31f3983edd557887","message":"Refactor 多模块服务、控制器及新增客户旅程、审批模板、旅程编排功能\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/7dc512ef391cd91c82f3c5cd31f3983edd557887","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-04T17:17:42+08:00","added":["backend/current_test_summary.txt","backend/scripts/analyze-backend-only-endpoints.ts","backend/src/modules/approval-templates/approval-template.routes.ts","backend/src/modules/customer-journey/customer-journey.routes.ts","backend/src/modules/journey-orchestration/journey-orchestration.routes.ts","backend/tests-integration/rls-policy-automation.test.ts","docs/plans/p0-table-partitioning-implementation-plan-2026-03-04.md","docs/plans/stabilization-sprint-p1-p2-plan-2026-03-04.md","reports/backend-only-endpoints-analysis.latest.json","reports/backend-only-endpoints-analysis.latest.md"],"removed":[],"modified":["backend/.env.example","backend/package.json","backend/scripts/audit-route-contract.ts","backend/src/config/env.ts","backend/src/config/kafka.ts","backend/src/consumers/ai-agent-task-processor.consumer.ts","backend/src/consumers/marketing-workflow-executor.consumer.ts","backend/src/main.ts","backend/src/modules/ad-campaigns/ad-campaigns.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/alliance-packages/alliance-package.controller.ts","backend/src/modules/assets/asset.service.ts","backend/src/modules/commissions/commission.service.ts","backend/src/modules/community-analytics/community-analytics.controller.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/dictionaries/dictionary.docs.ts","backend/src/modules/geo-reviews/geo-review.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/enrollments/enrollment.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.controller.ts","backend/src/modules/hr/training/enrollments/enrollment.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/hr/training/learning/learning.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/hr/training/questions/question.service.ts","backend/src/modules/hr/training/sessions/session.service.ts","backend/src/modules/invoices/invoice.controller.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/livestream-interactions/livestream-realtime.service.ts","backend/src/modules/livestream-products/index.ts","backend/src/modules/livestream-scripts/livestream-script.service.ts","backend/src/modules/marketing-automation/workflow-action.service.ts","backend/src/modules/marketing-automation/workflow-trigger.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/marketing-content/marketing-content.logic.ts","backend/src/modules/menus/menu.docs.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/search/search.controller.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/social-analytics/social-analytics.controller.ts","backend/src/modules/social-analytics/social-analytics.service.ts","backend/src/modules/stage-knowledge/stage-knowledge.controller.ts","backend/src/modules/supply-chain/supplier-management.service.ts","backend/src/modules/targets/target.service.ts","backend/src/modules/web-tracking/web-tracking.service.ts","backend/src/modules/workflow-generator/templates/actions.hbs","backend/src/modules/workflow-generator/templates/guards.hbs","backend/src/modules/workflow-generator/utils/transformer.ts","backend/src/modules/workflow-generator/workflow-generator.service.ts","backend/src/shared/services/outbox-processor-example.service.ts","frontend/src/api/client.ts","mobile/.env.development","mobile/vite.config.ts","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/route-registration-audit.latest.json","reports/route-registration-audit.latest.md","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","shared/src/api/client.ts","shared/src/utils/common.ts"]}],"total_commits":0,"head_commit":{"id":"7dc512ef391cd91c82f3c5cd31f3983edd557887","message":"Refactor 多模块服务、控制器及新增客户旅程、审批模板、旅程编排功能\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/7dc512ef391cd91c82f3c5cd31f3983edd557887","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-04T17:17:42+08:00","added":["backend/current_test_summary.txt","backend/scripts/analyze-backend-only-endpoints.ts","backend/src/modules/approval-templates/approval-template.routes.ts","backend/src/modules/customer-journey/customer-journey.routes.ts","backend/src/modules/journey-orchestration/journey-orchestration.routes.ts","backend/tests-integration/rls-policy-automation.test.ts","docs/plans/p0-table-partitioning-implementation-plan-2026-03-04.md","docs/plans/stabilization-sprint-p1-p2-plan-2026-03-04.md","reports/backend-only-endpoints-analysis.latest.json","reports/backend-only-endpoints-analysis.latest.md"],"removed":[],"modified":["backend/.env.example","backend/package.json","backend/scripts/audit-route-contract.ts","backend/src/config/env.ts","backend/src/config/kafka.ts","backend/src/consumers/ai-agent-task-processor.consumer.ts","backend/src/consumers/marketing-workflow-executor.consumer.ts","backend/src/main.ts","backend/src/modules/ad-campaigns/ad-campaigns.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/alliance-packages/alliance-package.controller.ts","backend/src/modules/assets/asset.service.ts","backend/src/modules/commissions/commission.service.ts","backend/src/modules/community-analytics/community-analytics.controller.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/dictionaries/dictionary.docs.ts","backend/src/modules/geo-reviews/geo-review.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/enrollments/enrollment.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.controller.ts","backend/src/modules/hr/training/enrollments/enrollment.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/hr/training/learning/learning.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/hr/training/questions/question.service.ts","backend/src/modules/hr/training/sessions/session.service.ts","backend/src/modules/invoices/invoice.controller.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/livestream-interactions/livestream-realtime.service.ts","backend/src/modules/livestream-products/index.ts","backend/src/modules/livestream-scripts/livestream-script.service.ts","backend/src/modules/marketing-automation/workflow-action.service.ts","backend/src/modules/marketing-automation/workflow-trigger.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/marketing-content/marketing-content.logic.ts","backend/src/modules/menus/menu.docs.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/search/search.controller.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/social-analytics/social-analytics.controller.ts","backend/src/modules/social-analytics/social-analytics.service.ts","backend/src/modules/stage-knowledge/stage-knowledge.controller.ts","backend/src/modules/supply-chain/supplier-management.service.ts","backend/src/modules/targets/target.service.ts","backend/src/modules/web-tracking/web-tracking.service.ts","backend/src/modules/workflow-generator/templates/actions.hbs","backend/src/modules/workflow-generator/templates/guards.hbs","backend/src/modules/workflow-generator/utils/transformer.ts","backend/src/modules/workflow-generator/workflow-generator.service.ts","backend/src/shared/services/outbox-processor-example.service.ts","frontend/src/api/client.ts","mobile/.env.development","mobile/vite.config.ts","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/route-registration-audit.latest.json","reports/route-registration-audit.latest.md","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","shared/src/api/client.ts","shared/src/utils/common.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1091946,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-04T17:15:34+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
2
|
2
|
0
|
1772616332
|
0
|
1772616032
|
1772616332
|
NULL
|
|
0
|
Edit
Delete
|
|
2615
|
Refactor 多模块服务、控制器及新增客户旅程、审批模板、旅程编排功能
|
6
|
5
|
health-check.yml
|
2561
|
-2
|
49
|
refs/heads/main
|
7dc512ef391cd91c82f3c5cd31f3983edd557887
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c569bab58bc56fef3a84171d89184f43afccb7e8","after":"7dc512ef391cd91c82f3c5cd31f3983edd557887","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/c569bab58bc56fef3a84171d89184f43afccb7e8...7dc512ef391cd91c82f3c5cd31f3983edd557887","commits":[{"id":"7dc512ef391cd91c82f3c5cd31f3983edd557887","message":"Refactor 多模块服务、控制器及新增客户旅程、审批模板、旅程编排功能\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/7dc512ef391cd91c82f3c5cd31f3983edd557887","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-04T17:17:42+08:00","added":["backend/current_test_summary.txt","backend/scripts/analyze-backend-only-endpoints.ts","backend/src/modules/approval-templates/approval-template.routes.ts","backend/src/modules/customer-journey/customer-journey.routes.ts","backend/src/modules/journey-orchestration/journey-orchestration.routes.ts","backend/tests-integration/rls-policy-automation.test.ts","docs/plans/p0-table-partitioning-implementation-plan-2026-03-04.md","docs/plans/stabilization-sprint-p1-p2-plan-2026-03-04.md","reports/backend-only-endpoints-analysis.latest.json","reports/backend-only-endpoints-analysis.latest.md"],"removed":[],"modified":["backend/.env.example","backend/package.json","backend/scripts/audit-route-contract.ts","backend/src/config/env.ts","backend/src/config/kafka.ts","backend/src/consumers/ai-agent-task-processor.consumer.ts","backend/src/consumers/marketing-workflow-executor.consumer.ts","backend/src/main.ts","backend/src/modules/ad-campaigns/ad-campaigns.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/alliance-packages/alliance-package.controller.ts","backend/src/modules/assets/asset.service.ts","backend/src/modules/commissions/commission.service.ts","backend/src/modules/community-analytics/community-analytics.controller.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/dictionaries/dictionary.docs.ts","backend/src/modules/geo-reviews/geo-review.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/enrollments/enrollment.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.controller.ts","backend/src/modules/hr/training/enrollments/enrollment.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/hr/training/learning/learning.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/hr/training/questions/question.service.ts","backend/src/modules/hr/training/sessions/session.service.ts","backend/src/modules/invoices/invoice.controller.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/livestream-interactions/livestream-realtime.service.ts","backend/src/modules/livestream-products/index.ts","backend/src/modules/livestream-scripts/livestream-script.service.ts","backend/src/modules/marketing-automation/workflow-action.service.ts","backend/src/modules/marketing-automation/workflow-trigger.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/marketing-content/marketing-content.logic.ts","backend/src/modules/menus/menu.docs.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/search/search.controller.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/social-analytics/social-analytics.controller.ts","backend/src/modules/social-analytics/social-analytics.service.ts","backend/src/modules/stage-knowledge/stage-knowledge.controller.ts","backend/src/modules/supply-chain/supplier-management.service.ts","backend/src/modules/targets/target.service.ts","backend/src/modules/web-tracking/web-tracking.service.ts","backend/src/modules/workflow-generator/templates/actions.hbs","backend/src/modules/workflow-generator/templates/guards.hbs","backend/src/modules/workflow-generator/utils/transformer.ts","backend/src/modules/workflow-generator/workflow-generator.service.ts","backend/src/shared/services/outbox-processor-example.service.ts","frontend/src/api/client.ts","mobile/.env.development","mobile/vite.config.ts","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/route-registration-audit.latest.json","reports/route-registration-audit.latest.md","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","shared/src/api/client.ts","shared/src/utils/common.ts"]}],"total_commits":0,"head_commit":{"id":"7dc512ef391cd91c82f3c5cd31f3983edd557887","message":"Refactor 多模块服务、控制器及新增客户旅程、审批模板、旅程编排功能\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/7dc512ef391cd91c82f3c5cd31f3983edd557887","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-04T17:17:42+08:00","added":["backend/current_test_summary.txt","backend/scripts/analyze-backend-only-endpoints.ts","backend/src/modules/approval-templates/approval-template.routes.ts","backend/src/modules/customer-journey/customer-journey.routes.ts","backend/src/modules/journey-orchestration/journey-orchestration.routes.ts","backend/tests-integration/rls-policy-automation.test.ts","docs/plans/p0-table-partitioning-implementation-plan-2026-03-04.md","docs/plans/stabilization-sprint-p1-p2-plan-2026-03-04.md","reports/backend-only-endpoints-analysis.latest.json","reports/backend-only-endpoints-analysis.latest.md"],"removed":[],"modified":["backend/.env.example","backend/package.json","backend/scripts/audit-route-contract.ts","backend/src/config/env.ts","backend/src/config/kafka.ts","backend/src/consumers/ai-agent-task-processor.consumer.ts","backend/src/consumers/marketing-workflow-executor.consumer.ts","backend/src/main.ts","backend/src/modules/ad-campaigns/ad-campaigns.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/alliance-packages/alliance-package.controller.ts","backend/src/modules/assets/asset.service.ts","backend/src/modules/commissions/commission.service.ts","backend/src/modules/community-analytics/community-analytics.controller.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/dictionaries/dictionary.docs.ts","backend/src/modules/geo-reviews/geo-review.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/enrollments/enrollment.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.controller.ts","backend/src/modules/hr/training/enrollments/enrollment.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/hr/training/learning/learning.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/hr/training/questions/question.service.ts","backend/src/modules/hr/training/sessions/session.service.ts","backend/src/modules/invoices/invoice.controller.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/livestream-interactions/livestream-realtime.service.ts","backend/src/modules/livestream-products/index.ts","backend/src/modules/livestream-scripts/livestream-script.service.ts","backend/src/modules/marketing-automation/workflow-action.service.ts","backend/src/modules/marketing-automation/workflow-trigger.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/marketing-content/marketing-content.logic.ts","backend/src/modules/menus/menu.docs.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/search/search.controller.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/social-analytics/social-analytics.controller.ts","backend/src/modules/social-analytics/social-analytics.service.ts","backend/src/modules/stage-knowledge/stage-knowledge.controller.ts","backend/src/modules/supply-chain/supplier-management.service.ts","backend/src/modules/targets/target.service.ts","backend/src/modules/web-tracking/web-tracking.service.ts","backend/src/modules/workflow-generator/templates/actions.hbs","backend/src/modules/workflow-generator/templates/guards.hbs","backend/src/modules/workflow-generator/utils/transformer.ts","backend/src/modules/workflow-generator/workflow-generator.service.ts","backend/src/shared/services/outbox-processor-example.service.ts","frontend/src/api/client.ts","mobile/.env.development","mobile/vite.config.ts","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/route-registration-audit.latest.json","reports/route-registration-audit.latest.md","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","shared/src/api/client.ts","shared/src/utils/common.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1091946,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-04T17:15:34+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1772616374
|
1772616375
|
0
|
1772616332
|
1772616375
|
NULL
|
|
0
|
Edit
Delete
|
|
2616
|
Refactor 多模块服务、控制器及新增客户旅程、审批模板、旅程编排功能
|
6
|
5
|
health-check.yml
|
2562
|
-2
|
49
|
refs/heads/main
|
7dc512ef391cd91c82f3c5cd31f3983edd557887
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c569bab58bc56fef3a84171d89184f43afccb7e8","after":"7dc512ef391cd91c82f3c5cd31f3983edd557887","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/c569bab58bc56fef3a84171d89184f43afccb7e8...7dc512ef391cd91c82f3c5cd31f3983edd557887","commits":[{"id":"7dc512ef391cd91c82f3c5cd31f3983edd557887","message":"Refactor 多模块服务、控制器及新增客户旅程、审批模板、旅程编排功能\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/7dc512ef391cd91c82f3c5cd31f3983edd557887","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-04T17:17:42+08:00","added":["backend/current_test_summary.txt","backend/scripts/analyze-backend-only-endpoints.ts","backend/src/modules/approval-templates/approval-template.routes.ts","backend/src/modules/customer-journey/customer-journey.routes.ts","backend/src/modules/journey-orchestration/journey-orchestration.routes.ts","backend/tests-integration/rls-policy-automation.test.ts","docs/plans/p0-table-partitioning-implementation-plan-2026-03-04.md","docs/plans/stabilization-sprint-p1-p2-plan-2026-03-04.md","reports/backend-only-endpoints-analysis.latest.json","reports/backend-only-endpoints-analysis.latest.md"],"removed":[],"modified":["backend/.env.example","backend/package.json","backend/scripts/audit-route-contract.ts","backend/src/config/env.ts","backend/src/config/kafka.ts","backend/src/consumers/ai-agent-task-processor.consumer.ts","backend/src/consumers/marketing-workflow-executor.consumer.ts","backend/src/main.ts","backend/src/modules/ad-campaigns/ad-campaigns.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/alliance-packages/alliance-package.controller.ts","backend/src/modules/assets/asset.service.ts","backend/src/modules/commissions/commission.service.ts","backend/src/modules/community-analytics/community-analytics.controller.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/dictionaries/dictionary.docs.ts","backend/src/modules/geo-reviews/geo-review.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/enrollments/enrollment.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.controller.ts","backend/src/modules/hr/training/enrollments/enrollment.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/hr/training/learning/learning.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/hr/training/questions/question.service.ts","backend/src/modules/hr/training/sessions/session.service.ts","backend/src/modules/invoices/invoice.controller.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/livestream-interactions/livestream-realtime.service.ts","backend/src/modules/livestream-products/index.ts","backend/src/modules/livestream-scripts/livestream-script.service.ts","backend/src/modules/marketing-automation/workflow-action.service.ts","backend/src/modules/marketing-automation/workflow-trigger.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/marketing-content/marketing-content.logic.ts","backend/src/modules/menus/menu.docs.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/search/search.controller.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/social-analytics/social-analytics.controller.ts","backend/src/modules/social-analytics/social-analytics.service.ts","backend/src/modules/stage-knowledge/stage-knowledge.controller.ts","backend/src/modules/supply-chain/supplier-management.service.ts","backend/src/modules/targets/target.service.ts","backend/src/modules/web-tracking/web-tracking.service.ts","backend/src/modules/workflow-generator/templates/actions.hbs","backend/src/modules/workflow-generator/templates/guards.hbs","backend/src/modules/workflow-generator/utils/transformer.ts","backend/src/modules/workflow-generator/workflow-generator.service.ts","backend/src/shared/services/outbox-processor-example.service.ts","frontend/src/api/client.ts","mobile/.env.development","mobile/vite.config.ts","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/route-registration-audit.latest.json","reports/route-registration-audit.latest.md","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","shared/src/api/client.ts","shared/src/utils/common.ts"]}],"total_commits":0,"head_commit":{"id":"7dc512ef391cd91c82f3c5cd31f3983edd557887","message":"Refactor 多模块服务、控制器及新增客户旅程、审批模板、旅程编排功能\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/7dc512ef391cd91c82f3c5cd31f3983edd557887","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-04T17:17:42+08:00","added":["backend/current_test_summary.txt","backend/scripts/analyze-backend-only-endpoints.ts","backend/src/modules/approval-templates/approval-template.routes.ts","backend/src/modules/customer-journey/customer-journey.routes.ts","backend/src/modules/journey-orchestration/journey-orchestration.routes.ts","backend/tests-integration/rls-policy-automation.test.ts","docs/plans/p0-table-partitioning-implementation-plan-2026-03-04.md","docs/plans/stabilization-sprint-p1-p2-plan-2026-03-04.md","reports/backend-only-endpoints-analysis.latest.json","reports/backend-only-endpoints-analysis.latest.md"],"removed":[],"modified":["backend/.env.example","backend/package.json","backend/scripts/audit-route-contract.ts","backend/src/config/env.ts","backend/src/config/kafka.ts","backend/src/consumers/ai-agent-task-processor.consumer.ts","backend/src/consumers/marketing-workflow-executor.consumer.ts","backend/src/main.ts","backend/src/modules/ad-campaigns/ad-campaigns.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/alliance-packages/alliance-package.controller.ts","backend/src/modules/assets/asset.service.ts","backend/src/modules/commissions/commission.service.ts","backend/src/modules/community-analytics/community-analytics.controller.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/dictionaries/dictionary.docs.ts","backend/src/modules/geo-reviews/geo-review.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/enrollments/enrollment.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.controller.ts","backend/src/modules/hr/training/enrollments/enrollment.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/hr/training/learning/learning.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/hr/training/questions/question.service.ts","backend/src/modules/hr/training/sessions/session.service.ts","backend/src/modules/invoices/invoice.controller.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/livestream-interactions/livestream-realtime.service.ts","backend/src/modules/livestream-products/index.ts","backend/src/modules/livestream-scripts/livestream-script.service.ts","backend/src/modules/marketing-automation/workflow-action.service.ts","backend/src/modules/marketing-automation/workflow-trigger.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/marketing-content/marketing-content.logic.ts","backend/src/modules/menus/menu.docs.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/search/search.controller.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/social-analytics/social-analytics.controller.ts","backend/src/modules/social-analytics/social-analytics.service.ts","backend/src/modules/stage-knowledge/stage-knowledge.controller.ts","backend/src/modules/supply-chain/supplier-management.service.ts","backend/src/modules/targets/target.service.ts","backend/src/modules/web-tracking/web-tracking.service.ts","backend/src/modules/workflow-generator/templates/actions.hbs","backend/src/modules/workflow-generator/templates/guards.hbs","backend/src/modules/workflow-generator/utils/transformer.ts","backend/src/modules/workflow-generator/workflow-generator.service.ts","backend/src/shared/services/outbox-processor-example.service.ts","frontend/src/api/client.ts","mobile/.env.development","mobile/vite.config.ts","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/route-registration-audit.latest.json","reports/route-registration-audit.latest.md","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","shared/src/api/client.ts","shared/src/utils/common.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1091946,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-04T17:15:34+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1772616632
|
1772616633
|
0
|
1772616632
|
1772616633
|
NULL
|
|
0
|
Edit
Delete
|
|
2617
|
Refactor 多模块服务、控制器及新增客户旅程、审批模板、旅程编排功能
|
6
|
5
|
health-check.yml
|
2563
|
-2
|
49
|
refs/heads/main
|
7dc512ef391cd91c82f3c5cd31f3983edd557887
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c569bab58bc56fef3a84171d89184f43afccb7e8","after":"7dc512ef391cd91c82f3c5cd31f3983edd557887","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/c569bab58bc56fef3a84171d89184f43afccb7e8...7dc512ef391cd91c82f3c5cd31f3983edd557887","commits":[{"id":"7dc512ef391cd91c82f3c5cd31f3983edd557887","message":"Refactor 多模块服务、控制器及新增客户旅程、审批模板、旅程编排功能\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/7dc512ef391cd91c82f3c5cd31f3983edd557887","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-04T17:17:42+08:00","added":["backend/current_test_summary.txt","backend/scripts/analyze-backend-only-endpoints.ts","backend/src/modules/approval-templates/approval-template.routes.ts","backend/src/modules/customer-journey/customer-journey.routes.ts","backend/src/modules/journey-orchestration/journey-orchestration.routes.ts","backend/tests-integration/rls-policy-automation.test.ts","docs/plans/p0-table-partitioning-implementation-plan-2026-03-04.md","docs/plans/stabilization-sprint-p1-p2-plan-2026-03-04.md","reports/backend-only-endpoints-analysis.latest.json","reports/backend-only-endpoints-analysis.latest.md"],"removed":[],"modified":["backend/.env.example","backend/package.json","backend/scripts/audit-route-contract.ts","backend/src/config/env.ts","backend/src/config/kafka.ts","backend/src/consumers/ai-agent-task-processor.consumer.ts","backend/src/consumers/marketing-workflow-executor.consumer.ts","backend/src/main.ts","backend/src/modules/ad-campaigns/ad-campaigns.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/alliance-packages/alliance-package.controller.ts","backend/src/modules/assets/asset.service.ts","backend/src/modules/commissions/commission.service.ts","backend/src/modules/community-analytics/community-analytics.controller.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/dictionaries/dictionary.docs.ts","backend/src/modules/geo-reviews/geo-review.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/enrollments/enrollment.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.controller.ts","backend/src/modules/hr/training/enrollments/enrollment.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/hr/training/learning/learning.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/hr/training/questions/question.service.ts","backend/src/modules/hr/training/sessions/session.service.ts","backend/src/modules/invoices/invoice.controller.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/livestream-interactions/livestream-realtime.service.ts","backend/src/modules/livestream-products/index.ts","backend/src/modules/livestream-scripts/livestream-script.service.ts","backend/src/modules/marketing-automation/workflow-action.service.ts","backend/src/modules/marketing-automation/workflow-trigger.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/marketing-content/marketing-content.logic.ts","backend/src/modules/menus/menu.docs.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/search/search.controller.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/social-analytics/social-analytics.controller.ts","backend/src/modules/social-analytics/social-analytics.service.ts","backend/src/modules/stage-knowledge/stage-knowledge.controller.ts","backend/src/modules/supply-chain/supplier-management.service.ts","backend/src/modules/targets/target.service.ts","backend/src/modules/web-tracking/web-tracking.service.ts","backend/src/modules/workflow-generator/templates/actions.hbs","backend/src/modules/workflow-generator/templates/guards.hbs","backend/src/modules/workflow-generator/utils/transformer.ts","backend/src/modules/workflow-generator/workflow-generator.service.ts","backend/src/shared/services/outbox-processor-example.service.ts","frontend/src/api/client.ts","mobile/.env.development","mobile/vite.config.ts","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/route-registration-audit.latest.json","reports/route-registration-audit.latest.md","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","shared/src/api/client.ts","shared/src/utils/common.ts"]}],"total_commits":0,"head_commit":{"id":"7dc512ef391cd91c82f3c5cd31f3983edd557887","message":"Refactor 多模块服务、控制器及新增客户旅程、审批模板、旅程编排功能\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/7dc512ef391cd91c82f3c5cd31f3983edd557887","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-04T17:17:42+08:00","added":["backend/current_test_summary.txt","backend/scripts/analyze-backend-only-endpoints.ts","backend/src/modules/approval-templates/approval-template.routes.ts","backend/src/modules/customer-journey/customer-journey.routes.ts","backend/src/modules/journey-orchestration/journey-orchestration.routes.ts","backend/tests-integration/rls-policy-automation.test.ts","docs/plans/p0-table-partitioning-implementation-plan-2026-03-04.md","docs/plans/stabilization-sprint-p1-p2-plan-2026-03-04.md","reports/backend-only-endpoints-analysis.latest.json","reports/backend-only-endpoints-analysis.latest.md"],"removed":[],"modified":["backend/.env.example","backend/package.json","backend/scripts/audit-route-contract.ts","backend/src/config/env.ts","backend/src/config/kafka.ts","backend/src/consumers/ai-agent-task-processor.consumer.ts","backend/src/consumers/marketing-workflow-executor.consumer.ts","backend/src/main.ts","backend/src/modules/ad-campaigns/ad-campaigns.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/alliance-packages/alliance-package.controller.ts","backend/src/modules/assets/asset.service.ts","backend/src/modules/commissions/commission.service.ts","backend/src/modules/community-analytics/community-analytics.controller.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/dictionaries/dictionary.docs.ts","backend/src/modules/geo-reviews/geo-review.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/enrollments/enrollment.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.controller.ts","backend/src/modules/hr/training/enrollments/enrollment.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/hr/training/learning/learning.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/hr/training/questions/question.service.ts","backend/src/modules/hr/training/sessions/session.service.ts","backend/src/modules/invoices/invoice.controller.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/livestream-interactions/livestream-realtime.service.ts","backend/src/modules/livestream-products/index.ts","backend/src/modules/livestream-scripts/livestream-script.service.ts","backend/src/modules/marketing-automation/workflow-action.service.ts","backend/src/modules/marketing-automation/workflow-trigger.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/marketing-content/marketing-content.logic.ts","backend/src/modules/menus/menu.docs.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/search/search.controller.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/social-analytics/social-analytics.controller.ts","backend/src/modules/social-analytics/social-analytics.service.ts","backend/src/modules/stage-knowledge/stage-knowledge.controller.ts","backend/src/modules/supply-chain/supplier-management.service.ts","backend/src/modules/targets/target.service.ts","backend/src/modules/web-tracking/web-tracking.service.ts","backend/src/modules/workflow-generator/templates/actions.hbs","backend/src/modules/workflow-generator/templates/guards.hbs","backend/src/modules/workflow-generator/utils/transformer.ts","backend/src/modules/workflow-generator/workflow-generator.service.ts","backend/src/shared/services/outbox-processor-example.service.ts","frontend/src/api/client.ts","mobile/.env.development","mobile/vite.config.ts","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/route-registration-audit.latest.json","reports/route-registration-audit.latest.md","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","shared/src/api/client.ts","shared/src/utils/common.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1091946,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-04T17:15:34+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1772616932
|
1772616933
|
0
|
1772616932
|
1772616933
|
NULL
|
|
0
|
Edit
Delete
|
|
2618
|
Refactor 多模块服务、控制器及新增客户旅程、审批模板、旅程编排功能
|
6
|
5
|
health-check.yml
|
2564
|
-2
|
49
|
refs/heads/main
|
7dc512ef391cd91c82f3c5cd31f3983edd557887
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c569bab58bc56fef3a84171d89184f43afccb7e8","after":"7dc512ef391cd91c82f3c5cd31f3983edd557887","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/c569bab58bc56fef3a84171d89184f43afccb7e8...7dc512ef391cd91c82f3c5cd31f3983edd557887","commits":[{"id":"7dc512ef391cd91c82f3c5cd31f3983edd557887","message":"Refactor 多模块服务、控制器及新增客户旅程、审批模板、旅程编排功能\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/7dc512ef391cd91c82f3c5cd31f3983edd557887","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-04T17:17:42+08:00","added":["backend/current_test_summary.txt","backend/scripts/analyze-backend-only-endpoints.ts","backend/src/modules/approval-templates/approval-template.routes.ts","backend/src/modules/customer-journey/customer-journey.routes.ts","backend/src/modules/journey-orchestration/journey-orchestration.routes.ts","backend/tests-integration/rls-policy-automation.test.ts","docs/plans/p0-table-partitioning-implementation-plan-2026-03-04.md","docs/plans/stabilization-sprint-p1-p2-plan-2026-03-04.md","reports/backend-only-endpoints-analysis.latest.json","reports/backend-only-endpoints-analysis.latest.md"],"removed":[],"modified":["backend/.env.example","backend/package.json","backend/scripts/audit-route-contract.ts","backend/src/config/env.ts","backend/src/config/kafka.ts","backend/src/consumers/ai-agent-task-processor.consumer.ts","backend/src/consumers/marketing-workflow-executor.consumer.ts","backend/src/main.ts","backend/src/modules/ad-campaigns/ad-campaigns.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/alliance-packages/alliance-package.controller.ts","backend/src/modules/assets/asset.service.ts","backend/src/modules/commissions/commission.service.ts","backend/src/modules/community-analytics/community-analytics.controller.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/dictionaries/dictionary.docs.ts","backend/src/modules/geo-reviews/geo-review.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/enrollments/enrollment.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.controller.ts","backend/src/modules/hr/training/enrollments/enrollment.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/hr/training/learning/learning.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/hr/training/questions/question.service.ts","backend/src/modules/hr/training/sessions/session.service.ts","backend/src/modules/invoices/invoice.controller.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/livestream-interactions/livestream-realtime.service.ts","backend/src/modules/livestream-products/index.ts","backend/src/modules/livestream-scripts/livestream-script.service.ts","backend/src/modules/marketing-automation/workflow-action.service.ts","backend/src/modules/marketing-automation/workflow-trigger.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/marketing-content/marketing-content.logic.ts","backend/src/modules/menus/menu.docs.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/search/search.controller.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/social-analytics/social-analytics.controller.ts","backend/src/modules/social-analytics/social-analytics.service.ts","backend/src/modules/stage-knowledge/stage-knowledge.controller.ts","backend/src/modules/supply-chain/supplier-management.service.ts","backend/src/modules/targets/target.service.ts","backend/src/modules/web-tracking/web-tracking.service.ts","backend/src/modules/workflow-generator/templates/actions.hbs","backend/src/modules/workflow-generator/templates/guards.hbs","backend/src/modules/workflow-generator/utils/transformer.ts","backend/src/modules/workflow-generator/workflow-generator.service.ts","backend/src/shared/services/outbox-processor-example.service.ts","frontend/src/api/client.ts","mobile/.env.development","mobile/vite.config.ts","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/route-registration-audit.latest.json","reports/route-registration-audit.latest.md","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","shared/src/api/client.ts","shared/src/utils/common.ts"]}],"total_commits":0,"head_commit":{"id":"7dc512ef391cd91c82f3c5cd31f3983edd557887","message":"Refactor 多模块服务、控制器及新增客户旅程、审批模板、旅程编排功能\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/7dc512ef391cd91c82f3c5cd31f3983edd557887","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-04T17:17:42+08:00","added":["backend/current_test_summary.txt","backend/scripts/analyze-backend-only-endpoints.ts","backend/src/modules/approval-templates/approval-template.routes.ts","backend/src/modules/customer-journey/customer-journey.routes.ts","backend/src/modules/journey-orchestration/journey-orchestration.routes.ts","backend/tests-integration/rls-policy-automation.test.ts","docs/plans/p0-table-partitioning-implementation-plan-2026-03-04.md","docs/plans/stabilization-sprint-p1-p2-plan-2026-03-04.md","reports/backend-only-endpoints-analysis.latest.json","reports/backend-only-endpoints-analysis.latest.md"],"removed":[],"modified":["backend/.env.example","backend/package.json","backend/scripts/audit-route-contract.ts","backend/src/config/env.ts","backend/src/config/kafka.ts","backend/src/consumers/ai-agent-task-processor.consumer.ts","backend/src/consumers/marketing-workflow-executor.consumer.ts","backend/src/main.ts","backend/src/modules/ad-campaigns/ad-campaigns.service.ts","backend/src/modules/ai-agents/services/ai-agent-im-message-processor.service.ts","backend/src/modules/ai-agents/services/lead-collector.service.ts","backend/src/modules/ai-agents/services/multi-agent-collaboration.service.ts","backend/src/modules/alliance-packages/alliance-package.controller.ts","backend/src/modules/assets/asset.service.ts","backend/src/modules/commissions/commission.service.ts","backend/src/modules/community-analytics/community-analytics.controller.ts","backend/src/modules/community-gamification/community-gamification.service.ts","backend/src/modules/dictionaries/dictionary.docs.ts","backend/src/modules/geo-reviews/geo-review.service.ts","backend/src/modules/hr/attendance/schedules/schedule.service.ts","backend/src/modules/hr/benefits/enrollments/enrollment.service.ts","backend/src/modules/hr/training/competency/competency.service.ts","backend/src/modules/hr/training/courses/course.controller.ts","backend/src/modules/hr/training/enrollments/enrollment.service.ts","backend/src/modules/hr/training/exams/exam.service.ts","backend/src/modules/hr/training/learning/learning.service.ts","backend/src/modules/hr/training/plans/plan.service.ts","backend/src/modules/hr/training/questions/question.service.ts","backend/src/modules/hr/training/sessions/session.service.ts","backend/src/modules/invoices/invoice.controller.ts","backend/src/modules/lead-scoring-ai/lead-scoring-ai.service.ts","backend/src/modules/livestream-interactions/livestream-realtime.service.ts","backend/src/modules/livestream-products/index.ts","backend/src/modules/livestream-scripts/livestream-script.service.ts","backend/src/modules/marketing-automation/workflow-action.service.ts","backend/src/modules/marketing-automation/workflow-trigger.service.ts","backend/src/modules/marketing-chatbot/marketing-chatbot.service.ts","backend/src/modules/marketing-content/marketing-content.logic.ts","backend/src/modules/menus/menu.docs.ts","backend/src/modules/products/services/product.service.test.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/renewals/renewal.service.ts","backend/src/modules/search/search.controller.ts","backend/src/modules/sms-marketing/sms-marketing.service.ts","backend/src/modules/social-analytics/social-analytics.controller.ts","backend/src/modules/social-analytics/social-analytics.service.ts","backend/src/modules/stage-knowledge/stage-knowledge.controller.ts","backend/src/modules/supply-chain/supplier-management.service.ts","backend/src/modules/targets/target.service.ts","backend/src/modules/web-tracking/web-tracking.service.ts","backend/src/modules/workflow-generator/templates/actions.hbs","backend/src/modules/workflow-generator/templates/guards.hbs","backend/src/modules/workflow-generator/utils/transformer.ts","backend/src/modules/workflow-generator/workflow-generator.service.ts","backend/src/shared/services/outbox-processor-example.service.ts","frontend/src/api/client.ts","mobile/.env.development","mobile/vite.config.ts","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/route-registration-audit.latest.json","reports/route-registration-audit.latest.md","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","shared/src/api/client.ts","shared/src/utils/common.ts"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1091946,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-04T17:15:34+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1772617232
|
1772617233
|
0
|
1772617232
|
1772617233
|
NULL
|
|
0
|
Edit
Delete
|