|
7201
|
Refine AI agent menus and add pending tasks review Refine AI agent menus and add pending tasks review page...
|
6
|
5
|
health-check.yml
|
7128
|
-2
|
92
|
refs/heads/main
|
979d9c81063fbda12f1445bf80b0c0027b0fbac2
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f","after":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f...979d9c81063fbda12f1445bf80b0c0027b0fbac2","commits":[{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},{"id":"8e492fbd580d447f4eaefeb6287810a0ca9bffbe","message":"Implement AI autopilot canonical flows and governance updates\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8e492fbd580d447f4eaefeb6287810a0ca9bffbe","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-19T23:41:26+08:00","added":["backend/prisma/migrations/20260319120000_autopilot_v1_canonical/migration.sql","backend/prisma/migrations/20260319134500_autopilot_hardening/migration.sql","backend/src/modules/ai-agents/ai-autopilot.controller.ts","backend/src/modules/ai-agents/ai-autopilot.docs.ts","backend/src/modules/ai-agents/ai-autopilot.routes.ts","backend/src/modules/ai-agents/ai-autopilot.schema.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/autopilot-executor-registry.service.ts","backend/tests/api/ai-autopilot.test.ts","backend/tests/helpers/ensure-ai-autopilot-runtime-schema.ts","e2e/agents/playwright-agent/inspectors/ad-campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/social-interaction-inspector.ts","e2e/agents/playwright-agent/inspectors/social-publish-inspector.ts","e2e/tests/auth/ai-autopilot-smoke.spec.ts","frontend/src/api/modules/ai-autopilot.ts","frontend/src/views/ai-agents/__tests__/ai-autopilot.smoke.test.ts","frontend/src/views/ai-agents/autopilot/AutoGrowth.vue","frontend/src/views/ai-agents/autopilot/AutoOps.vue","frontend/src/views/ai-agents/autopilot/Flows.vue","frontend/src/views/ai-agents/autopilot/Overview.vue","frontend/src/views/ai-agents/autopilot/RunDetail.vue","frontend/src/views/ai-agents/autopilot/Runs.vue"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/package.json","backend/prisma/schema.prisma","backend/scripts/audit-docs-single-source.ts","backend/src/modules/ai-agents/ai-agent.docs.ts","backend/src/modules/ai-agents/ai-agent.routes.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.types.ts","backend/src/shared/constants/events.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/process-core/default-workflow-definitions.ts","backend/src/shared/state-machines/machines/ai-task.machine.ts","backend/src/shared/state-machines/utils/transitions.ts","backend/tests/api/ai-agents-conversations.test.ts","backend/tests/api/ai-agents-im-queue.test.ts","backend/tests/api/ai-agents-workflows-training.test.ts","e2e/.auth/admin.json","e2e/agents/playwright-agent/index.ts","e2e/agents/playwright-agent/inspectors/index.ts","e2e/agents/playwright-agent/reporters/backend-reporter.ts","e2e/package.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/test-results/results.json","e2e/tests/navigation/requested-menu-whitelist.ts","e2e/tests/ui-modules/02-view-governance.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/package.json","frontend/src/api/index.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/types/ai-agent.ts","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","shared/src/types/ai-agents.ts"]}],"total_commits":0,"head_commit":{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},"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":1904980,"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-19T22:10:19+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
|
1773963334
|
1773963334
|
0
|
1773963333
|
1773963334
|
|
|
0
|
Edit
Delete
|
|
7202
|
Refine AI agent menus and add pending tasks review Refine AI agent menus and add pending tasks review page...
|
6
|
5
|
health-check.yml
|
7129
|
-2
|
92
|
refs/heads/main
|
979d9c81063fbda12f1445bf80b0c0027b0fbac2
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f","after":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f...979d9c81063fbda12f1445bf80b0c0027b0fbac2","commits":[{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},{"id":"8e492fbd580d447f4eaefeb6287810a0ca9bffbe","message":"Implement AI autopilot canonical flows and governance updates\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8e492fbd580d447f4eaefeb6287810a0ca9bffbe","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-19T23:41:26+08:00","added":["backend/prisma/migrations/20260319120000_autopilot_v1_canonical/migration.sql","backend/prisma/migrations/20260319134500_autopilot_hardening/migration.sql","backend/src/modules/ai-agents/ai-autopilot.controller.ts","backend/src/modules/ai-agents/ai-autopilot.docs.ts","backend/src/modules/ai-agents/ai-autopilot.routes.ts","backend/src/modules/ai-agents/ai-autopilot.schema.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/autopilot-executor-registry.service.ts","backend/tests/api/ai-autopilot.test.ts","backend/tests/helpers/ensure-ai-autopilot-runtime-schema.ts","e2e/agents/playwright-agent/inspectors/ad-campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/social-interaction-inspector.ts","e2e/agents/playwright-agent/inspectors/social-publish-inspector.ts","e2e/tests/auth/ai-autopilot-smoke.spec.ts","frontend/src/api/modules/ai-autopilot.ts","frontend/src/views/ai-agents/__tests__/ai-autopilot.smoke.test.ts","frontend/src/views/ai-agents/autopilot/AutoGrowth.vue","frontend/src/views/ai-agents/autopilot/AutoOps.vue","frontend/src/views/ai-agents/autopilot/Flows.vue","frontend/src/views/ai-agents/autopilot/Overview.vue","frontend/src/views/ai-agents/autopilot/RunDetail.vue","frontend/src/views/ai-agents/autopilot/Runs.vue"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/package.json","backend/prisma/schema.prisma","backend/scripts/audit-docs-single-source.ts","backend/src/modules/ai-agents/ai-agent.docs.ts","backend/src/modules/ai-agents/ai-agent.routes.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.types.ts","backend/src/shared/constants/events.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/process-core/default-workflow-definitions.ts","backend/src/shared/state-machines/machines/ai-task.machine.ts","backend/src/shared/state-machines/utils/transitions.ts","backend/tests/api/ai-agents-conversations.test.ts","backend/tests/api/ai-agents-im-queue.test.ts","backend/tests/api/ai-agents-workflows-training.test.ts","e2e/.auth/admin.json","e2e/agents/playwright-agent/index.ts","e2e/agents/playwright-agent/inspectors/index.ts","e2e/agents/playwright-agent/reporters/backend-reporter.ts","e2e/package.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/test-results/results.json","e2e/tests/navigation/requested-menu-whitelist.ts","e2e/tests/ui-modules/02-view-governance.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/package.json","frontend/src/api/index.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/types/ai-agent.ts","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","shared/src/types/ai-agents.ts"]}],"total_commits":0,"head_commit":{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},"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":1904980,"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-19T22:10:19+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
|
1773963634
|
1773963634
|
0
|
1773963633
|
1773963634
|
|
|
0
|
Edit
Delete
|
|
7203
|
Refine AI agent menus and add pending tasks review Refine AI agent menus and add pending tasks review page...
|
6
|
5
|
health-check.yml
|
7130
|
-2
|
92
|
refs/heads/main
|
979d9c81063fbda12f1445bf80b0c0027b0fbac2
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f","after":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f...979d9c81063fbda12f1445bf80b0c0027b0fbac2","commits":[{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},{"id":"8e492fbd580d447f4eaefeb6287810a0ca9bffbe","message":"Implement AI autopilot canonical flows and governance updates\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8e492fbd580d447f4eaefeb6287810a0ca9bffbe","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-19T23:41:26+08:00","added":["backend/prisma/migrations/20260319120000_autopilot_v1_canonical/migration.sql","backend/prisma/migrations/20260319134500_autopilot_hardening/migration.sql","backend/src/modules/ai-agents/ai-autopilot.controller.ts","backend/src/modules/ai-agents/ai-autopilot.docs.ts","backend/src/modules/ai-agents/ai-autopilot.routes.ts","backend/src/modules/ai-agents/ai-autopilot.schema.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/autopilot-executor-registry.service.ts","backend/tests/api/ai-autopilot.test.ts","backend/tests/helpers/ensure-ai-autopilot-runtime-schema.ts","e2e/agents/playwright-agent/inspectors/ad-campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/social-interaction-inspector.ts","e2e/agents/playwright-agent/inspectors/social-publish-inspector.ts","e2e/tests/auth/ai-autopilot-smoke.spec.ts","frontend/src/api/modules/ai-autopilot.ts","frontend/src/views/ai-agents/__tests__/ai-autopilot.smoke.test.ts","frontend/src/views/ai-agents/autopilot/AutoGrowth.vue","frontend/src/views/ai-agents/autopilot/AutoOps.vue","frontend/src/views/ai-agents/autopilot/Flows.vue","frontend/src/views/ai-agents/autopilot/Overview.vue","frontend/src/views/ai-agents/autopilot/RunDetail.vue","frontend/src/views/ai-agents/autopilot/Runs.vue"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/package.json","backend/prisma/schema.prisma","backend/scripts/audit-docs-single-source.ts","backend/src/modules/ai-agents/ai-agent.docs.ts","backend/src/modules/ai-agents/ai-agent.routes.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.types.ts","backend/src/shared/constants/events.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/process-core/default-workflow-definitions.ts","backend/src/shared/state-machines/machines/ai-task.machine.ts","backend/src/shared/state-machines/utils/transitions.ts","backend/tests/api/ai-agents-conversations.test.ts","backend/tests/api/ai-agents-im-queue.test.ts","backend/tests/api/ai-agents-workflows-training.test.ts","e2e/.auth/admin.json","e2e/agents/playwright-agent/index.ts","e2e/agents/playwright-agent/inspectors/index.ts","e2e/agents/playwright-agent/reporters/backend-reporter.ts","e2e/package.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/test-results/results.json","e2e/tests/navigation/requested-menu-whitelist.ts","e2e/tests/ui-modules/02-view-governance.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/package.json","frontend/src/api/index.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/types/ai-agent.ts","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","shared/src/types/ai-agents.ts"]}],"total_commits":0,"head_commit":{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},"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":1904980,"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-19T22:10:19+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
|
1773963934
|
1773963934
|
0
|
1773963933
|
1773963934
|
|
|
0
|
Edit
Delete
|
|
7204
|
Refine AI agent menus and add pending tasks review Refine AI agent menus and add pending tasks review page...
|
6
|
5
|
health-check.yml
|
7131
|
-2
|
92
|
refs/heads/main
|
979d9c81063fbda12f1445bf80b0c0027b0fbac2
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f","after":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f...979d9c81063fbda12f1445bf80b0c0027b0fbac2","commits":[{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},{"id":"8e492fbd580d447f4eaefeb6287810a0ca9bffbe","message":"Implement AI autopilot canonical flows and governance updates\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8e492fbd580d447f4eaefeb6287810a0ca9bffbe","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-19T23:41:26+08:00","added":["backend/prisma/migrations/20260319120000_autopilot_v1_canonical/migration.sql","backend/prisma/migrations/20260319134500_autopilot_hardening/migration.sql","backend/src/modules/ai-agents/ai-autopilot.controller.ts","backend/src/modules/ai-agents/ai-autopilot.docs.ts","backend/src/modules/ai-agents/ai-autopilot.routes.ts","backend/src/modules/ai-agents/ai-autopilot.schema.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/autopilot-executor-registry.service.ts","backend/tests/api/ai-autopilot.test.ts","backend/tests/helpers/ensure-ai-autopilot-runtime-schema.ts","e2e/agents/playwright-agent/inspectors/ad-campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/social-interaction-inspector.ts","e2e/agents/playwright-agent/inspectors/social-publish-inspector.ts","e2e/tests/auth/ai-autopilot-smoke.spec.ts","frontend/src/api/modules/ai-autopilot.ts","frontend/src/views/ai-agents/__tests__/ai-autopilot.smoke.test.ts","frontend/src/views/ai-agents/autopilot/AutoGrowth.vue","frontend/src/views/ai-agents/autopilot/AutoOps.vue","frontend/src/views/ai-agents/autopilot/Flows.vue","frontend/src/views/ai-agents/autopilot/Overview.vue","frontend/src/views/ai-agents/autopilot/RunDetail.vue","frontend/src/views/ai-agents/autopilot/Runs.vue"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/package.json","backend/prisma/schema.prisma","backend/scripts/audit-docs-single-source.ts","backend/src/modules/ai-agents/ai-agent.docs.ts","backend/src/modules/ai-agents/ai-agent.routes.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.types.ts","backend/src/shared/constants/events.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/process-core/default-workflow-definitions.ts","backend/src/shared/state-machines/machines/ai-task.machine.ts","backend/src/shared/state-machines/utils/transitions.ts","backend/tests/api/ai-agents-conversations.test.ts","backend/tests/api/ai-agents-im-queue.test.ts","backend/tests/api/ai-agents-workflows-training.test.ts","e2e/.auth/admin.json","e2e/agents/playwright-agent/index.ts","e2e/agents/playwright-agent/inspectors/index.ts","e2e/agents/playwright-agent/reporters/backend-reporter.ts","e2e/package.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/test-results/results.json","e2e/tests/navigation/requested-menu-whitelist.ts","e2e/tests/ui-modules/02-view-governance.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/package.json","frontend/src/api/index.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/types/ai-agent.ts","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","shared/src/types/ai-agents.ts"]}],"total_commits":0,"head_commit":{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},"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":1904980,"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-19T22:10:19+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
|
1773964234
|
1773964234
|
0
|
1773964233
|
1773964234
|
|
|
0
|
Edit
Delete
|
|
7205
|
Refine AI agent menus and add pending tasks review Refine AI agent menus and add pending tasks review page...
|
6
|
5
|
health-check.yml
|
7132
|
-2
|
92
|
refs/heads/main
|
979d9c81063fbda12f1445bf80b0c0027b0fbac2
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f","after":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f...979d9c81063fbda12f1445bf80b0c0027b0fbac2","commits":[{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},{"id":"8e492fbd580d447f4eaefeb6287810a0ca9bffbe","message":"Implement AI autopilot canonical flows and governance updates\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8e492fbd580d447f4eaefeb6287810a0ca9bffbe","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-19T23:41:26+08:00","added":["backend/prisma/migrations/20260319120000_autopilot_v1_canonical/migration.sql","backend/prisma/migrations/20260319134500_autopilot_hardening/migration.sql","backend/src/modules/ai-agents/ai-autopilot.controller.ts","backend/src/modules/ai-agents/ai-autopilot.docs.ts","backend/src/modules/ai-agents/ai-autopilot.routes.ts","backend/src/modules/ai-agents/ai-autopilot.schema.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/autopilot-executor-registry.service.ts","backend/tests/api/ai-autopilot.test.ts","backend/tests/helpers/ensure-ai-autopilot-runtime-schema.ts","e2e/agents/playwright-agent/inspectors/ad-campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/social-interaction-inspector.ts","e2e/agents/playwright-agent/inspectors/social-publish-inspector.ts","e2e/tests/auth/ai-autopilot-smoke.spec.ts","frontend/src/api/modules/ai-autopilot.ts","frontend/src/views/ai-agents/__tests__/ai-autopilot.smoke.test.ts","frontend/src/views/ai-agents/autopilot/AutoGrowth.vue","frontend/src/views/ai-agents/autopilot/AutoOps.vue","frontend/src/views/ai-agents/autopilot/Flows.vue","frontend/src/views/ai-agents/autopilot/Overview.vue","frontend/src/views/ai-agents/autopilot/RunDetail.vue","frontend/src/views/ai-agents/autopilot/Runs.vue"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/package.json","backend/prisma/schema.prisma","backend/scripts/audit-docs-single-source.ts","backend/src/modules/ai-agents/ai-agent.docs.ts","backend/src/modules/ai-agents/ai-agent.routes.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.types.ts","backend/src/shared/constants/events.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/process-core/default-workflow-definitions.ts","backend/src/shared/state-machines/machines/ai-task.machine.ts","backend/src/shared/state-machines/utils/transitions.ts","backend/tests/api/ai-agents-conversations.test.ts","backend/tests/api/ai-agents-im-queue.test.ts","backend/tests/api/ai-agents-workflows-training.test.ts","e2e/.auth/admin.json","e2e/agents/playwright-agent/index.ts","e2e/agents/playwright-agent/inspectors/index.ts","e2e/agents/playwright-agent/reporters/backend-reporter.ts","e2e/package.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/test-results/results.json","e2e/tests/navigation/requested-menu-whitelist.ts","e2e/tests/ui-modules/02-view-governance.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/package.json","frontend/src/api/index.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/types/ai-agent.ts","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","shared/src/types/ai-agents.ts"]}],"total_commits":0,"head_commit":{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},"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":1904980,"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-19T22:10:19+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
|
1773964534
|
1773964534
|
0
|
1773964533
|
1773964534
|
|
|
0
|
Edit
Delete
|
|
7206
|
Refine AI agent menus and add pending tasks review Refine AI agent menus and add pending tasks review page...
|
6
|
5
|
health-check.yml
|
7133
|
-2
|
92
|
refs/heads/main
|
979d9c81063fbda12f1445bf80b0c0027b0fbac2
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f","after":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f...979d9c81063fbda12f1445bf80b0c0027b0fbac2","commits":[{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},{"id":"8e492fbd580d447f4eaefeb6287810a0ca9bffbe","message":"Implement AI autopilot canonical flows and governance updates\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8e492fbd580d447f4eaefeb6287810a0ca9bffbe","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-19T23:41:26+08:00","added":["backend/prisma/migrations/20260319120000_autopilot_v1_canonical/migration.sql","backend/prisma/migrations/20260319134500_autopilot_hardening/migration.sql","backend/src/modules/ai-agents/ai-autopilot.controller.ts","backend/src/modules/ai-agents/ai-autopilot.docs.ts","backend/src/modules/ai-agents/ai-autopilot.routes.ts","backend/src/modules/ai-agents/ai-autopilot.schema.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/autopilot-executor-registry.service.ts","backend/tests/api/ai-autopilot.test.ts","backend/tests/helpers/ensure-ai-autopilot-runtime-schema.ts","e2e/agents/playwright-agent/inspectors/ad-campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/social-interaction-inspector.ts","e2e/agents/playwright-agent/inspectors/social-publish-inspector.ts","e2e/tests/auth/ai-autopilot-smoke.spec.ts","frontend/src/api/modules/ai-autopilot.ts","frontend/src/views/ai-agents/__tests__/ai-autopilot.smoke.test.ts","frontend/src/views/ai-agents/autopilot/AutoGrowth.vue","frontend/src/views/ai-agents/autopilot/AutoOps.vue","frontend/src/views/ai-agents/autopilot/Flows.vue","frontend/src/views/ai-agents/autopilot/Overview.vue","frontend/src/views/ai-agents/autopilot/RunDetail.vue","frontend/src/views/ai-agents/autopilot/Runs.vue"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/package.json","backend/prisma/schema.prisma","backend/scripts/audit-docs-single-source.ts","backend/src/modules/ai-agents/ai-agent.docs.ts","backend/src/modules/ai-agents/ai-agent.routes.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.types.ts","backend/src/shared/constants/events.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/process-core/default-workflow-definitions.ts","backend/src/shared/state-machines/machines/ai-task.machine.ts","backend/src/shared/state-machines/utils/transitions.ts","backend/tests/api/ai-agents-conversations.test.ts","backend/tests/api/ai-agents-im-queue.test.ts","backend/tests/api/ai-agents-workflows-training.test.ts","e2e/.auth/admin.json","e2e/agents/playwright-agent/index.ts","e2e/agents/playwright-agent/inspectors/index.ts","e2e/agents/playwright-agent/reporters/backend-reporter.ts","e2e/package.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/test-results/results.json","e2e/tests/navigation/requested-menu-whitelist.ts","e2e/tests/ui-modules/02-view-governance.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/package.json","frontend/src/api/index.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/types/ai-agent.ts","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","shared/src/types/ai-agents.ts"]}],"total_commits":0,"head_commit":{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},"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":1904980,"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-19T22:10:19+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
|
1773964834
|
1773964834
|
0
|
1773964833
|
1773964834
|
|
|
0
|
Edit
Delete
|
|
7208
|
Refine AI agent menus and add pending tasks review Refine AI agent menus and add pending tasks review page...
|
6
|
5
|
health-check.yml
|
7135
|
-2
|
92
|
refs/heads/main
|
979d9c81063fbda12f1445bf80b0c0027b0fbac2
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f","after":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f...979d9c81063fbda12f1445bf80b0c0027b0fbac2","commits":[{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},{"id":"8e492fbd580d447f4eaefeb6287810a0ca9bffbe","message":"Implement AI autopilot canonical flows and governance updates\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8e492fbd580d447f4eaefeb6287810a0ca9bffbe","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-19T23:41:26+08:00","added":["backend/prisma/migrations/20260319120000_autopilot_v1_canonical/migration.sql","backend/prisma/migrations/20260319134500_autopilot_hardening/migration.sql","backend/src/modules/ai-agents/ai-autopilot.controller.ts","backend/src/modules/ai-agents/ai-autopilot.docs.ts","backend/src/modules/ai-agents/ai-autopilot.routes.ts","backend/src/modules/ai-agents/ai-autopilot.schema.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/autopilot-executor-registry.service.ts","backend/tests/api/ai-autopilot.test.ts","backend/tests/helpers/ensure-ai-autopilot-runtime-schema.ts","e2e/agents/playwright-agent/inspectors/ad-campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/social-interaction-inspector.ts","e2e/agents/playwright-agent/inspectors/social-publish-inspector.ts","e2e/tests/auth/ai-autopilot-smoke.spec.ts","frontend/src/api/modules/ai-autopilot.ts","frontend/src/views/ai-agents/__tests__/ai-autopilot.smoke.test.ts","frontend/src/views/ai-agents/autopilot/AutoGrowth.vue","frontend/src/views/ai-agents/autopilot/AutoOps.vue","frontend/src/views/ai-agents/autopilot/Flows.vue","frontend/src/views/ai-agents/autopilot/Overview.vue","frontend/src/views/ai-agents/autopilot/RunDetail.vue","frontend/src/views/ai-agents/autopilot/Runs.vue"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/package.json","backend/prisma/schema.prisma","backend/scripts/audit-docs-single-source.ts","backend/src/modules/ai-agents/ai-agent.docs.ts","backend/src/modules/ai-agents/ai-agent.routes.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.types.ts","backend/src/shared/constants/events.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/process-core/default-workflow-definitions.ts","backend/src/shared/state-machines/machines/ai-task.machine.ts","backend/src/shared/state-machines/utils/transitions.ts","backend/tests/api/ai-agents-conversations.test.ts","backend/tests/api/ai-agents-im-queue.test.ts","backend/tests/api/ai-agents-workflows-training.test.ts","e2e/.auth/admin.json","e2e/agents/playwright-agent/index.ts","e2e/agents/playwright-agent/inspectors/index.ts","e2e/agents/playwright-agent/reporters/backend-reporter.ts","e2e/package.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/test-results/results.json","e2e/tests/navigation/requested-menu-whitelist.ts","e2e/tests/ui-modules/02-view-governance.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/package.json","frontend/src/api/index.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/types/ai-agent.ts","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","shared/src/types/ai-agents.ts"]}],"total_commits":0,"head_commit":{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},"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":1904980,"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-19T22:10:19+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
|
1773965134
|
1773965134
|
0
|
1773965133
|
1773965134
|
|
|
0
|
Edit
Delete
|
|
7209
|
Refine AI agent menus and add pending tasks review Refine AI agent menus and add pending tasks review page...
|
6
|
5
|
health-check.yml
|
7136
|
-2
|
92
|
refs/heads/main
|
979d9c81063fbda12f1445bf80b0c0027b0fbac2
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f","after":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f...979d9c81063fbda12f1445bf80b0c0027b0fbac2","commits":[{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},{"id":"8e492fbd580d447f4eaefeb6287810a0ca9bffbe","message":"Implement AI autopilot canonical flows and governance updates\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8e492fbd580d447f4eaefeb6287810a0ca9bffbe","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-19T23:41:26+08:00","added":["backend/prisma/migrations/20260319120000_autopilot_v1_canonical/migration.sql","backend/prisma/migrations/20260319134500_autopilot_hardening/migration.sql","backend/src/modules/ai-agents/ai-autopilot.controller.ts","backend/src/modules/ai-agents/ai-autopilot.docs.ts","backend/src/modules/ai-agents/ai-autopilot.routes.ts","backend/src/modules/ai-agents/ai-autopilot.schema.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/autopilot-executor-registry.service.ts","backend/tests/api/ai-autopilot.test.ts","backend/tests/helpers/ensure-ai-autopilot-runtime-schema.ts","e2e/agents/playwright-agent/inspectors/ad-campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/social-interaction-inspector.ts","e2e/agents/playwright-agent/inspectors/social-publish-inspector.ts","e2e/tests/auth/ai-autopilot-smoke.spec.ts","frontend/src/api/modules/ai-autopilot.ts","frontend/src/views/ai-agents/__tests__/ai-autopilot.smoke.test.ts","frontend/src/views/ai-agents/autopilot/AutoGrowth.vue","frontend/src/views/ai-agents/autopilot/AutoOps.vue","frontend/src/views/ai-agents/autopilot/Flows.vue","frontend/src/views/ai-agents/autopilot/Overview.vue","frontend/src/views/ai-agents/autopilot/RunDetail.vue","frontend/src/views/ai-agents/autopilot/Runs.vue"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/package.json","backend/prisma/schema.prisma","backend/scripts/audit-docs-single-source.ts","backend/src/modules/ai-agents/ai-agent.docs.ts","backend/src/modules/ai-agents/ai-agent.routes.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.types.ts","backend/src/shared/constants/events.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/process-core/default-workflow-definitions.ts","backend/src/shared/state-machines/machines/ai-task.machine.ts","backend/src/shared/state-machines/utils/transitions.ts","backend/tests/api/ai-agents-conversations.test.ts","backend/tests/api/ai-agents-im-queue.test.ts","backend/tests/api/ai-agents-workflows-training.test.ts","e2e/.auth/admin.json","e2e/agents/playwright-agent/index.ts","e2e/agents/playwright-agent/inspectors/index.ts","e2e/agents/playwright-agent/reporters/backend-reporter.ts","e2e/package.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/test-results/results.json","e2e/tests/navigation/requested-menu-whitelist.ts","e2e/tests/ui-modules/02-view-governance.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/package.json","frontend/src/api/index.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/types/ai-agent.ts","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","shared/src/types/ai-agents.ts"]}],"total_commits":0,"head_commit":{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},"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":1904980,"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-19T22:10:19+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
|
1773965434
|
1773965434
|
0
|
1773965433
|
1773965434
|
|
|
0
|
Edit
Delete
|
|
7210
|
Refine AI agent menus and add pending tasks review Refine AI agent menus and add pending tasks review page...
|
6
|
5
|
health-check.yml
|
7137
|
-2
|
92
|
refs/heads/main
|
979d9c81063fbda12f1445bf80b0c0027b0fbac2
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f","after":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f...979d9c81063fbda12f1445bf80b0c0027b0fbac2","commits":[{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},{"id":"8e492fbd580d447f4eaefeb6287810a0ca9bffbe","message":"Implement AI autopilot canonical flows and governance updates\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8e492fbd580d447f4eaefeb6287810a0ca9bffbe","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-19T23:41:26+08:00","added":["backend/prisma/migrations/20260319120000_autopilot_v1_canonical/migration.sql","backend/prisma/migrations/20260319134500_autopilot_hardening/migration.sql","backend/src/modules/ai-agents/ai-autopilot.controller.ts","backend/src/modules/ai-agents/ai-autopilot.docs.ts","backend/src/modules/ai-agents/ai-autopilot.routes.ts","backend/src/modules/ai-agents/ai-autopilot.schema.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/autopilot-executor-registry.service.ts","backend/tests/api/ai-autopilot.test.ts","backend/tests/helpers/ensure-ai-autopilot-runtime-schema.ts","e2e/agents/playwright-agent/inspectors/ad-campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/social-interaction-inspector.ts","e2e/agents/playwright-agent/inspectors/social-publish-inspector.ts","e2e/tests/auth/ai-autopilot-smoke.spec.ts","frontend/src/api/modules/ai-autopilot.ts","frontend/src/views/ai-agents/__tests__/ai-autopilot.smoke.test.ts","frontend/src/views/ai-agents/autopilot/AutoGrowth.vue","frontend/src/views/ai-agents/autopilot/AutoOps.vue","frontend/src/views/ai-agents/autopilot/Flows.vue","frontend/src/views/ai-agents/autopilot/Overview.vue","frontend/src/views/ai-agents/autopilot/RunDetail.vue","frontend/src/views/ai-agents/autopilot/Runs.vue"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/package.json","backend/prisma/schema.prisma","backend/scripts/audit-docs-single-source.ts","backend/src/modules/ai-agents/ai-agent.docs.ts","backend/src/modules/ai-agents/ai-agent.routes.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.types.ts","backend/src/shared/constants/events.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/process-core/default-workflow-definitions.ts","backend/src/shared/state-machines/machines/ai-task.machine.ts","backend/src/shared/state-machines/utils/transitions.ts","backend/tests/api/ai-agents-conversations.test.ts","backend/tests/api/ai-agents-im-queue.test.ts","backend/tests/api/ai-agents-workflows-training.test.ts","e2e/.auth/admin.json","e2e/agents/playwright-agent/index.ts","e2e/agents/playwright-agent/inspectors/index.ts","e2e/agents/playwright-agent/reporters/backend-reporter.ts","e2e/package.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/test-results/results.json","e2e/tests/navigation/requested-menu-whitelist.ts","e2e/tests/ui-modules/02-view-governance.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/package.json","frontend/src/api/index.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/types/ai-agent.ts","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","shared/src/types/ai-agents.ts"]}],"total_commits":0,"head_commit":{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},"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":1904980,"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-19T22:10:19+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
|
1773965734
|
1773965734
|
0
|
1773965733
|
1773965734
|
|
|
0
|
Edit
Delete
|
|
7211
|
Refine AI agent menus and add pending tasks review Refine AI agent menus and add pending tasks review page...
|
6
|
5
|
health-check.yml
|
7138
|
-2
|
92
|
refs/heads/main
|
979d9c81063fbda12f1445bf80b0c0027b0fbac2
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f","after":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f...979d9c81063fbda12f1445bf80b0c0027b0fbac2","commits":[{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},{"id":"8e492fbd580d447f4eaefeb6287810a0ca9bffbe","message":"Implement AI autopilot canonical flows and governance updates\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8e492fbd580d447f4eaefeb6287810a0ca9bffbe","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-19T23:41:26+08:00","added":["backend/prisma/migrations/20260319120000_autopilot_v1_canonical/migration.sql","backend/prisma/migrations/20260319134500_autopilot_hardening/migration.sql","backend/src/modules/ai-agents/ai-autopilot.controller.ts","backend/src/modules/ai-agents/ai-autopilot.docs.ts","backend/src/modules/ai-agents/ai-autopilot.routes.ts","backend/src/modules/ai-agents/ai-autopilot.schema.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/autopilot-executor-registry.service.ts","backend/tests/api/ai-autopilot.test.ts","backend/tests/helpers/ensure-ai-autopilot-runtime-schema.ts","e2e/agents/playwright-agent/inspectors/ad-campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/social-interaction-inspector.ts","e2e/agents/playwright-agent/inspectors/social-publish-inspector.ts","e2e/tests/auth/ai-autopilot-smoke.spec.ts","frontend/src/api/modules/ai-autopilot.ts","frontend/src/views/ai-agents/__tests__/ai-autopilot.smoke.test.ts","frontend/src/views/ai-agents/autopilot/AutoGrowth.vue","frontend/src/views/ai-agents/autopilot/AutoOps.vue","frontend/src/views/ai-agents/autopilot/Flows.vue","frontend/src/views/ai-agents/autopilot/Overview.vue","frontend/src/views/ai-agents/autopilot/RunDetail.vue","frontend/src/views/ai-agents/autopilot/Runs.vue"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/package.json","backend/prisma/schema.prisma","backend/scripts/audit-docs-single-source.ts","backend/src/modules/ai-agents/ai-agent.docs.ts","backend/src/modules/ai-agents/ai-agent.routes.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.types.ts","backend/src/shared/constants/events.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/process-core/default-workflow-definitions.ts","backend/src/shared/state-machines/machines/ai-task.machine.ts","backend/src/shared/state-machines/utils/transitions.ts","backend/tests/api/ai-agents-conversations.test.ts","backend/tests/api/ai-agents-im-queue.test.ts","backend/tests/api/ai-agents-workflows-training.test.ts","e2e/.auth/admin.json","e2e/agents/playwright-agent/index.ts","e2e/agents/playwright-agent/inspectors/index.ts","e2e/agents/playwright-agent/reporters/backend-reporter.ts","e2e/package.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/test-results/results.json","e2e/tests/navigation/requested-menu-whitelist.ts","e2e/tests/ui-modules/02-view-governance.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/package.json","frontend/src/api/index.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/types/ai-agent.ts","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","shared/src/types/ai-agents.ts"]}],"total_commits":0,"head_commit":{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},"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":1904980,"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-19T22:10:19+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
|
1773966034
|
1773966034
|
0
|
1773966033
|
1773966034
|
|
|
0
|
Edit
Delete
|
|
7212
|
Refine AI agent menus and add pending tasks review Refine AI agent menus and add pending tasks review page...
|
6
|
5
|
health-check.yml
|
7139
|
-2
|
92
|
refs/heads/main
|
979d9c81063fbda12f1445bf80b0c0027b0fbac2
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f","after":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f...979d9c81063fbda12f1445bf80b0c0027b0fbac2","commits":[{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},{"id":"8e492fbd580d447f4eaefeb6287810a0ca9bffbe","message":"Implement AI autopilot canonical flows and governance updates\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8e492fbd580d447f4eaefeb6287810a0ca9bffbe","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-19T23:41:26+08:00","added":["backend/prisma/migrations/20260319120000_autopilot_v1_canonical/migration.sql","backend/prisma/migrations/20260319134500_autopilot_hardening/migration.sql","backend/src/modules/ai-agents/ai-autopilot.controller.ts","backend/src/modules/ai-agents/ai-autopilot.docs.ts","backend/src/modules/ai-agents/ai-autopilot.routes.ts","backend/src/modules/ai-agents/ai-autopilot.schema.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/autopilot-executor-registry.service.ts","backend/tests/api/ai-autopilot.test.ts","backend/tests/helpers/ensure-ai-autopilot-runtime-schema.ts","e2e/agents/playwright-agent/inspectors/ad-campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/social-interaction-inspector.ts","e2e/agents/playwright-agent/inspectors/social-publish-inspector.ts","e2e/tests/auth/ai-autopilot-smoke.spec.ts","frontend/src/api/modules/ai-autopilot.ts","frontend/src/views/ai-agents/__tests__/ai-autopilot.smoke.test.ts","frontend/src/views/ai-agents/autopilot/AutoGrowth.vue","frontend/src/views/ai-agents/autopilot/AutoOps.vue","frontend/src/views/ai-agents/autopilot/Flows.vue","frontend/src/views/ai-agents/autopilot/Overview.vue","frontend/src/views/ai-agents/autopilot/RunDetail.vue","frontend/src/views/ai-agents/autopilot/Runs.vue"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/package.json","backend/prisma/schema.prisma","backend/scripts/audit-docs-single-source.ts","backend/src/modules/ai-agents/ai-agent.docs.ts","backend/src/modules/ai-agents/ai-agent.routes.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.types.ts","backend/src/shared/constants/events.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/process-core/default-workflow-definitions.ts","backend/src/shared/state-machines/machines/ai-task.machine.ts","backend/src/shared/state-machines/utils/transitions.ts","backend/tests/api/ai-agents-conversations.test.ts","backend/tests/api/ai-agents-im-queue.test.ts","backend/tests/api/ai-agents-workflows-training.test.ts","e2e/.auth/admin.json","e2e/agents/playwright-agent/index.ts","e2e/agents/playwright-agent/inspectors/index.ts","e2e/agents/playwright-agent/reporters/backend-reporter.ts","e2e/package.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/test-results/results.json","e2e/tests/navigation/requested-menu-whitelist.ts","e2e/tests/ui-modules/02-view-governance.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/package.json","frontend/src/api/index.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/types/ai-agent.ts","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","shared/src/types/ai-agents.ts"]}],"total_commits":0,"head_commit":{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},"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":1904980,"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-19T22:10:19+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
|
1773966334
|
1773966334
|
0
|
1773966333
|
1773966334
|
|
|
0
|
Edit
Delete
|
|
7213
|
Refine AI agent menus and add pending tasks review Refine AI agent menus and add pending tasks review page...
|
6
|
5
|
health-check.yml
|
7140
|
-2
|
92
|
refs/heads/main
|
979d9c81063fbda12f1445bf80b0c0027b0fbac2
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f","after":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f...979d9c81063fbda12f1445bf80b0c0027b0fbac2","commits":[{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},{"id":"8e492fbd580d447f4eaefeb6287810a0ca9bffbe","message":"Implement AI autopilot canonical flows and governance updates\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8e492fbd580d447f4eaefeb6287810a0ca9bffbe","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-19T23:41:26+08:00","added":["backend/prisma/migrations/20260319120000_autopilot_v1_canonical/migration.sql","backend/prisma/migrations/20260319134500_autopilot_hardening/migration.sql","backend/src/modules/ai-agents/ai-autopilot.controller.ts","backend/src/modules/ai-agents/ai-autopilot.docs.ts","backend/src/modules/ai-agents/ai-autopilot.routes.ts","backend/src/modules/ai-agents/ai-autopilot.schema.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/autopilot-executor-registry.service.ts","backend/tests/api/ai-autopilot.test.ts","backend/tests/helpers/ensure-ai-autopilot-runtime-schema.ts","e2e/agents/playwright-agent/inspectors/ad-campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/social-interaction-inspector.ts","e2e/agents/playwright-agent/inspectors/social-publish-inspector.ts","e2e/tests/auth/ai-autopilot-smoke.spec.ts","frontend/src/api/modules/ai-autopilot.ts","frontend/src/views/ai-agents/__tests__/ai-autopilot.smoke.test.ts","frontend/src/views/ai-agents/autopilot/AutoGrowth.vue","frontend/src/views/ai-agents/autopilot/AutoOps.vue","frontend/src/views/ai-agents/autopilot/Flows.vue","frontend/src/views/ai-agents/autopilot/Overview.vue","frontend/src/views/ai-agents/autopilot/RunDetail.vue","frontend/src/views/ai-agents/autopilot/Runs.vue"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/package.json","backend/prisma/schema.prisma","backend/scripts/audit-docs-single-source.ts","backend/src/modules/ai-agents/ai-agent.docs.ts","backend/src/modules/ai-agents/ai-agent.routes.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.types.ts","backend/src/shared/constants/events.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/process-core/default-workflow-definitions.ts","backend/src/shared/state-machines/machines/ai-task.machine.ts","backend/src/shared/state-machines/utils/transitions.ts","backend/tests/api/ai-agents-conversations.test.ts","backend/tests/api/ai-agents-im-queue.test.ts","backend/tests/api/ai-agents-workflows-training.test.ts","e2e/.auth/admin.json","e2e/agents/playwright-agent/index.ts","e2e/agents/playwright-agent/inspectors/index.ts","e2e/agents/playwright-agent/reporters/backend-reporter.ts","e2e/package.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/test-results/results.json","e2e/tests/navigation/requested-menu-whitelist.ts","e2e/tests/ui-modules/02-view-governance.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/package.json","frontend/src/api/index.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/types/ai-agent.ts","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","shared/src/types/ai-agents.ts"]}],"total_commits":0,"head_commit":{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},"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":1904980,"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-19T22:10:19+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
|
1773966634
|
1773966634
|
0
|
1773966633
|
1773966634
|
|
|
0
|
Edit
Delete
|
|
7214
|
Refine AI agent menus and add pending tasks review Refine AI agent menus and add pending tasks review page...
|
6
|
5
|
health-check.yml
|
7141
|
-2
|
92
|
refs/heads/main
|
979d9c81063fbda12f1445bf80b0c0027b0fbac2
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f","after":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f...979d9c81063fbda12f1445bf80b0c0027b0fbac2","commits":[{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},{"id":"8e492fbd580d447f4eaefeb6287810a0ca9bffbe","message":"Implement AI autopilot canonical flows and governance updates\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8e492fbd580d447f4eaefeb6287810a0ca9bffbe","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-19T23:41:26+08:00","added":["backend/prisma/migrations/20260319120000_autopilot_v1_canonical/migration.sql","backend/prisma/migrations/20260319134500_autopilot_hardening/migration.sql","backend/src/modules/ai-agents/ai-autopilot.controller.ts","backend/src/modules/ai-agents/ai-autopilot.docs.ts","backend/src/modules/ai-agents/ai-autopilot.routes.ts","backend/src/modules/ai-agents/ai-autopilot.schema.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/autopilot-executor-registry.service.ts","backend/tests/api/ai-autopilot.test.ts","backend/tests/helpers/ensure-ai-autopilot-runtime-schema.ts","e2e/agents/playwright-agent/inspectors/ad-campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/social-interaction-inspector.ts","e2e/agents/playwright-agent/inspectors/social-publish-inspector.ts","e2e/tests/auth/ai-autopilot-smoke.spec.ts","frontend/src/api/modules/ai-autopilot.ts","frontend/src/views/ai-agents/__tests__/ai-autopilot.smoke.test.ts","frontend/src/views/ai-agents/autopilot/AutoGrowth.vue","frontend/src/views/ai-agents/autopilot/AutoOps.vue","frontend/src/views/ai-agents/autopilot/Flows.vue","frontend/src/views/ai-agents/autopilot/Overview.vue","frontend/src/views/ai-agents/autopilot/RunDetail.vue","frontend/src/views/ai-agents/autopilot/Runs.vue"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/package.json","backend/prisma/schema.prisma","backend/scripts/audit-docs-single-source.ts","backend/src/modules/ai-agents/ai-agent.docs.ts","backend/src/modules/ai-agents/ai-agent.routes.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.types.ts","backend/src/shared/constants/events.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/process-core/default-workflow-definitions.ts","backend/src/shared/state-machines/machines/ai-task.machine.ts","backend/src/shared/state-machines/utils/transitions.ts","backend/tests/api/ai-agents-conversations.test.ts","backend/tests/api/ai-agents-im-queue.test.ts","backend/tests/api/ai-agents-workflows-training.test.ts","e2e/.auth/admin.json","e2e/agents/playwright-agent/index.ts","e2e/agents/playwright-agent/inspectors/index.ts","e2e/agents/playwright-agent/reporters/backend-reporter.ts","e2e/package.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/test-results/results.json","e2e/tests/navigation/requested-menu-whitelist.ts","e2e/tests/ui-modules/02-view-governance.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/package.json","frontend/src/api/index.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/types/ai-agent.ts","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","shared/src/types/ai-agents.ts"]}],"total_commits":0,"head_commit":{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},"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":1904980,"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-19T22:10:19+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
|
1773966934
|
1773966934
|
0
|
1773966933
|
1773966934
|
|
|
0
|
Edit
Delete
|
|
7215
|
Refine AI agent menus and add pending tasks review Refine AI agent menus and add pending tasks review page...
|
6
|
5
|
health-check.yml
|
7142
|
-2
|
92
|
refs/heads/main
|
979d9c81063fbda12f1445bf80b0c0027b0fbac2
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f","after":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f...979d9c81063fbda12f1445bf80b0c0027b0fbac2","commits":[{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},{"id":"8e492fbd580d447f4eaefeb6287810a0ca9bffbe","message":"Implement AI autopilot canonical flows and governance updates\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8e492fbd580d447f4eaefeb6287810a0ca9bffbe","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-19T23:41:26+08:00","added":["backend/prisma/migrations/20260319120000_autopilot_v1_canonical/migration.sql","backend/prisma/migrations/20260319134500_autopilot_hardening/migration.sql","backend/src/modules/ai-agents/ai-autopilot.controller.ts","backend/src/modules/ai-agents/ai-autopilot.docs.ts","backend/src/modules/ai-agents/ai-autopilot.routes.ts","backend/src/modules/ai-agents/ai-autopilot.schema.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/autopilot-executor-registry.service.ts","backend/tests/api/ai-autopilot.test.ts","backend/tests/helpers/ensure-ai-autopilot-runtime-schema.ts","e2e/agents/playwright-agent/inspectors/ad-campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/social-interaction-inspector.ts","e2e/agents/playwright-agent/inspectors/social-publish-inspector.ts","e2e/tests/auth/ai-autopilot-smoke.spec.ts","frontend/src/api/modules/ai-autopilot.ts","frontend/src/views/ai-agents/__tests__/ai-autopilot.smoke.test.ts","frontend/src/views/ai-agents/autopilot/AutoGrowth.vue","frontend/src/views/ai-agents/autopilot/AutoOps.vue","frontend/src/views/ai-agents/autopilot/Flows.vue","frontend/src/views/ai-agents/autopilot/Overview.vue","frontend/src/views/ai-agents/autopilot/RunDetail.vue","frontend/src/views/ai-agents/autopilot/Runs.vue"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/package.json","backend/prisma/schema.prisma","backend/scripts/audit-docs-single-source.ts","backend/src/modules/ai-agents/ai-agent.docs.ts","backend/src/modules/ai-agents/ai-agent.routes.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.types.ts","backend/src/shared/constants/events.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/process-core/default-workflow-definitions.ts","backend/src/shared/state-machines/machines/ai-task.machine.ts","backend/src/shared/state-machines/utils/transitions.ts","backend/tests/api/ai-agents-conversations.test.ts","backend/tests/api/ai-agents-im-queue.test.ts","backend/tests/api/ai-agents-workflows-training.test.ts","e2e/.auth/admin.json","e2e/agents/playwright-agent/index.ts","e2e/agents/playwright-agent/inspectors/index.ts","e2e/agents/playwright-agent/reporters/backend-reporter.ts","e2e/package.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/test-results/results.json","e2e/tests/navigation/requested-menu-whitelist.ts","e2e/tests/ui-modules/02-view-governance.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/package.json","frontend/src/api/index.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/types/ai-agent.ts","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","shared/src/types/ai-agents.ts"]}],"total_commits":0,"head_commit":{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},"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":1904980,"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-19T22:10:19+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
|
1773967234
|
1773967234
|
0
|
1773967233
|
1773967234
|
|
|
0
|
Edit
Delete
|
|
7216
|
Refine AI agent menus and add pending tasks review Refine AI agent menus and add pending tasks review page...
|
6
|
5
|
health-check.yml
|
7143
|
-2
|
92
|
refs/heads/main
|
979d9c81063fbda12f1445bf80b0c0027b0fbac2
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f","after":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f...979d9c81063fbda12f1445bf80b0c0027b0fbac2","commits":[{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},{"id":"8e492fbd580d447f4eaefeb6287810a0ca9bffbe","message":"Implement AI autopilot canonical flows and governance updates\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8e492fbd580d447f4eaefeb6287810a0ca9bffbe","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-19T23:41:26+08:00","added":["backend/prisma/migrations/20260319120000_autopilot_v1_canonical/migration.sql","backend/prisma/migrations/20260319134500_autopilot_hardening/migration.sql","backend/src/modules/ai-agents/ai-autopilot.controller.ts","backend/src/modules/ai-agents/ai-autopilot.docs.ts","backend/src/modules/ai-agents/ai-autopilot.routes.ts","backend/src/modules/ai-agents/ai-autopilot.schema.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/autopilot-executor-registry.service.ts","backend/tests/api/ai-autopilot.test.ts","backend/tests/helpers/ensure-ai-autopilot-runtime-schema.ts","e2e/agents/playwright-agent/inspectors/ad-campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/social-interaction-inspector.ts","e2e/agents/playwright-agent/inspectors/social-publish-inspector.ts","e2e/tests/auth/ai-autopilot-smoke.spec.ts","frontend/src/api/modules/ai-autopilot.ts","frontend/src/views/ai-agents/__tests__/ai-autopilot.smoke.test.ts","frontend/src/views/ai-agents/autopilot/AutoGrowth.vue","frontend/src/views/ai-agents/autopilot/AutoOps.vue","frontend/src/views/ai-agents/autopilot/Flows.vue","frontend/src/views/ai-agents/autopilot/Overview.vue","frontend/src/views/ai-agents/autopilot/RunDetail.vue","frontend/src/views/ai-agents/autopilot/Runs.vue"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/package.json","backend/prisma/schema.prisma","backend/scripts/audit-docs-single-source.ts","backend/src/modules/ai-agents/ai-agent.docs.ts","backend/src/modules/ai-agents/ai-agent.routes.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.types.ts","backend/src/shared/constants/events.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/process-core/default-workflow-definitions.ts","backend/src/shared/state-machines/machines/ai-task.machine.ts","backend/src/shared/state-machines/utils/transitions.ts","backend/tests/api/ai-agents-conversations.test.ts","backend/tests/api/ai-agents-im-queue.test.ts","backend/tests/api/ai-agents-workflows-training.test.ts","e2e/.auth/admin.json","e2e/agents/playwright-agent/index.ts","e2e/agents/playwright-agent/inspectors/index.ts","e2e/agents/playwright-agent/reporters/backend-reporter.ts","e2e/package.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/test-results/results.json","e2e/tests/navigation/requested-menu-whitelist.ts","e2e/tests/ui-modules/02-view-governance.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/package.json","frontend/src/api/index.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/types/ai-agent.ts","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","shared/src/types/ai-agents.ts"]}],"total_commits":0,"head_commit":{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},"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":1904980,"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-19T22:10:19+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
|
1773967534
|
1773967534
|
0
|
1773967533
|
1773967534
|
|
|
0
|
Edit
Delete
|
|
7217
|
Refine AI agent menus and add pending tasks review Refine AI agent menus and add pending tasks review page...
|
6
|
5
|
health-check.yml
|
7144
|
-2
|
92
|
refs/heads/main
|
979d9c81063fbda12f1445bf80b0c0027b0fbac2
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f","after":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f...979d9c81063fbda12f1445bf80b0c0027b0fbac2","commits":[{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},{"id":"8e492fbd580d447f4eaefeb6287810a0ca9bffbe","message":"Implement AI autopilot canonical flows and governance updates\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8e492fbd580d447f4eaefeb6287810a0ca9bffbe","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-19T23:41:26+08:00","added":["backend/prisma/migrations/20260319120000_autopilot_v1_canonical/migration.sql","backend/prisma/migrations/20260319134500_autopilot_hardening/migration.sql","backend/src/modules/ai-agents/ai-autopilot.controller.ts","backend/src/modules/ai-agents/ai-autopilot.docs.ts","backend/src/modules/ai-agents/ai-autopilot.routes.ts","backend/src/modules/ai-agents/ai-autopilot.schema.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/autopilot-executor-registry.service.ts","backend/tests/api/ai-autopilot.test.ts","backend/tests/helpers/ensure-ai-autopilot-runtime-schema.ts","e2e/agents/playwright-agent/inspectors/ad-campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/social-interaction-inspector.ts","e2e/agents/playwright-agent/inspectors/social-publish-inspector.ts","e2e/tests/auth/ai-autopilot-smoke.spec.ts","frontend/src/api/modules/ai-autopilot.ts","frontend/src/views/ai-agents/__tests__/ai-autopilot.smoke.test.ts","frontend/src/views/ai-agents/autopilot/AutoGrowth.vue","frontend/src/views/ai-agents/autopilot/AutoOps.vue","frontend/src/views/ai-agents/autopilot/Flows.vue","frontend/src/views/ai-agents/autopilot/Overview.vue","frontend/src/views/ai-agents/autopilot/RunDetail.vue","frontend/src/views/ai-agents/autopilot/Runs.vue"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/package.json","backend/prisma/schema.prisma","backend/scripts/audit-docs-single-source.ts","backend/src/modules/ai-agents/ai-agent.docs.ts","backend/src/modules/ai-agents/ai-agent.routes.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.types.ts","backend/src/shared/constants/events.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/process-core/default-workflow-definitions.ts","backend/src/shared/state-machines/machines/ai-task.machine.ts","backend/src/shared/state-machines/utils/transitions.ts","backend/tests/api/ai-agents-conversations.test.ts","backend/tests/api/ai-agents-im-queue.test.ts","backend/tests/api/ai-agents-workflows-training.test.ts","e2e/.auth/admin.json","e2e/agents/playwright-agent/index.ts","e2e/agents/playwright-agent/inspectors/index.ts","e2e/agents/playwright-agent/reporters/backend-reporter.ts","e2e/package.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/test-results/results.json","e2e/tests/navigation/requested-menu-whitelist.ts","e2e/tests/ui-modules/02-view-governance.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/package.json","frontend/src/api/index.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/types/ai-agent.ts","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","shared/src/types/ai-agents.ts"]}],"total_commits":0,"head_commit":{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},"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":1904980,"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-19T22:10:19+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
|
1773967834
|
1773967834
|
0
|
1773967833
|
1773967834
|
|
|
0
|
Edit
Delete
|
|
7218
|
Refine AI agent menus and add pending tasks review Refine AI agent menus and add pending tasks review page...
|
6
|
5
|
health-check.yml
|
7145
|
-2
|
92
|
refs/heads/main
|
979d9c81063fbda12f1445bf80b0c0027b0fbac2
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f","after":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f...979d9c81063fbda12f1445bf80b0c0027b0fbac2","commits":[{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},{"id":"8e492fbd580d447f4eaefeb6287810a0ca9bffbe","message":"Implement AI autopilot canonical flows and governance updates\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8e492fbd580d447f4eaefeb6287810a0ca9bffbe","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-19T23:41:26+08:00","added":["backend/prisma/migrations/20260319120000_autopilot_v1_canonical/migration.sql","backend/prisma/migrations/20260319134500_autopilot_hardening/migration.sql","backend/src/modules/ai-agents/ai-autopilot.controller.ts","backend/src/modules/ai-agents/ai-autopilot.docs.ts","backend/src/modules/ai-agents/ai-autopilot.routes.ts","backend/src/modules/ai-agents/ai-autopilot.schema.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/autopilot-executor-registry.service.ts","backend/tests/api/ai-autopilot.test.ts","backend/tests/helpers/ensure-ai-autopilot-runtime-schema.ts","e2e/agents/playwright-agent/inspectors/ad-campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/social-interaction-inspector.ts","e2e/agents/playwright-agent/inspectors/social-publish-inspector.ts","e2e/tests/auth/ai-autopilot-smoke.spec.ts","frontend/src/api/modules/ai-autopilot.ts","frontend/src/views/ai-agents/__tests__/ai-autopilot.smoke.test.ts","frontend/src/views/ai-agents/autopilot/AutoGrowth.vue","frontend/src/views/ai-agents/autopilot/AutoOps.vue","frontend/src/views/ai-agents/autopilot/Flows.vue","frontend/src/views/ai-agents/autopilot/Overview.vue","frontend/src/views/ai-agents/autopilot/RunDetail.vue","frontend/src/views/ai-agents/autopilot/Runs.vue"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/package.json","backend/prisma/schema.prisma","backend/scripts/audit-docs-single-source.ts","backend/src/modules/ai-agents/ai-agent.docs.ts","backend/src/modules/ai-agents/ai-agent.routes.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.types.ts","backend/src/shared/constants/events.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/process-core/default-workflow-definitions.ts","backend/src/shared/state-machines/machines/ai-task.machine.ts","backend/src/shared/state-machines/utils/transitions.ts","backend/tests/api/ai-agents-conversations.test.ts","backend/tests/api/ai-agents-im-queue.test.ts","backend/tests/api/ai-agents-workflows-training.test.ts","e2e/.auth/admin.json","e2e/agents/playwright-agent/index.ts","e2e/agents/playwright-agent/inspectors/index.ts","e2e/agents/playwright-agent/reporters/backend-reporter.ts","e2e/package.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/test-results/results.json","e2e/tests/navigation/requested-menu-whitelist.ts","e2e/tests/ui-modules/02-view-governance.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/package.json","frontend/src/api/index.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/types/ai-agent.ts","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","shared/src/types/ai-agents.ts"]}],"total_commits":0,"head_commit":{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},"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":1904980,"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-19T22:10:19+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
|
1773968134
|
1773968134
|
0
|
1773968133
|
1773968134
|
|
|
0
|
Edit
Delete
|
|
7219
|
Refine AI agent menus and add pending tasks review Refine AI agent menus and add pending tasks review page...
|
6
|
5
|
health-check.yml
|
7146
|
-2
|
92
|
refs/heads/main
|
979d9c81063fbda12f1445bf80b0c0027b0fbac2
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f","after":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f...979d9c81063fbda12f1445bf80b0c0027b0fbac2","commits":[{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},{"id":"8e492fbd580d447f4eaefeb6287810a0ca9bffbe","message":"Implement AI autopilot canonical flows and governance updates\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8e492fbd580d447f4eaefeb6287810a0ca9bffbe","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-19T23:41:26+08:00","added":["backend/prisma/migrations/20260319120000_autopilot_v1_canonical/migration.sql","backend/prisma/migrations/20260319134500_autopilot_hardening/migration.sql","backend/src/modules/ai-agents/ai-autopilot.controller.ts","backend/src/modules/ai-agents/ai-autopilot.docs.ts","backend/src/modules/ai-agents/ai-autopilot.routes.ts","backend/src/modules/ai-agents/ai-autopilot.schema.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/autopilot-executor-registry.service.ts","backend/tests/api/ai-autopilot.test.ts","backend/tests/helpers/ensure-ai-autopilot-runtime-schema.ts","e2e/agents/playwright-agent/inspectors/ad-campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/social-interaction-inspector.ts","e2e/agents/playwright-agent/inspectors/social-publish-inspector.ts","e2e/tests/auth/ai-autopilot-smoke.spec.ts","frontend/src/api/modules/ai-autopilot.ts","frontend/src/views/ai-agents/__tests__/ai-autopilot.smoke.test.ts","frontend/src/views/ai-agents/autopilot/AutoGrowth.vue","frontend/src/views/ai-agents/autopilot/AutoOps.vue","frontend/src/views/ai-agents/autopilot/Flows.vue","frontend/src/views/ai-agents/autopilot/Overview.vue","frontend/src/views/ai-agents/autopilot/RunDetail.vue","frontend/src/views/ai-agents/autopilot/Runs.vue"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/package.json","backend/prisma/schema.prisma","backend/scripts/audit-docs-single-source.ts","backend/src/modules/ai-agents/ai-agent.docs.ts","backend/src/modules/ai-agents/ai-agent.routes.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.types.ts","backend/src/shared/constants/events.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/process-core/default-workflow-definitions.ts","backend/src/shared/state-machines/machines/ai-task.machine.ts","backend/src/shared/state-machines/utils/transitions.ts","backend/tests/api/ai-agents-conversations.test.ts","backend/tests/api/ai-agents-im-queue.test.ts","backend/tests/api/ai-agents-workflows-training.test.ts","e2e/.auth/admin.json","e2e/agents/playwright-agent/index.ts","e2e/agents/playwright-agent/inspectors/index.ts","e2e/agents/playwright-agent/reporters/backend-reporter.ts","e2e/package.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/test-results/results.json","e2e/tests/navigation/requested-menu-whitelist.ts","e2e/tests/ui-modules/02-view-governance.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/package.json","frontend/src/api/index.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/types/ai-agent.ts","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","shared/src/types/ai-agents.ts"]}],"total_commits":0,"head_commit":{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},"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":1904980,"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-19T22:10:19+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
|
1773968434
|
1773968434
|
0
|
1773968433
|
1773968434
|
|
|
0
|
Edit
Delete
|
|
7220
|
Refine AI agent menus and add pending tasks review Refine AI agent menus and add pending tasks review page...
|
6
|
5
|
health-check.yml
|
7147
|
-2
|
92
|
refs/heads/main
|
979d9c81063fbda12f1445bf80b0c0027b0fbac2
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f","after":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f...979d9c81063fbda12f1445bf80b0c0027b0fbac2","commits":[{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},{"id":"8e492fbd580d447f4eaefeb6287810a0ca9bffbe","message":"Implement AI autopilot canonical flows and governance updates\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8e492fbd580d447f4eaefeb6287810a0ca9bffbe","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-19T23:41:26+08:00","added":["backend/prisma/migrations/20260319120000_autopilot_v1_canonical/migration.sql","backend/prisma/migrations/20260319134500_autopilot_hardening/migration.sql","backend/src/modules/ai-agents/ai-autopilot.controller.ts","backend/src/modules/ai-agents/ai-autopilot.docs.ts","backend/src/modules/ai-agents/ai-autopilot.routes.ts","backend/src/modules/ai-agents/ai-autopilot.schema.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/autopilot-executor-registry.service.ts","backend/tests/api/ai-autopilot.test.ts","backend/tests/helpers/ensure-ai-autopilot-runtime-schema.ts","e2e/agents/playwright-agent/inspectors/ad-campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/social-interaction-inspector.ts","e2e/agents/playwright-agent/inspectors/social-publish-inspector.ts","e2e/tests/auth/ai-autopilot-smoke.spec.ts","frontend/src/api/modules/ai-autopilot.ts","frontend/src/views/ai-agents/__tests__/ai-autopilot.smoke.test.ts","frontend/src/views/ai-agents/autopilot/AutoGrowth.vue","frontend/src/views/ai-agents/autopilot/AutoOps.vue","frontend/src/views/ai-agents/autopilot/Flows.vue","frontend/src/views/ai-agents/autopilot/Overview.vue","frontend/src/views/ai-agents/autopilot/RunDetail.vue","frontend/src/views/ai-agents/autopilot/Runs.vue"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/package.json","backend/prisma/schema.prisma","backend/scripts/audit-docs-single-source.ts","backend/src/modules/ai-agents/ai-agent.docs.ts","backend/src/modules/ai-agents/ai-agent.routes.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.types.ts","backend/src/shared/constants/events.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/process-core/default-workflow-definitions.ts","backend/src/shared/state-machines/machines/ai-task.machine.ts","backend/src/shared/state-machines/utils/transitions.ts","backend/tests/api/ai-agents-conversations.test.ts","backend/tests/api/ai-agents-im-queue.test.ts","backend/tests/api/ai-agents-workflows-training.test.ts","e2e/.auth/admin.json","e2e/agents/playwright-agent/index.ts","e2e/agents/playwright-agent/inspectors/index.ts","e2e/agents/playwright-agent/reporters/backend-reporter.ts","e2e/package.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/test-results/results.json","e2e/tests/navigation/requested-menu-whitelist.ts","e2e/tests/ui-modules/02-view-governance.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/package.json","frontend/src/api/index.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/types/ai-agent.ts","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","shared/src/types/ai-agents.ts"]}],"total_commits":0,"head_commit":{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},"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":1904980,"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-19T22:10:19+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
|
1773968734
|
1773968734
|
0
|
1773968733
|
1773968734
|
|
|
0
|
Edit
Delete
|
|
7221
|
Refine AI agent menus and add pending tasks review Refine AI agent menus and add pending tasks review page...
|
6
|
5
|
health-check.yml
|
7148
|
-2
|
92
|
refs/heads/main
|
979d9c81063fbda12f1445bf80b0c0027b0fbac2
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f","after":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f...979d9c81063fbda12f1445bf80b0c0027b0fbac2","commits":[{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},{"id":"8e492fbd580d447f4eaefeb6287810a0ca9bffbe","message":"Implement AI autopilot canonical flows and governance updates\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8e492fbd580d447f4eaefeb6287810a0ca9bffbe","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-19T23:41:26+08:00","added":["backend/prisma/migrations/20260319120000_autopilot_v1_canonical/migration.sql","backend/prisma/migrations/20260319134500_autopilot_hardening/migration.sql","backend/src/modules/ai-agents/ai-autopilot.controller.ts","backend/src/modules/ai-agents/ai-autopilot.docs.ts","backend/src/modules/ai-agents/ai-autopilot.routes.ts","backend/src/modules/ai-agents/ai-autopilot.schema.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/autopilot-executor-registry.service.ts","backend/tests/api/ai-autopilot.test.ts","backend/tests/helpers/ensure-ai-autopilot-runtime-schema.ts","e2e/agents/playwright-agent/inspectors/ad-campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/social-interaction-inspector.ts","e2e/agents/playwright-agent/inspectors/social-publish-inspector.ts","e2e/tests/auth/ai-autopilot-smoke.spec.ts","frontend/src/api/modules/ai-autopilot.ts","frontend/src/views/ai-agents/__tests__/ai-autopilot.smoke.test.ts","frontend/src/views/ai-agents/autopilot/AutoGrowth.vue","frontend/src/views/ai-agents/autopilot/AutoOps.vue","frontend/src/views/ai-agents/autopilot/Flows.vue","frontend/src/views/ai-agents/autopilot/Overview.vue","frontend/src/views/ai-agents/autopilot/RunDetail.vue","frontend/src/views/ai-agents/autopilot/Runs.vue"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/package.json","backend/prisma/schema.prisma","backend/scripts/audit-docs-single-source.ts","backend/src/modules/ai-agents/ai-agent.docs.ts","backend/src/modules/ai-agents/ai-agent.routes.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.types.ts","backend/src/shared/constants/events.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/process-core/default-workflow-definitions.ts","backend/src/shared/state-machines/machines/ai-task.machine.ts","backend/src/shared/state-machines/utils/transitions.ts","backend/tests/api/ai-agents-conversations.test.ts","backend/tests/api/ai-agents-im-queue.test.ts","backend/tests/api/ai-agents-workflows-training.test.ts","e2e/.auth/admin.json","e2e/agents/playwright-agent/index.ts","e2e/agents/playwright-agent/inspectors/index.ts","e2e/agents/playwright-agent/reporters/backend-reporter.ts","e2e/package.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/test-results/results.json","e2e/tests/navigation/requested-menu-whitelist.ts","e2e/tests/ui-modules/02-view-governance.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/package.json","frontend/src/api/index.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/types/ai-agent.ts","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","shared/src/types/ai-agents.ts"]}],"total_commits":0,"head_commit":{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},"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":1904980,"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-19T22:10:19+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
|
1773969034
|
1773969034
|
0
|
1773969033
|
1773969034
|
|
|
0
|
Edit
Delete
|
|
7222
|
Refine AI agent menus and add pending tasks review Refine AI agent menus and add pending tasks review page...
|
6
|
5
|
health-check.yml
|
7149
|
-2
|
92
|
refs/heads/main
|
979d9c81063fbda12f1445bf80b0c0027b0fbac2
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f","after":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f...979d9c81063fbda12f1445bf80b0c0027b0fbac2","commits":[{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},{"id":"8e492fbd580d447f4eaefeb6287810a0ca9bffbe","message":"Implement AI autopilot canonical flows and governance updates\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8e492fbd580d447f4eaefeb6287810a0ca9bffbe","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-19T23:41:26+08:00","added":["backend/prisma/migrations/20260319120000_autopilot_v1_canonical/migration.sql","backend/prisma/migrations/20260319134500_autopilot_hardening/migration.sql","backend/src/modules/ai-agents/ai-autopilot.controller.ts","backend/src/modules/ai-agents/ai-autopilot.docs.ts","backend/src/modules/ai-agents/ai-autopilot.routes.ts","backend/src/modules/ai-agents/ai-autopilot.schema.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/autopilot-executor-registry.service.ts","backend/tests/api/ai-autopilot.test.ts","backend/tests/helpers/ensure-ai-autopilot-runtime-schema.ts","e2e/agents/playwright-agent/inspectors/ad-campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/social-interaction-inspector.ts","e2e/agents/playwright-agent/inspectors/social-publish-inspector.ts","e2e/tests/auth/ai-autopilot-smoke.spec.ts","frontend/src/api/modules/ai-autopilot.ts","frontend/src/views/ai-agents/__tests__/ai-autopilot.smoke.test.ts","frontend/src/views/ai-agents/autopilot/AutoGrowth.vue","frontend/src/views/ai-agents/autopilot/AutoOps.vue","frontend/src/views/ai-agents/autopilot/Flows.vue","frontend/src/views/ai-agents/autopilot/Overview.vue","frontend/src/views/ai-agents/autopilot/RunDetail.vue","frontend/src/views/ai-agents/autopilot/Runs.vue"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/package.json","backend/prisma/schema.prisma","backend/scripts/audit-docs-single-source.ts","backend/src/modules/ai-agents/ai-agent.docs.ts","backend/src/modules/ai-agents/ai-agent.routes.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.types.ts","backend/src/shared/constants/events.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/process-core/default-workflow-definitions.ts","backend/src/shared/state-machines/machines/ai-task.machine.ts","backend/src/shared/state-machines/utils/transitions.ts","backend/tests/api/ai-agents-conversations.test.ts","backend/tests/api/ai-agents-im-queue.test.ts","backend/tests/api/ai-agents-workflows-training.test.ts","e2e/.auth/admin.json","e2e/agents/playwright-agent/index.ts","e2e/agents/playwright-agent/inspectors/index.ts","e2e/agents/playwright-agent/reporters/backend-reporter.ts","e2e/package.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/test-results/results.json","e2e/tests/navigation/requested-menu-whitelist.ts","e2e/tests/ui-modules/02-view-governance.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/package.json","frontend/src/api/index.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/types/ai-agent.ts","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","shared/src/types/ai-agents.ts"]}],"total_commits":0,"head_commit":{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},"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":1904980,"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-19T22:10:19+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
|
1773969334
|
1773969334
|
0
|
1773969333
|
1773969334
|
|
|
0
|
Edit
Delete
|
|
7223
|
Refine AI agent menus and add pending tasks review Refine AI agent menus and add pending tasks review page...
|
6
|
5
|
health-check.yml
|
7150
|
-2
|
92
|
refs/heads/main
|
979d9c81063fbda12f1445bf80b0c0027b0fbac2
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f","after":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f...979d9c81063fbda12f1445bf80b0c0027b0fbac2","commits":[{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},{"id":"8e492fbd580d447f4eaefeb6287810a0ca9bffbe","message":"Implement AI autopilot canonical flows and governance updates\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8e492fbd580d447f4eaefeb6287810a0ca9bffbe","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-19T23:41:26+08:00","added":["backend/prisma/migrations/20260319120000_autopilot_v1_canonical/migration.sql","backend/prisma/migrations/20260319134500_autopilot_hardening/migration.sql","backend/src/modules/ai-agents/ai-autopilot.controller.ts","backend/src/modules/ai-agents/ai-autopilot.docs.ts","backend/src/modules/ai-agents/ai-autopilot.routes.ts","backend/src/modules/ai-agents/ai-autopilot.schema.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/autopilot-executor-registry.service.ts","backend/tests/api/ai-autopilot.test.ts","backend/tests/helpers/ensure-ai-autopilot-runtime-schema.ts","e2e/agents/playwright-agent/inspectors/ad-campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/social-interaction-inspector.ts","e2e/agents/playwright-agent/inspectors/social-publish-inspector.ts","e2e/tests/auth/ai-autopilot-smoke.spec.ts","frontend/src/api/modules/ai-autopilot.ts","frontend/src/views/ai-agents/__tests__/ai-autopilot.smoke.test.ts","frontend/src/views/ai-agents/autopilot/AutoGrowth.vue","frontend/src/views/ai-agents/autopilot/AutoOps.vue","frontend/src/views/ai-agents/autopilot/Flows.vue","frontend/src/views/ai-agents/autopilot/Overview.vue","frontend/src/views/ai-agents/autopilot/RunDetail.vue","frontend/src/views/ai-agents/autopilot/Runs.vue"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/package.json","backend/prisma/schema.prisma","backend/scripts/audit-docs-single-source.ts","backend/src/modules/ai-agents/ai-agent.docs.ts","backend/src/modules/ai-agents/ai-agent.routes.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.types.ts","backend/src/shared/constants/events.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/process-core/default-workflow-definitions.ts","backend/src/shared/state-machines/machines/ai-task.machine.ts","backend/src/shared/state-machines/utils/transitions.ts","backend/tests/api/ai-agents-conversations.test.ts","backend/tests/api/ai-agents-im-queue.test.ts","backend/tests/api/ai-agents-workflows-training.test.ts","e2e/.auth/admin.json","e2e/agents/playwright-agent/index.ts","e2e/agents/playwright-agent/inspectors/index.ts","e2e/agents/playwright-agent/reporters/backend-reporter.ts","e2e/package.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/test-results/results.json","e2e/tests/navigation/requested-menu-whitelist.ts","e2e/tests/ui-modules/02-view-governance.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/package.json","frontend/src/api/index.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/types/ai-agent.ts","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","shared/src/types/ai-agents.ts"]}],"total_commits":0,"head_commit":{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},"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":1904980,"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-19T22:10:19+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
|
1773969634
|
1773969634
|
0
|
1773969633
|
1773969634
|
|
|
0
|
Edit
Delete
|
|
7224
|
Refine AI agent menus and add pending tasks review Refine AI agent menus and add pending tasks review page...
|
6
|
5
|
health-check.yml
|
7151
|
-2
|
92
|
refs/heads/main
|
979d9c81063fbda12f1445bf80b0c0027b0fbac2
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f","after":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f...979d9c81063fbda12f1445bf80b0c0027b0fbac2","commits":[{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},{"id":"8e492fbd580d447f4eaefeb6287810a0ca9bffbe","message":"Implement AI autopilot canonical flows and governance updates\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8e492fbd580d447f4eaefeb6287810a0ca9bffbe","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-19T23:41:26+08:00","added":["backend/prisma/migrations/20260319120000_autopilot_v1_canonical/migration.sql","backend/prisma/migrations/20260319134500_autopilot_hardening/migration.sql","backend/src/modules/ai-agents/ai-autopilot.controller.ts","backend/src/modules/ai-agents/ai-autopilot.docs.ts","backend/src/modules/ai-agents/ai-autopilot.routes.ts","backend/src/modules/ai-agents/ai-autopilot.schema.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/autopilot-executor-registry.service.ts","backend/tests/api/ai-autopilot.test.ts","backend/tests/helpers/ensure-ai-autopilot-runtime-schema.ts","e2e/agents/playwright-agent/inspectors/ad-campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/social-interaction-inspector.ts","e2e/agents/playwright-agent/inspectors/social-publish-inspector.ts","e2e/tests/auth/ai-autopilot-smoke.spec.ts","frontend/src/api/modules/ai-autopilot.ts","frontend/src/views/ai-agents/__tests__/ai-autopilot.smoke.test.ts","frontend/src/views/ai-agents/autopilot/AutoGrowth.vue","frontend/src/views/ai-agents/autopilot/AutoOps.vue","frontend/src/views/ai-agents/autopilot/Flows.vue","frontend/src/views/ai-agents/autopilot/Overview.vue","frontend/src/views/ai-agents/autopilot/RunDetail.vue","frontend/src/views/ai-agents/autopilot/Runs.vue"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/package.json","backend/prisma/schema.prisma","backend/scripts/audit-docs-single-source.ts","backend/src/modules/ai-agents/ai-agent.docs.ts","backend/src/modules/ai-agents/ai-agent.routes.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.types.ts","backend/src/shared/constants/events.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/process-core/default-workflow-definitions.ts","backend/src/shared/state-machines/machines/ai-task.machine.ts","backend/src/shared/state-machines/utils/transitions.ts","backend/tests/api/ai-agents-conversations.test.ts","backend/tests/api/ai-agents-im-queue.test.ts","backend/tests/api/ai-agents-workflows-training.test.ts","e2e/.auth/admin.json","e2e/agents/playwright-agent/index.ts","e2e/agents/playwright-agent/inspectors/index.ts","e2e/agents/playwright-agent/reporters/backend-reporter.ts","e2e/package.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/test-results/results.json","e2e/tests/navigation/requested-menu-whitelist.ts","e2e/tests/ui-modules/02-view-governance.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/package.json","frontend/src/api/index.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/types/ai-agent.ts","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","shared/src/types/ai-agents.ts"]}],"total_commits":0,"head_commit":{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},"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":1904980,"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-19T22:10:19+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
|
1773969939
|
1773969940
|
0
|
1773969937
|
1773969940
|
|
|
0
|
Edit
Delete
|
|
7225
|
Refine AI agent menus and add pending tasks review Refine AI agent menus and add pending tasks review page...
|
6
|
5
|
health-check.yml
|
7152
|
-2
|
92
|
refs/heads/main
|
979d9c81063fbda12f1445bf80b0c0027b0fbac2
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f","after":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f...979d9c81063fbda12f1445bf80b0c0027b0fbac2","commits":[{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},{"id":"8e492fbd580d447f4eaefeb6287810a0ca9bffbe","message":"Implement AI autopilot canonical flows and governance updates\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8e492fbd580d447f4eaefeb6287810a0ca9bffbe","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-19T23:41:26+08:00","added":["backend/prisma/migrations/20260319120000_autopilot_v1_canonical/migration.sql","backend/prisma/migrations/20260319134500_autopilot_hardening/migration.sql","backend/src/modules/ai-agents/ai-autopilot.controller.ts","backend/src/modules/ai-agents/ai-autopilot.docs.ts","backend/src/modules/ai-agents/ai-autopilot.routes.ts","backend/src/modules/ai-agents/ai-autopilot.schema.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/autopilot-executor-registry.service.ts","backend/tests/api/ai-autopilot.test.ts","backend/tests/helpers/ensure-ai-autopilot-runtime-schema.ts","e2e/agents/playwright-agent/inspectors/ad-campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/social-interaction-inspector.ts","e2e/agents/playwright-agent/inspectors/social-publish-inspector.ts","e2e/tests/auth/ai-autopilot-smoke.spec.ts","frontend/src/api/modules/ai-autopilot.ts","frontend/src/views/ai-agents/__tests__/ai-autopilot.smoke.test.ts","frontend/src/views/ai-agents/autopilot/AutoGrowth.vue","frontend/src/views/ai-agents/autopilot/AutoOps.vue","frontend/src/views/ai-agents/autopilot/Flows.vue","frontend/src/views/ai-agents/autopilot/Overview.vue","frontend/src/views/ai-agents/autopilot/RunDetail.vue","frontend/src/views/ai-agents/autopilot/Runs.vue"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/package.json","backend/prisma/schema.prisma","backend/scripts/audit-docs-single-source.ts","backend/src/modules/ai-agents/ai-agent.docs.ts","backend/src/modules/ai-agents/ai-agent.routes.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.types.ts","backend/src/shared/constants/events.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/process-core/default-workflow-definitions.ts","backend/src/shared/state-machines/machines/ai-task.machine.ts","backend/src/shared/state-machines/utils/transitions.ts","backend/tests/api/ai-agents-conversations.test.ts","backend/tests/api/ai-agents-im-queue.test.ts","backend/tests/api/ai-agents-workflows-training.test.ts","e2e/.auth/admin.json","e2e/agents/playwright-agent/index.ts","e2e/agents/playwright-agent/inspectors/index.ts","e2e/agents/playwright-agent/reporters/backend-reporter.ts","e2e/package.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/test-results/results.json","e2e/tests/navigation/requested-menu-whitelist.ts","e2e/tests/ui-modules/02-view-governance.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/package.json","frontend/src/api/index.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/types/ai-agent.ts","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","shared/src/types/ai-agents.ts"]}],"total_commits":0,"head_commit":{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},"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":1904980,"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-19T22:10:19+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
|
1773970238
|
1773970238
|
0
|
1773970237
|
1773970238
|
|
|
0
|
Edit
Delete
|
|
7226
|
Refine AI agent menus and add pending tasks review Refine AI agent menus and add pending tasks review page...
|
6
|
5
|
health-check.yml
|
7153
|
-2
|
92
|
refs/heads/main
|
979d9c81063fbda12f1445bf80b0c0027b0fbac2
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f","after":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f...979d9c81063fbda12f1445bf80b0c0027b0fbac2","commits":[{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},{"id":"8e492fbd580d447f4eaefeb6287810a0ca9bffbe","message":"Implement AI autopilot canonical flows and governance updates\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8e492fbd580d447f4eaefeb6287810a0ca9bffbe","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-19T23:41:26+08:00","added":["backend/prisma/migrations/20260319120000_autopilot_v1_canonical/migration.sql","backend/prisma/migrations/20260319134500_autopilot_hardening/migration.sql","backend/src/modules/ai-agents/ai-autopilot.controller.ts","backend/src/modules/ai-agents/ai-autopilot.docs.ts","backend/src/modules/ai-agents/ai-autopilot.routes.ts","backend/src/modules/ai-agents/ai-autopilot.schema.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/autopilot-executor-registry.service.ts","backend/tests/api/ai-autopilot.test.ts","backend/tests/helpers/ensure-ai-autopilot-runtime-schema.ts","e2e/agents/playwright-agent/inspectors/ad-campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/social-interaction-inspector.ts","e2e/agents/playwright-agent/inspectors/social-publish-inspector.ts","e2e/tests/auth/ai-autopilot-smoke.spec.ts","frontend/src/api/modules/ai-autopilot.ts","frontend/src/views/ai-agents/__tests__/ai-autopilot.smoke.test.ts","frontend/src/views/ai-agents/autopilot/AutoGrowth.vue","frontend/src/views/ai-agents/autopilot/AutoOps.vue","frontend/src/views/ai-agents/autopilot/Flows.vue","frontend/src/views/ai-agents/autopilot/Overview.vue","frontend/src/views/ai-agents/autopilot/RunDetail.vue","frontend/src/views/ai-agents/autopilot/Runs.vue"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/package.json","backend/prisma/schema.prisma","backend/scripts/audit-docs-single-source.ts","backend/src/modules/ai-agents/ai-agent.docs.ts","backend/src/modules/ai-agents/ai-agent.routes.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.types.ts","backend/src/shared/constants/events.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/process-core/default-workflow-definitions.ts","backend/src/shared/state-machines/machines/ai-task.machine.ts","backend/src/shared/state-machines/utils/transitions.ts","backend/tests/api/ai-agents-conversations.test.ts","backend/tests/api/ai-agents-im-queue.test.ts","backend/tests/api/ai-agents-workflows-training.test.ts","e2e/.auth/admin.json","e2e/agents/playwright-agent/index.ts","e2e/agents/playwright-agent/inspectors/index.ts","e2e/agents/playwright-agent/reporters/backend-reporter.ts","e2e/package.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/test-results/results.json","e2e/tests/navigation/requested-menu-whitelist.ts","e2e/tests/ui-modules/02-view-governance.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/package.json","frontend/src/api/index.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/types/ai-agent.ts","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","shared/src/types/ai-agents.ts"]}],"total_commits":0,"head_commit":{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},"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":1904980,"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-19T22:10:19+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
|
1773970538
|
1773970538
|
0
|
1773970537
|
1773970538
|
|
|
0
|
Edit
Delete
|
|
7227
|
Refine AI agent menus and add pending tasks review Refine AI agent menus and add pending tasks review page...
|
6
|
5
|
health-check.yml
|
7154
|
-2
|
92
|
refs/heads/main
|
979d9c81063fbda12f1445bf80b0c0027b0fbac2
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f","after":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f...979d9c81063fbda12f1445bf80b0c0027b0fbac2","commits":[{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},{"id":"8e492fbd580d447f4eaefeb6287810a0ca9bffbe","message":"Implement AI autopilot canonical flows and governance updates\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8e492fbd580d447f4eaefeb6287810a0ca9bffbe","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-19T23:41:26+08:00","added":["backend/prisma/migrations/20260319120000_autopilot_v1_canonical/migration.sql","backend/prisma/migrations/20260319134500_autopilot_hardening/migration.sql","backend/src/modules/ai-agents/ai-autopilot.controller.ts","backend/src/modules/ai-agents/ai-autopilot.docs.ts","backend/src/modules/ai-agents/ai-autopilot.routes.ts","backend/src/modules/ai-agents/ai-autopilot.schema.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/autopilot-executor-registry.service.ts","backend/tests/api/ai-autopilot.test.ts","backend/tests/helpers/ensure-ai-autopilot-runtime-schema.ts","e2e/agents/playwright-agent/inspectors/ad-campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/social-interaction-inspector.ts","e2e/agents/playwright-agent/inspectors/social-publish-inspector.ts","e2e/tests/auth/ai-autopilot-smoke.spec.ts","frontend/src/api/modules/ai-autopilot.ts","frontend/src/views/ai-agents/__tests__/ai-autopilot.smoke.test.ts","frontend/src/views/ai-agents/autopilot/AutoGrowth.vue","frontend/src/views/ai-agents/autopilot/AutoOps.vue","frontend/src/views/ai-agents/autopilot/Flows.vue","frontend/src/views/ai-agents/autopilot/Overview.vue","frontend/src/views/ai-agents/autopilot/RunDetail.vue","frontend/src/views/ai-agents/autopilot/Runs.vue"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/package.json","backend/prisma/schema.prisma","backend/scripts/audit-docs-single-source.ts","backend/src/modules/ai-agents/ai-agent.docs.ts","backend/src/modules/ai-agents/ai-agent.routes.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.types.ts","backend/src/shared/constants/events.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/process-core/default-workflow-definitions.ts","backend/src/shared/state-machines/machines/ai-task.machine.ts","backend/src/shared/state-machines/utils/transitions.ts","backend/tests/api/ai-agents-conversations.test.ts","backend/tests/api/ai-agents-im-queue.test.ts","backend/tests/api/ai-agents-workflows-training.test.ts","e2e/.auth/admin.json","e2e/agents/playwright-agent/index.ts","e2e/agents/playwright-agent/inspectors/index.ts","e2e/agents/playwright-agent/reporters/backend-reporter.ts","e2e/package.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/test-results/results.json","e2e/tests/navigation/requested-menu-whitelist.ts","e2e/tests/ui-modules/02-view-governance.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/package.json","frontend/src/api/index.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/types/ai-agent.ts","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","shared/src/types/ai-agents.ts"]}],"total_commits":0,"head_commit":{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},"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":1904980,"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-19T22:10:19+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
|
1773970810
|
1773970811
|
0
|
1773970805
|
1773970811
|
|
|
0
|
Edit
Delete
|
|
7228
|
Refine AI agent menus and add pending tasks review Refine AI agent menus and add pending tasks review page...
|
6
|
5
|
health-check.yml
|
7155
|
-2
|
92
|
refs/heads/main
|
979d9c81063fbda12f1445bf80b0c0027b0fbac2
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f","after":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/9771b23ae7aaee164f15f9c4ccbdb18eb68fc71f...979d9c81063fbda12f1445bf80b0c0027b0fbac2","commits":[{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},{"id":"8e492fbd580d447f4eaefeb6287810a0ca9bffbe","message":"Implement AI autopilot canonical flows and governance updates\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8e492fbd580d447f4eaefeb6287810a0ca9bffbe","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-19T23:41:26+08:00","added":["backend/prisma/migrations/20260319120000_autopilot_v1_canonical/migration.sql","backend/prisma/migrations/20260319134500_autopilot_hardening/migration.sql","backend/src/modules/ai-agents/ai-autopilot.controller.ts","backend/src/modules/ai-agents/ai-autopilot.docs.ts","backend/src/modules/ai-agents/ai-autopilot.routes.ts","backend/src/modules/ai-agents/ai-autopilot.schema.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/autopilot-executor-registry.service.ts","backend/tests/api/ai-autopilot.test.ts","backend/tests/helpers/ensure-ai-autopilot-runtime-schema.ts","e2e/agents/playwright-agent/inspectors/ad-campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/campaign-inspector.ts","e2e/agents/playwright-agent/inspectors/social-interaction-inspector.ts","e2e/agents/playwright-agent/inspectors/social-publish-inspector.ts","e2e/tests/auth/ai-autopilot-smoke.spec.ts","frontend/src/api/modules/ai-autopilot.ts","frontend/src/views/ai-agents/__tests__/ai-autopilot.smoke.test.ts","frontend/src/views/ai-agents/autopilot/AutoGrowth.vue","frontend/src/views/ai-agents/autopilot/AutoOps.vue","frontend/src/views/ai-agents/autopilot/Flows.vue","frontend/src/views/ai-agents/autopilot/Overview.vue","frontend/src/views/ai-agents/autopilot/RunDetail.vue","frontend/src/views/ai-agents/autopilot/Runs.vue"],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/package.json","backend/prisma/schema.prisma","backend/scripts/audit-docs-single-source.ts","backend/src/modules/ai-agents/ai-agent.docs.ts","backend/src/modules/ai-agents/ai-agent.routes.ts","backend/src/modules/ai-agents/ai-agent.schema.ts","backend/src/modules/ai-agents/ai-agent.types.ts","backend/src/shared/constants/events.ts","backend/src/shared/openapi/all-docs.ts","backend/src/shared/process-core/default-workflow-definitions.ts","backend/src/shared/state-machines/machines/ai-task.machine.ts","backend/src/shared/state-machines/utils/transitions.ts","backend/tests/api/ai-agents-conversations.test.ts","backend/tests/api/ai-agents-im-queue.test.ts","backend/tests/api/ai-agents-workflows-training.test.ts","e2e/.auth/admin.json","e2e/agents/playwright-agent/index.ts","e2e/agents/playwright-agent/inspectors/index.ts","e2e/agents/playwright-agent/reporters/backend-reporter.ts","e2e/package.json","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","e2e/test-results/results.json","e2e/tests/navigation/requested-menu-whitelist.ts","e2e/tests/ui-modules/02-view-governance.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/package.json","frontend/src/api/index.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/types/ai-agent.ts","package.json","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","shared/src/types/ai-agents.ts"]}],"total_commits":0,"head_commit":{"id":"979d9c81063fbda12f1445bf80b0c0027b0fbac2","message":"Refine AI agent menus and add pending tasks review page\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/979d9c81063fbda12f1445bf80b0c0027b0fbac2","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-20T00:05:17+08:00","added":[],"removed":[],"modified":["e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/router/index.ts","frontend/src/router/menu.ts","frontend/src/views/ai-agents/TasksPending.vue"]},"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":1904980,"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-19T22:10:19+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
|
1773971139
|
1773971139
|
0
|
1773971138
|
1773971139
|
|
|
0
|
Edit
Delete
|
|
7229
|
build: 完善Release版本构建配置
|
13
|
5
|
codeql-analysis.yml
|
6
|
-2
|
46
|
refs/heads/main
|
6c80c00976d1c5ac4aaa5f76d10cf1e7b4f59448
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"0000000000000000000000000000000000000000","after":"6c80c00976d1c5ac4aaa5f76d10cf1e7b4f59448","compare_url":"https://gitea.g-hi.com/luoanwu/printer-server/compare/c254333cc45c082124d3d4fd01a4a3fc3fda7296...6c80c00976d1c5ac4aaa5f76d10cf1e7b4f59448","commits":[{"id":"6c80c00976d1c5ac4aaa5f76d10cf1e7b4f59448","message":"build: 完善Release版本构建配置\n\n变更内容:\n- 优化版本管理: 使用语义化版本号 (versionMajor.versionMinor.versionPatch)\n- 修复签名配置路径: 使用相对路径读取keystore.properties\n- 添加V1+V2签名: 兼容Android 7+设备\n- 添加getBuildNumber()函数: 基于日期生成构建号\n- 重构测试目录: 迁移至标准src/test/java结构\n\n构建优化效果:\n- Debug版本: 8.1 MB\n- Release版本: 4.1 MB (优化48%)\n- ProGuard混淆 + 资源压缩生效\n\nCo-Authored-By: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/printer-server/commit/6c80c00976d1c5ac4aaa5f76d10cf1e7b4f59448","author":{"name":"hi.laoluo","email":"hi.laoluo@hilaoluodeMacBook-Pro.local","username":""},"committer":{"name":"hi.laoluo","email":"hi.laoluo@hilaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-01-21T00:05:33+08:00","added":["printer-redesign/src/test/java/com/juhai/printer/application/service/PrintTaskProcessorTest.java","printer-redesign/src/test/java/com/juhai/printer/domain/service/OrderFormatterServiceTest.java","printer-redesign/src/test/java/com/juhai/printer/domain/service/PrinterSelectorTest.java","printer-redesign/src/test/java/com/juhai/printer/test/AllTestsRunner.java","printer-redesign/src/test/java/com/juhai/printer/test/BillDomainTest.java","printer-redesign/src/test/java/com/juhai/printer/test/OrderDomainTest.java","printer-redesign/src/test/java/com/juhai/printer/test/PrintApiTest.java","printer-redesign/src/test/java/com/juhai/printer/test/PrintFunctionTest.java","printer-redesign/src/test/java/com/juhai/printer/test/PrintReliabilityTest.java","printer-redesign/src/test/java/com/juhai/printer/test/TemplateEngineTest.java","printer-redesign/src/test/java/com/juhai/printer/test/WebSocketCommunicationTest.java"],"removed":["printer-redesign/test/AllTestsRunner.java","printer-redesign/test/BillDomainTest.java","printer-redesign/test/OrderDomainTest.java","printer-redesign/test/PrintApiTest.java","printer-redesign/test/PrintFunctionTest.java","printer-redesign/test/PrintReliabilityTest.java","printer-redesign/test/TemplateEngineTest.java","printer-redesign/test/WebSocketCommunicationTest.java","printer-redesign/test/com/juhai/printer/application/service/PrintTaskProcessorTest.java","printer-redesign/test/com/juhai/printer/domain/service/OrderFormatterServiceTest.java","printer-redesign/test/com/juhai/printer/domain/service/PrinterSelectorTest.java"],"modified":["printer-redesign/build.gradle"]},{"id":"b44b6415c67f54b2d1bcd688757fec2aaf1686f4","message":"fix: 修复PrintJob状态转换和数据库初始化崩溃问题\n\n1. PrinterDatabase.optimizeDatabase()\n - 将PRAGMA命令从execSQL改为query()方法\n - Room的SupportSQLiteDatabase对PRAGMA有限制\n - 添加异常处理确保数据库优化失败不影响启动\n\n2. PrinterService.onTaskFailed()\n - 添加状态检查逻辑,根据当前状态决定处理方式\n - FAILED状态:执行重试逻辑\n - PRINTING状态:先转换为FAILED再重试\n - 其他状态:直接重新调度执行\n\n3. PrintingApplicationService.executePrintJob()\n - 新增prepareJobForPrinting()确保状态正确转换\n - CREATED -\u003e QUEUED -\u003e PRINTING 状态流转\n - 新增handleJobFailure()安全处理失败\n\nCo-Authored-By: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/printer-server/commit/b44b6415c67f54b2d1bcd688757fec2aaf1686f4","author":{"name":"hi.laoluo","email":"hi.laoluo@hilaoluodeMacBook-Pro.local","username":""},"committer":{"name":"hi.laoluo","email":"hi.laoluo@hilaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-01-20T23:54:24+08:00","added":[],"removed":[],"modified":["printer-redesign/application/service/PrinterService.java","printer-redesign/application/service/PrintingApplicationService.java","printer-redesign/infrastructure/database/PrinterDatabase.java","printer-redesign/scripts/build-release.sh"]},{"id":"d2d0385e8b5c1b06d7e59f108c6e9f845905c841","message":"fix: 修复编译错误并成功构建APK\n\n修复内容:\n- PrintTestActivity: 重写以修复API兼容性问题\n - observeEnabled()替代getEnabledPrinters()\n - 移除PrinterApplication依赖\n - 修复Priority/PrintType方法调用\n - 修复rawContent类型(String→byte[])\n- OrderFormatterService: 补充shouldBeep()方法闭合括号\n- TemplateRenderEngine: 修复方法调用\n - getSummary()→toString()\n - setFontSize()→setSize()\n - setWidth()→setLength()\n- PrintJobDao: 添加getActiveJobs()方法\n- QueueViewModel: 修复RxJava包装和cancel()参数\n- MainViewModel: 移除totalCount()调用\n- PrinterConfigDTO: 修复fromEntity()方法兼容性\n\n构建结果:APK 7.8MB\n\nCo-Authored-By: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/printer-server/commit/d2d0385e8b5c1b06d7e59f108c6e9f845905c841","author":{"name":"hi.laoluo","email":"hi.laoluo@hilaoluodeMacBook-Pro.local","username":""},"committer":{"name":"hi.laoluo","email":"hi.laoluo@hilaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-01-20T23:38:29+08:00","added":[],"removed":[],"modified":["printer-redesign/application/dto/PrinterConfigDTO.java","printer-redesign/application/engine/TemplateRenderEngine.java","printer-redesign/application/engine/TemplateValidator.java","printer-redesign/domain/service/OrderFormatterService.java","printer-redesign/infrastructure/database/dao/PrintJobDao.java","printer-redesign/infrastructure/device/EscPosExecutor.java","printer-redesign/infrastructure/device/PrinterCommandExecutor.java","printer-redesign/infrastructure/device/TsplExecutor.java","printer-redesign/infrastructure/device/driver/SystemPrintDriver.java","printer-redesign/presentation/PrintTestActivity.java","printer-redesign/presentation/viewmodel/MainViewModel.java","printer-redesign/presentation/viewmodel/QueueViewModel.java"]},{"id":"f8bc615170b4f10a4c9e1ec5261191268d6b7f0a","message":"feat: 增强应用架构与测试功能\n\n- 新增 CQRS 模式支持 (command/query/dto)\n- 添加 PrintTestActivity 测试界面\n- 新增 MainViewModel 和 QueueViewModel\n- 完善 build.gradle 配置与签名设置\n- 优化 MainActivity 功能与交互\n- 增强 PrintTaskAdapter 适配逻辑\n- 添加 proguard 混淆规则和构建脚本\n- 更新 UI 资源文件\n\nCo-Authored-By: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/printer-server/commit/f8bc615170b4f10a4c9e1ec5261191268d6b7f0a","author":{"name":"hi.laoluo","email":"hi.laoluo@hilaoluodeMacBook-Pro.local","username":""},"committer":{"name":"hi.laoluo","email":"hi.laoluo@hilaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-01-20T23:28:57+08:00","added":["printer-redesign/application/command/ConfigurePrinterCommand.java","printer-redesign/application/command/RecoverDeadLetterCommand.java","printer-redesign/application/command/SubmitPrintJobCommand.java","printer-redesign/application/dto/PrintJobDTO.java","printer-redesign/application/dto/PrinterConfigDTO.java","printer-redesign/application/dto/QueueStatsDTO.java","printer-redesign/application/query/GetPrintJobsQuery.java","printer-redesign/application/query/GetQueueStatsQuery.java","printer-redesign/keystore.properties.template","printer-redesign/presentation/PrintTestActivity.java","printer-redesign/presentation/viewmodel/MainViewModel.java","printer-redesign/presentation/viewmodel/QueueViewModel.java","printer-redesign/proguard-rules.pro","printer-redesign/scripts/build-release.sh","printer-redesign/scripts/generate-keystore.sh","printer-redesign/src/main/res/drawable/ic_help.xml","printer-redesign/src/main/res/layout/activity_print_test.xml"],"removed":[],"modified":[".gitignore","printer-redesign/build.gradle","printer-redesign/domain/expression/ExpressionEvaluator.java","printer-redesign/migration/BillStyleAdapter.java","printer-redesign/migration/PrintTaskAdapter.java","printer-redesign/presentation/MainActivity.java","printer-redesign/src/main/AndroidManifest.xml","printer-redesign/src/main/res/values/colors.xml","printer-redesign/src/main/res/values/strings.xml"]},{"id":"4052be41183584c726cd84d2f9d9cb5c371da83b","message":"feat: 完善模板引擎系统与UI优化\n\n模板引擎增强:\n- 新增 ExpressionEvaluator 表达式求值器,支持复杂条件判断\n- 新增 FormatPipeline 格式化管道,支持货币/日期/截断等格式化\n- 新增 ContextDataEnhanced 增强上下文,支持嵌套路径和管道\n- 新增 GroupElement 分组元素,支持条件渲染和循环渲染\n- 新增 TableElementEnhanced 增强表格,支持分组/小计/合计\n- 新增 ImageElement 图片元素,支持URL/Base64/本地文件\n- 新增 TemplateValidator 模板验证器\n- 新增 TemplateRenderEngineEnhanced 增强渲染引擎\n- 完善 TemplateManager 模板管理器\n\nUI和功能优化:\n- 新增 HealthCheckActivity 健康检查详情页\n- 新增 LogViewerActivity 日志查看页面\n- 新增 QueueDetailActivity 队列详情页面\n- 优化 MainActivity 界面布局和状态显示\n- 精简 SystemPrintDriver 代码结构\n- 新增相关资源文件和菜单\n\nCo-Authored-By: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/printer-server/commit/4052be41183584c726cd84d2f9d9cb5c371da83b","author":{"name":"hi.laoluo","email":"hi.laoluo@hilaoluodeMacBook-Pro.local","username":""},"committer":{"name":"hi.laoluo","email":"hi.laoluo@hilaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-01-20T23:12:50+08:00","added":["printer-redesign/application/engine/TemplateRenderEngineEnhanced.java","printer-redesign/application/engine/TemplateValidator.java","printer-redesign/docs/TEMPLATE_ENHANCEMENT_GUIDE.md","printer-redesign/domain/expression/ExpressionEvaluator.java","printer-redesign/domain/service/formatter/StrategyRegistry.java","printer-redesign/domain/template/ContextDataEnhanced.java","printer-redesign/domain/template/CutElement.java","printer-redesign/domain/template/FormatPipeline.java","printer-redesign/domain/template/GroupElement.java","printer-redesign/domain/template/ImageElement.java","printer-redesign/domain/template/QRCodeElement.java","printer-redesign/domain/template/SpacerElement.java","printer-redesign/domain/template/TableElementEnhanced.java","printer-redesign/infrastructure/device/utils/BitmapToEscPosUtil.java","printer-redesign/presentation/HealthCheckActivity.java","printer-redesign/presentation/LogViewerActivity.java","printer-redesign/presentation/QueueDetailActivity.java","printer-redesign/src/main/res/drawable/bg_error_message.xml","printer-redesign/src/main/res/drawable/bg_status_chip.xml","printer-redesign/src/main/res/drawable/ic_check_circle.xml","printer-redesign/src/main/res/drawable/ic_error.xml","printer-redesign/src/main/res/drawable/ic_print_type.xml","printer-redesign/src/main/res/drawable/ic_recover.xml","printer-redesign/src/main/res/drawable/ic_warning.xml","printer-redesign/src/main/res/layout/activity_health_check.xml","printer-redesign/src/main/res/layout/activity_log_viewer.xml","printer-redesign/src/main/res/layout/activity_queue_detail.xml","printer-redesign/src/main/res/layout/item_health_component.xml","printer-redesign/src/main/res/layout/item_print_log.xml","printer-redesign/src/main/res/layout/item_queue_job.xml","printer-redesign/src/main/res/menu/menu_log_viewer.xml","printer-redesign/src/main/res/menu/menu_queue_detail.xml"],"removed":[],"modified":["ARCHITECTURE_COMPARISON.md","CLAUDE.md","printer-redesign/ARCHITECTURE.md","printer-redesign/application/engine/TemplateManager.java","printer-redesign/application/engine/TemplateRenderEngine.java","printer-redesign/build.gradle","printer-redesign/domain/template/BarcodeElement.java","printer-redesign/domain/template/BaseElement.java","printer-redesign/domain/template/ContextData.java","printer-redesign/domain/template/LineElement.java","printer-redesign/domain/template/PrintElement.java","printer-redesign/domain/template/TableElement.java","printer-redesign/domain/template/TextElement.java","printer-redesign/infrastructure/device/driver/SystemPrintDriver.java","printer-redesign/presentation/MainActivity.java","printer-redesign/src/main/AndroidManifest.xml","printer-redesign/src/main/res/layout/activity_main.xml","printer-redesign/src/main/res/values/colors.xml"]}],"total_commits":0,"head_commit":{"id":"6c80c00976d1c5ac4aaa5f76d10cf1e7b4f59448","message":"build: 完善Release版本构建配置\n\n变更内容:\n- 优化版本管理: 使用语义化版本号 (versionMajor.versionMinor.versionPatch)\n- 修复签名配置路径: 使用相对路径读取keystore.properties\n- 添加V1+V2签名: 兼容Android 7+设备\n- 添加getBuildNumber()函数: 基于日期生成构建号\n- 重构测试目录: 迁移至标准src/test/java结构\n\n构建优化效果:\n- Debug版本: 8.1 MB\n- Release版本: 4.1 MB (优化48%)\n- ProGuard混淆 + 资源压缩生效\n\nCo-Authored-By: Claude Opus 4.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/printer-server/commit/6c80c00976d1c5ac4aaa5f76d10cf1e7b4f59448","author":{"name":"hi.laoluo","email":"hi.laoluo@hilaoluodeMacBook-Pro.local","username":""},"committer":{"name":"hi.laoluo","email":"hi.laoluo@hilaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-01-21T00:05:33+08:00","added":["printer-redesign/src/test/java/com/juhai/printer/application/service/PrintTaskProcessorTest.java","printer-redesign/src/test/java/com/juhai/printer/domain/service/OrderFormatterServiceTest.java","printer-redesign/src/test/java/com/juhai/printer/domain/service/PrinterSelectorTest.java","printer-redesign/src/test/java/com/juhai/printer/test/AllTestsRunner.java","printer-redesign/src/test/java/com/juhai/printer/test/BillDomainTest.java","printer-redesign/src/test/java/com/juhai/printer/test/OrderDomainTest.java","printer-redesign/src/test/java/com/juhai/printer/test/PrintApiTest.java","printer-redesign/src/test/java/com/juhai/printer/test/PrintFunctionTest.java","printer-redesign/src/test/java/com/juhai/printer/test/PrintReliabilityTest.java","printer-redesign/src/test/java/com/juhai/printer/test/TemplateEngineTest.java","printer-redesign/src/test/java/com/juhai/printer/test/WebSocketCommunicationTest.java"],"removed":["printer-redesign/test/AllTestsRunner.java","printer-redesign/test/BillDomainTest.java","printer-redesign/test/OrderDomainTest.java","printer-redesign/test/PrintApiTest.java","printer-redesign/test/PrintFunctionTest.java","printer-redesign/test/PrintReliabilityTest.java","printer-redesign/test/TemplateEngineTest.java","printer-redesign/test/WebSocketCommunicationTest.java","printer-redesign/test/com/juhai/printer/application/service/PrintTaskProcessorTest.java","printer-redesign/test/com/juhai/printer/domain/service/OrderFormatterServiceTest.java","printer-redesign/test/com/juhai/printer/domain/service/PrinterSelectorTest.java"],"modified":["printer-redesign/build.gradle"]},"repository":{"id":13,"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":"printer-server","full_name":"luoanwu/printer-server","description":"KTV打印服务器 - DDD架构重构","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":27,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/printer-server/languages","html_url":"https://gitea.g-hi.com/luoanwu/printer-server","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/printer-server","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/printer-server.git","clone_url":"https://gitea.g-hi.com/luoanwu/printer-server.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-28T11:06:40+08:00","updated_at":"2026-02-28T11:06:54+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
|
4
|
1774206041
|
1774206127
|
0
|
1774206040
|
1774206127
|
|
|
0
|
Edit
Delete
|
|
7237
|
fix: 前端 UI 交互防崩溃加固 — 25 个视图文件 + useApiQuery 增强
|
6
|
5
|
health-check.yml
|
7163
|
-2
|
96
|
refs/heads/main
|
0900b15d607e5c78f97fec16a73357ad4f814390
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"86beff17d922cf15f9ac6e298961a63c92ec85f8","after":"0900b15d607e5c78f97fec16a73357ad4f814390","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/86beff17d922cf15f9ac6e298961a63c92ec85f8...0900b15d607e5c78f97fec16a73357ad4f814390","commits":[{"id":"0900b15d607e5c78f97fec16a73357ad4f814390","message":"fix: 前端 UI 交互防崩溃加固 — 25 个视图文件 + useApiQuery 增强\n\n三类修复(多 Agent 并行协作,零回归验证通过):\n\n1. 列表页 undefined 防护(10 文件 14 处):\n - res.data → res?.data ?? [] 防止 .map()/.length 崩溃\n - res.meta.total → res?.meta?.total ?? 0 防止分页异常\n\n2. 表单验证 try-catch(10 文件):\n - validate() 裸调用 → .catch(() =\u003e false) + if (!valid) return\n - 防止验证失败时页面卡死\n\n3. 删除操作错误处理(5 文件 8 处):\n - 空 catch 吞掉所有错误 → isCancelError 区分用户取消/真实错误\n - 真实 API 错误显示友好提示\n\n4. useApiQuery.ts 增强:\n - normalizeListResult 归一化防 undefined\n - useApiMutation 添加 onError 默认提示 + successMessage 控制\n - 全部 hook 添加 retry: 1\n\n验证:Vite 构建通过 / vue-tsc 0 新增错误 / 后端 4267 测试通过(+51)/ E2E 12/14 通过(0 回归)\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/0900b15d607e5c78f97fec16a73357ad4f814390","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-23T07:09:28+08:00","added":["frontend/src/composables/useApiQuery.ts"],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/biz-sequences/Form.vue","frontend/src/views/campaign-drafts/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-use-case-templates/Index.vue","frontend/src/views/cost-allocation/Form.vue","frontend/src/views/customer-balance/Form.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/journey-orchestration/Index.vue","frontend/src/views/landing-pages/Index.vue","frontend/src/views/maintenance/PlanForm.vue","frontend/src/views/maintenance/TaskForm.vue","frontend/src/views/marketing-forms/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/partner-customers/Index.vue","frontend/src/views/predictive-analytics/Index.vue","frontend/src/views/products/Categories.vue","frontend/src/views/roles/Index.vue","frontend/src/views/roles/components/RoleUsers.vue","frontend/src/views/segments/Form.vue","frontend/src/views/social-matrix/Form.vue","frontend/src/views/stores/Form.vue","frontend/src/views/swot-analyses/Index.vue"]},{"id":"d896457d1be5c717ded0691d144621b3c521cd35","message":"chore: Phase 0-5 附带修复 — Agent 产生的额外优化\n\n- database.ts: 类型优化\n- main.ts: 路由注册和 schema 转换修复\n- auth.middleware.ts: 类型收紧\n- schema-converter.ts: 冗余移除\n- IMPanel.vue/MessageSearch.vue: 前端组件优化\n- list-cache.service.ts: 新增列表缓存服务\n- 更新审计报告快照\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/d896457d1be5c717ded0691d144621b3c521cd35","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-22T23:08:14+08:00","added":["backend/src/shared/services/list-cache.service.ts"],"removed":[],"modified":["backend/.env.example","backend/src/config/database.ts","backend/src/main.ts","backend/src/modules/im/im-channel.controller.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/schema-converter.ts","frontend/package.json","frontend/src/components/business/IMPanel.vue","frontend/src/composables/index.ts","frontend/src/main.ts","frontend/src/stores/auth.test.ts","frontend/src/views/im/components/MessageSearch.vue","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md"]},{"id":"8d6bbbf7db74cd492873138a576a303da86c39cf","message":"test: Phase 3 — IM 15 测试 + Revenue 13 测试 + ZodEffects 兼容修复\n\n- 新增 tests/api/im.test.ts: 15 用例覆盖会话/消息/参与者/在线状态/未读统计\n- 新增 tests/api/revenue-payment-terms.test.ts: 13 用例覆盖统计/CRUD/批量/事件集成\n- 修复 validation.ts: ZodEffects.prototype 添加 partial/omit/extend 代理\n- 修复 rfm-analysis.schema.ts: .passthrough() 顺序修正\n- 发现: IM 模块需加入 requestCaseConverter 排除列表\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8d6bbbf7db74cd492873138a576a303da86c39cf","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-22T23:05:53+08:00","added":["backend/tests/api/im.test.ts","backend/tests/api/revenue-payment-terms.test.ts"],"removed":[],"modified":["backend/src/modules/rfm-analysis/rfm-analysis.schema.ts","backend/src/shared/utils/validation.ts"]},{"id":"5154c3ae921f8ff76d803e3e30208edd8c791d77","message":"test: Phase 3 — Marketing API 集成测试 19 用例 + schema bug 修复\n\n- 新增 tests/api/marketing.test.ts: 19 个测试用例覆盖 CRUD + 状态机 + 多租户隔离\n- 修复 lead-scoring.schema.ts: .transform() 后 .partial() 运行时错误\n- 修复 lead-assignment.schema.ts: 同上\n- 修复 campaign-analytics.schema.ts: .passthrough() 顺序修正\n- 修复 diagnosis.schema.ts: 同上\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5154c3ae921f8ff76d803e3e30208edd8c791d77","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-22T23:01:58+08:00","added":["backend/tests/api/marketing.test.ts"],"removed":[],"modified":["backend/src/modules/campaign-analytics/campaign-analytics.schema.ts","backend/src/modules/diagnosis/diagnosis.schema.ts","backend/src/modules/leads/lead-assignment.schema.ts","backend/src/modules/leads/lead-scoring.schema.ts"]},{"id":"e75f31c633c3520ac69d3d9e47b2bdb86a517e6d","message":"refactor: Phase 4 — 循环依赖 8→1(仅剩 prisma 自引用误报)\n\n修复策略:\n- finance 循环(#5-8): 提取 finance.types.ts 共享类型,打断子模块↔主模块循环\n- kafka/circuit-breaker(#1): producerProvider 回调注入替代动态 import\n- ai-agents(#3-4): 函数注册表模式(ai-autopilot-registry.ts)解耦互相调用\n- prisma-fallback-types(#2): madge 递归类型误报,无需修复\n\ntsc --noEmit 零错误 / madge circular 仅剩 1 个误报\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e75f31c633c3520ac69d3d9e47b2bdb86a517e6d","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-22T23:00:25+08:00","added":["backend/src/modules/ai-agents/ai-autopilot-registry.ts","backend/src/modules/finance/finance.types.ts"],"removed":[],"modified":["backend/src/config/kafka.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/autopilot-scheduler.service.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance-extras.service.ts","backend/src/modules/finance/finance-periods.service.ts","backend/src/modules/finance/finance-refunds.service.ts","backend/src/modules/finance/finance.service.ts","backend/src/shared/services/circuit-breaker.service.ts"]}],"total_commits":0,"head_commit":{"id":"0900b15d607e5c78f97fec16a73357ad4f814390","message":"fix: 前端 UI 交互防崩溃加固 — 25 个视图文件 + useApiQuery 增强\n\n三类修复(多 Agent 并行协作,零回归验证通过):\n\n1. 列表页 undefined 防护(10 文件 14 处):\n - res.data → res?.data ?? [] 防止 .map()/.length 崩溃\n - res.meta.total → res?.meta?.total ?? 0 防止分页异常\n\n2. 表单验证 try-catch(10 文件):\n - validate() 裸调用 → .catch(() =\u003e false) + if (!valid) return\n - 防止验证失败时页面卡死\n\n3. 删除操作错误处理(5 文件 8 处):\n - 空 catch 吞掉所有错误 → isCancelError 区分用户取消/真实错误\n - 真实 API 错误显示友好提示\n\n4. useApiQuery.ts 增强:\n - normalizeListResult 归一化防 undefined\n - useApiMutation 添加 onError 默认提示 + successMessage 控制\n - 全部 hook 添加 retry: 1\n\n验证:Vite 构建通过 / vue-tsc 0 新增错误 / 后端 4267 测试通过(+51)/ E2E 12/14 通过(0 回归)\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/0900b15d607e5c78f97fec16a73357ad4f814390","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-23T07:09:28+08:00","added":["frontend/src/composables/useApiQuery.ts"],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/biz-sequences/Form.vue","frontend/src/views/campaign-drafts/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-use-case-templates/Index.vue","frontend/src/views/cost-allocation/Form.vue","frontend/src/views/customer-balance/Form.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/journey-orchestration/Index.vue","frontend/src/views/landing-pages/Index.vue","frontend/src/views/maintenance/PlanForm.vue","frontend/src/views/maintenance/TaskForm.vue","frontend/src/views/marketing-forms/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/partner-customers/Index.vue","frontend/src/views/predictive-analytics/Index.vue","frontend/src/views/products/Categories.vue","frontend/src/views/roles/Index.vue","frontend/src/views/roles/components/RoleUsers.vue","frontend/src/views/segments/Form.vue","frontend/src/views/social-matrix/Form.vue","frontend/src/views/stores/Form.vue","frontend/src/views/swot-analyses/Index.vue"]},"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":1907548,"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-20T01:03:04+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
|
1774221624
|
1774221625
|
0
|
1774221040
|
1774221625
|
|
|
0
|
Edit
Delete
|
|
7239
|
fix: 前端 UI 交互防崩溃加固 — 25 个视图文件 + useApiQuery 增强
|
6
|
5
|
health-check.yml
|
7165
|
-2
|
96
|
refs/heads/main
|
0900b15d607e5c78f97fec16a73357ad4f814390
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"86beff17d922cf15f9ac6e298961a63c92ec85f8","after":"0900b15d607e5c78f97fec16a73357ad4f814390","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/86beff17d922cf15f9ac6e298961a63c92ec85f8...0900b15d607e5c78f97fec16a73357ad4f814390","commits":[{"id":"0900b15d607e5c78f97fec16a73357ad4f814390","message":"fix: 前端 UI 交互防崩溃加固 — 25 个视图文件 + useApiQuery 增强\n\n三类修复(多 Agent 并行协作,零回归验证通过):\n\n1. 列表页 undefined 防护(10 文件 14 处):\n - res.data → res?.data ?? [] 防止 .map()/.length 崩溃\n - res.meta.total → res?.meta?.total ?? 0 防止分页异常\n\n2. 表单验证 try-catch(10 文件):\n - validate() 裸调用 → .catch(() =\u003e false) + if (!valid) return\n - 防止验证失败时页面卡死\n\n3. 删除操作错误处理(5 文件 8 处):\n - 空 catch 吞掉所有错误 → isCancelError 区分用户取消/真实错误\n - 真实 API 错误显示友好提示\n\n4. useApiQuery.ts 增强:\n - normalizeListResult 归一化防 undefined\n - useApiMutation 添加 onError 默认提示 + successMessage 控制\n - 全部 hook 添加 retry: 1\n\n验证:Vite 构建通过 / vue-tsc 0 新增错误 / 后端 4267 测试通过(+51)/ E2E 12/14 通过(0 回归)\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/0900b15d607e5c78f97fec16a73357ad4f814390","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-23T07:09:28+08:00","added":["frontend/src/composables/useApiQuery.ts"],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/biz-sequences/Form.vue","frontend/src/views/campaign-drafts/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-use-case-templates/Index.vue","frontend/src/views/cost-allocation/Form.vue","frontend/src/views/customer-balance/Form.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/journey-orchestration/Index.vue","frontend/src/views/landing-pages/Index.vue","frontend/src/views/maintenance/PlanForm.vue","frontend/src/views/maintenance/TaskForm.vue","frontend/src/views/marketing-forms/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/partner-customers/Index.vue","frontend/src/views/predictive-analytics/Index.vue","frontend/src/views/products/Categories.vue","frontend/src/views/roles/Index.vue","frontend/src/views/roles/components/RoleUsers.vue","frontend/src/views/segments/Form.vue","frontend/src/views/social-matrix/Form.vue","frontend/src/views/stores/Form.vue","frontend/src/views/swot-analyses/Index.vue"]},{"id":"d896457d1be5c717ded0691d144621b3c521cd35","message":"chore: Phase 0-5 附带修复 — Agent 产生的额外优化\n\n- database.ts: 类型优化\n- main.ts: 路由注册和 schema 转换修复\n- auth.middleware.ts: 类型收紧\n- schema-converter.ts: 冗余移除\n- IMPanel.vue/MessageSearch.vue: 前端组件优化\n- list-cache.service.ts: 新增列表缓存服务\n- 更新审计报告快照\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/d896457d1be5c717ded0691d144621b3c521cd35","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-22T23:08:14+08:00","added":["backend/src/shared/services/list-cache.service.ts"],"removed":[],"modified":["backend/.env.example","backend/src/config/database.ts","backend/src/main.ts","backend/src/modules/im/im-channel.controller.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/schema-converter.ts","frontend/package.json","frontend/src/components/business/IMPanel.vue","frontend/src/composables/index.ts","frontend/src/main.ts","frontend/src/stores/auth.test.ts","frontend/src/views/im/components/MessageSearch.vue","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md"]},{"id":"8d6bbbf7db74cd492873138a576a303da86c39cf","message":"test: Phase 3 — IM 15 测试 + Revenue 13 测试 + ZodEffects 兼容修复\n\n- 新增 tests/api/im.test.ts: 15 用例覆盖会话/消息/参与者/在线状态/未读统计\n- 新增 tests/api/revenue-payment-terms.test.ts: 13 用例覆盖统计/CRUD/批量/事件集成\n- 修复 validation.ts: ZodEffects.prototype 添加 partial/omit/extend 代理\n- 修复 rfm-analysis.schema.ts: .passthrough() 顺序修正\n- 发现: IM 模块需加入 requestCaseConverter 排除列表\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8d6bbbf7db74cd492873138a576a303da86c39cf","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-22T23:05:53+08:00","added":["backend/tests/api/im.test.ts","backend/tests/api/revenue-payment-terms.test.ts"],"removed":[],"modified":["backend/src/modules/rfm-analysis/rfm-analysis.schema.ts","backend/src/shared/utils/validation.ts"]},{"id":"5154c3ae921f8ff76d803e3e30208edd8c791d77","message":"test: Phase 3 — Marketing API 集成测试 19 用例 + schema bug 修复\n\n- 新增 tests/api/marketing.test.ts: 19 个测试用例覆盖 CRUD + 状态机 + 多租户隔离\n- 修复 lead-scoring.schema.ts: .transform() 后 .partial() 运行时错误\n- 修复 lead-assignment.schema.ts: 同上\n- 修复 campaign-analytics.schema.ts: .passthrough() 顺序修正\n- 修复 diagnosis.schema.ts: 同上\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5154c3ae921f8ff76d803e3e30208edd8c791d77","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-22T23:01:58+08:00","added":["backend/tests/api/marketing.test.ts"],"removed":[],"modified":["backend/src/modules/campaign-analytics/campaign-analytics.schema.ts","backend/src/modules/diagnosis/diagnosis.schema.ts","backend/src/modules/leads/lead-assignment.schema.ts","backend/src/modules/leads/lead-scoring.schema.ts"]},{"id":"e75f31c633c3520ac69d3d9e47b2bdb86a517e6d","message":"refactor: Phase 4 — 循环依赖 8→1(仅剩 prisma 自引用误报)\n\n修复策略:\n- finance 循环(#5-8): 提取 finance.types.ts 共享类型,打断子模块↔主模块循环\n- kafka/circuit-breaker(#1): producerProvider 回调注入替代动态 import\n- ai-agents(#3-4): 函数注册表模式(ai-autopilot-registry.ts)解耦互相调用\n- prisma-fallback-types(#2): madge 递归类型误报,无需修复\n\ntsc --noEmit 零错误 / madge circular 仅剩 1 个误报\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e75f31c633c3520ac69d3d9e47b2bdb86a517e6d","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-22T23:00:25+08:00","added":["backend/src/modules/ai-agents/ai-autopilot-registry.ts","backend/src/modules/finance/finance.types.ts"],"removed":[],"modified":["backend/src/config/kafka.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/autopilot-scheduler.service.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance-extras.service.ts","backend/src/modules/finance/finance-periods.service.ts","backend/src/modules/finance/finance-refunds.service.ts","backend/src/modules/finance/finance.service.ts","backend/src/shared/services/circuit-breaker.service.ts"]}],"total_commits":0,"head_commit":{"id":"0900b15d607e5c78f97fec16a73357ad4f814390","message":"fix: 前端 UI 交互防崩溃加固 — 25 个视图文件 + useApiQuery 增强\n\n三类修复(多 Agent 并行协作,零回归验证通过):\n\n1. 列表页 undefined 防护(10 文件 14 处):\n - res.data → res?.data ?? [] 防止 .map()/.length 崩溃\n - res.meta.total → res?.meta?.total ?? 0 防止分页异常\n\n2. 表单验证 try-catch(10 文件):\n - validate() 裸调用 → .catch(() =\u003e false) + if (!valid) return\n - 防止验证失败时页面卡死\n\n3. 删除操作错误处理(5 文件 8 处):\n - 空 catch 吞掉所有错误 → isCancelError 区分用户取消/真实错误\n - 真实 API 错误显示友好提示\n\n4. useApiQuery.ts 增强:\n - normalizeListResult 归一化防 undefined\n - useApiMutation 添加 onError 默认提示 + successMessage 控制\n - 全部 hook 添加 retry: 1\n\n验证:Vite 构建通过 / vue-tsc 0 新增错误 / 后端 4267 测试通过(+51)/ E2E 12/14 通过(0 回归)\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/0900b15d607e5c78f97fec16a73357ad4f814390","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-23T07:09:28+08:00","added":["frontend/src/composables/useApiQuery.ts"],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/biz-sequences/Form.vue","frontend/src/views/campaign-drafts/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-use-case-templates/Index.vue","frontend/src/views/cost-allocation/Form.vue","frontend/src/views/customer-balance/Form.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/journey-orchestration/Index.vue","frontend/src/views/landing-pages/Index.vue","frontend/src/views/maintenance/PlanForm.vue","frontend/src/views/maintenance/TaskForm.vue","frontend/src/views/marketing-forms/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/partner-customers/Index.vue","frontend/src/views/predictive-analytics/Index.vue","frontend/src/views/products/Categories.vue","frontend/src/views/roles/Index.vue","frontend/src/views/roles/components/RoleUsers.vue","frontend/src/views/segments/Form.vue","frontend/src/views/social-matrix/Form.vue","frontend/src/views/stores/Form.vue","frontend/src/views/swot-analyses/Index.vue"]},"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":1907548,"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-20T01:03:04+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
|
1774221722
|
1774221723
|
0
|
1774221340
|
1774221723
|
|
|
0
|
Edit
Delete
|
|
7241
|
fix: 前端 UI 交互防崩溃加固 — 25 个视图文件 + useApiQuery 增强
|
6
|
5
|
health-check.yml
|
7167
|
-2
|
96
|
refs/heads/main
|
0900b15d607e5c78f97fec16a73357ad4f814390
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"86beff17d922cf15f9ac6e298961a63c92ec85f8","after":"0900b15d607e5c78f97fec16a73357ad4f814390","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/86beff17d922cf15f9ac6e298961a63c92ec85f8...0900b15d607e5c78f97fec16a73357ad4f814390","commits":[{"id":"0900b15d607e5c78f97fec16a73357ad4f814390","message":"fix: 前端 UI 交互防崩溃加固 — 25 个视图文件 + useApiQuery 增强\n\n三类修复(多 Agent 并行协作,零回归验证通过):\n\n1. 列表页 undefined 防护(10 文件 14 处):\n - res.data → res?.data ?? [] 防止 .map()/.length 崩溃\n - res.meta.total → res?.meta?.total ?? 0 防止分页异常\n\n2. 表单验证 try-catch(10 文件):\n - validate() 裸调用 → .catch(() =\u003e false) + if (!valid) return\n - 防止验证失败时页面卡死\n\n3. 删除操作错误处理(5 文件 8 处):\n - 空 catch 吞掉所有错误 → isCancelError 区分用户取消/真实错误\n - 真实 API 错误显示友好提示\n\n4. useApiQuery.ts 增强:\n - normalizeListResult 归一化防 undefined\n - useApiMutation 添加 onError 默认提示 + successMessage 控制\n - 全部 hook 添加 retry: 1\n\n验证:Vite 构建通过 / vue-tsc 0 新增错误 / 后端 4267 测试通过(+51)/ E2E 12/14 通过(0 回归)\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/0900b15d607e5c78f97fec16a73357ad4f814390","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-23T07:09:28+08:00","added":["frontend/src/composables/useApiQuery.ts"],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/biz-sequences/Form.vue","frontend/src/views/campaign-drafts/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-use-case-templates/Index.vue","frontend/src/views/cost-allocation/Form.vue","frontend/src/views/customer-balance/Form.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/journey-orchestration/Index.vue","frontend/src/views/landing-pages/Index.vue","frontend/src/views/maintenance/PlanForm.vue","frontend/src/views/maintenance/TaskForm.vue","frontend/src/views/marketing-forms/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/partner-customers/Index.vue","frontend/src/views/predictive-analytics/Index.vue","frontend/src/views/products/Categories.vue","frontend/src/views/roles/Index.vue","frontend/src/views/roles/components/RoleUsers.vue","frontend/src/views/segments/Form.vue","frontend/src/views/social-matrix/Form.vue","frontend/src/views/stores/Form.vue","frontend/src/views/swot-analyses/Index.vue"]},{"id":"d896457d1be5c717ded0691d144621b3c521cd35","message":"chore: Phase 0-5 附带修复 — Agent 产生的额外优化\n\n- database.ts: 类型优化\n- main.ts: 路由注册和 schema 转换修复\n- auth.middleware.ts: 类型收紧\n- schema-converter.ts: 冗余移除\n- IMPanel.vue/MessageSearch.vue: 前端组件优化\n- list-cache.service.ts: 新增列表缓存服务\n- 更新审计报告快照\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/d896457d1be5c717ded0691d144621b3c521cd35","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-22T23:08:14+08:00","added":["backend/src/shared/services/list-cache.service.ts"],"removed":[],"modified":["backend/.env.example","backend/src/config/database.ts","backend/src/main.ts","backend/src/modules/im/im-channel.controller.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/schema-converter.ts","frontend/package.json","frontend/src/components/business/IMPanel.vue","frontend/src/composables/index.ts","frontend/src/main.ts","frontend/src/stores/auth.test.ts","frontend/src/views/im/components/MessageSearch.vue","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md"]},{"id":"8d6bbbf7db74cd492873138a576a303da86c39cf","message":"test: Phase 3 — IM 15 测试 + Revenue 13 测试 + ZodEffects 兼容修复\n\n- 新增 tests/api/im.test.ts: 15 用例覆盖会话/消息/参与者/在线状态/未读统计\n- 新增 tests/api/revenue-payment-terms.test.ts: 13 用例覆盖统计/CRUD/批量/事件集成\n- 修复 validation.ts: ZodEffects.prototype 添加 partial/omit/extend 代理\n- 修复 rfm-analysis.schema.ts: .passthrough() 顺序修正\n- 发现: IM 模块需加入 requestCaseConverter 排除列表\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8d6bbbf7db74cd492873138a576a303da86c39cf","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-22T23:05:53+08:00","added":["backend/tests/api/im.test.ts","backend/tests/api/revenue-payment-terms.test.ts"],"removed":[],"modified":["backend/src/modules/rfm-analysis/rfm-analysis.schema.ts","backend/src/shared/utils/validation.ts"]},{"id":"5154c3ae921f8ff76d803e3e30208edd8c791d77","message":"test: Phase 3 — Marketing API 集成测试 19 用例 + schema bug 修复\n\n- 新增 tests/api/marketing.test.ts: 19 个测试用例覆盖 CRUD + 状态机 + 多租户隔离\n- 修复 lead-scoring.schema.ts: .transform() 后 .partial() 运行时错误\n- 修复 lead-assignment.schema.ts: 同上\n- 修复 campaign-analytics.schema.ts: .passthrough() 顺序修正\n- 修复 diagnosis.schema.ts: 同上\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5154c3ae921f8ff76d803e3e30208edd8c791d77","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-22T23:01:58+08:00","added":["backend/tests/api/marketing.test.ts"],"removed":[],"modified":["backend/src/modules/campaign-analytics/campaign-analytics.schema.ts","backend/src/modules/diagnosis/diagnosis.schema.ts","backend/src/modules/leads/lead-assignment.schema.ts","backend/src/modules/leads/lead-scoring.schema.ts"]},{"id":"e75f31c633c3520ac69d3d9e47b2bdb86a517e6d","message":"refactor: Phase 4 — 循环依赖 8→1(仅剩 prisma 自引用误报)\n\n修复策略:\n- finance 循环(#5-8): 提取 finance.types.ts 共享类型,打断子模块↔主模块循环\n- kafka/circuit-breaker(#1): producerProvider 回调注入替代动态 import\n- ai-agents(#3-4): 函数注册表模式(ai-autopilot-registry.ts)解耦互相调用\n- prisma-fallback-types(#2): madge 递归类型误报,无需修复\n\ntsc --noEmit 零错误 / madge circular 仅剩 1 个误报\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e75f31c633c3520ac69d3d9e47b2bdb86a517e6d","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-22T23:00:25+08:00","added":["backend/src/modules/ai-agents/ai-autopilot-registry.ts","backend/src/modules/finance/finance.types.ts"],"removed":[],"modified":["backend/src/config/kafka.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/autopilot-scheduler.service.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance-extras.service.ts","backend/src/modules/finance/finance-periods.service.ts","backend/src/modules/finance/finance-refunds.service.ts","backend/src/modules/finance/finance.service.ts","backend/src/shared/services/circuit-breaker.service.ts"]}],"total_commits":0,"head_commit":{"id":"0900b15d607e5c78f97fec16a73357ad4f814390","message":"fix: 前端 UI 交互防崩溃加固 — 25 个视图文件 + useApiQuery 增强\n\n三类修复(多 Agent 并行协作,零回归验证通过):\n\n1. 列表页 undefined 防护(10 文件 14 处):\n - res.data → res?.data ?? [] 防止 .map()/.length 崩溃\n - res.meta.total → res?.meta?.total ?? 0 防止分页异常\n\n2. 表单验证 try-catch(10 文件):\n - validate() 裸调用 → .catch(() =\u003e false) + if (!valid) return\n - 防止验证失败时页面卡死\n\n3. 删除操作错误处理(5 文件 8 处):\n - 空 catch 吞掉所有错误 → isCancelError 区分用户取消/真实错误\n - 真实 API 错误显示友好提示\n\n4. useApiQuery.ts 增强:\n - normalizeListResult 归一化防 undefined\n - useApiMutation 添加 onError 默认提示 + successMessage 控制\n - 全部 hook 添加 retry: 1\n\n验证:Vite 构建通过 / vue-tsc 0 新增错误 / 后端 4267 测试通过(+51)/ E2E 12/14 通过(0 回归)\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/0900b15d607e5c78f97fec16a73357ad4f814390","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-23T07:09:28+08:00","added":["frontend/src/composables/useApiQuery.ts"],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/biz-sequences/Form.vue","frontend/src/views/campaign-drafts/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-use-case-templates/Index.vue","frontend/src/views/cost-allocation/Form.vue","frontend/src/views/customer-balance/Form.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/journey-orchestration/Index.vue","frontend/src/views/landing-pages/Index.vue","frontend/src/views/maintenance/PlanForm.vue","frontend/src/views/maintenance/TaskForm.vue","frontend/src/views/marketing-forms/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/partner-customers/Index.vue","frontend/src/views/predictive-analytics/Index.vue","frontend/src/views/products/Categories.vue","frontend/src/views/roles/Index.vue","frontend/src/views/roles/components/RoleUsers.vue","frontend/src/views/segments/Form.vue","frontend/src/views/social-matrix/Form.vue","frontend/src/views/stores/Form.vue","frontend/src/views/swot-analyses/Index.vue"]},"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":1907548,"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-20T01:03:04+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
|
1774221838
|
1774221839
|
0
|
1774221640
|
1774221839
|
|
|
0
|
Edit
Delete
|
|
7243
|
fix: 前端 UI 交互防崩溃加固 — 25 个视图文件 + useApiQuery 增强
|
6
|
5
|
health-check.yml
|
7169
|
-2
|
96
|
refs/heads/main
|
0900b15d607e5c78f97fec16a73357ad4f814390
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"86beff17d922cf15f9ac6e298961a63c92ec85f8","after":"0900b15d607e5c78f97fec16a73357ad4f814390","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/86beff17d922cf15f9ac6e298961a63c92ec85f8...0900b15d607e5c78f97fec16a73357ad4f814390","commits":[{"id":"0900b15d607e5c78f97fec16a73357ad4f814390","message":"fix: 前端 UI 交互防崩溃加固 — 25 个视图文件 + useApiQuery 增强\n\n三类修复(多 Agent 并行协作,零回归验证通过):\n\n1. 列表页 undefined 防护(10 文件 14 处):\n - res.data → res?.data ?? [] 防止 .map()/.length 崩溃\n - res.meta.total → res?.meta?.total ?? 0 防止分页异常\n\n2. 表单验证 try-catch(10 文件):\n - validate() 裸调用 → .catch(() =\u003e false) + if (!valid) return\n - 防止验证失败时页面卡死\n\n3. 删除操作错误处理(5 文件 8 处):\n - 空 catch 吞掉所有错误 → isCancelError 区分用户取消/真实错误\n - 真实 API 错误显示友好提示\n\n4. useApiQuery.ts 增强:\n - normalizeListResult 归一化防 undefined\n - useApiMutation 添加 onError 默认提示 + successMessage 控制\n - 全部 hook 添加 retry: 1\n\n验证:Vite 构建通过 / vue-tsc 0 新增错误 / 后端 4267 测试通过(+51)/ E2E 12/14 通过(0 回归)\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/0900b15d607e5c78f97fec16a73357ad4f814390","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-23T07:09:28+08:00","added":["frontend/src/composables/useApiQuery.ts"],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/biz-sequences/Form.vue","frontend/src/views/campaign-drafts/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-use-case-templates/Index.vue","frontend/src/views/cost-allocation/Form.vue","frontend/src/views/customer-balance/Form.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/journey-orchestration/Index.vue","frontend/src/views/landing-pages/Index.vue","frontend/src/views/maintenance/PlanForm.vue","frontend/src/views/maintenance/TaskForm.vue","frontend/src/views/marketing-forms/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/partner-customers/Index.vue","frontend/src/views/predictive-analytics/Index.vue","frontend/src/views/products/Categories.vue","frontend/src/views/roles/Index.vue","frontend/src/views/roles/components/RoleUsers.vue","frontend/src/views/segments/Form.vue","frontend/src/views/social-matrix/Form.vue","frontend/src/views/stores/Form.vue","frontend/src/views/swot-analyses/Index.vue"]},{"id":"d896457d1be5c717ded0691d144621b3c521cd35","message":"chore: Phase 0-5 附带修复 — Agent 产生的额外优化\n\n- database.ts: 类型优化\n- main.ts: 路由注册和 schema 转换修复\n- auth.middleware.ts: 类型收紧\n- schema-converter.ts: 冗余移除\n- IMPanel.vue/MessageSearch.vue: 前端组件优化\n- list-cache.service.ts: 新增列表缓存服务\n- 更新审计报告快照\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/d896457d1be5c717ded0691d144621b3c521cd35","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-22T23:08:14+08:00","added":["backend/src/shared/services/list-cache.service.ts"],"removed":[],"modified":["backend/.env.example","backend/src/config/database.ts","backend/src/main.ts","backend/src/modules/im/im-channel.controller.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/schema-converter.ts","frontend/package.json","frontend/src/components/business/IMPanel.vue","frontend/src/composables/index.ts","frontend/src/main.ts","frontend/src/stores/auth.test.ts","frontend/src/views/im/components/MessageSearch.vue","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md"]},{"id":"8d6bbbf7db74cd492873138a576a303da86c39cf","message":"test: Phase 3 — IM 15 测试 + Revenue 13 测试 + ZodEffects 兼容修复\n\n- 新增 tests/api/im.test.ts: 15 用例覆盖会话/消息/参与者/在线状态/未读统计\n- 新增 tests/api/revenue-payment-terms.test.ts: 13 用例覆盖统计/CRUD/批量/事件集成\n- 修复 validation.ts: ZodEffects.prototype 添加 partial/omit/extend 代理\n- 修复 rfm-analysis.schema.ts: .passthrough() 顺序修正\n- 发现: IM 模块需加入 requestCaseConverter 排除列表\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8d6bbbf7db74cd492873138a576a303da86c39cf","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-22T23:05:53+08:00","added":["backend/tests/api/im.test.ts","backend/tests/api/revenue-payment-terms.test.ts"],"removed":[],"modified":["backend/src/modules/rfm-analysis/rfm-analysis.schema.ts","backend/src/shared/utils/validation.ts"]},{"id":"5154c3ae921f8ff76d803e3e30208edd8c791d77","message":"test: Phase 3 — Marketing API 集成测试 19 用例 + schema bug 修复\n\n- 新增 tests/api/marketing.test.ts: 19 个测试用例覆盖 CRUD + 状态机 + 多租户隔离\n- 修复 lead-scoring.schema.ts: .transform() 后 .partial() 运行时错误\n- 修复 lead-assignment.schema.ts: 同上\n- 修复 campaign-analytics.schema.ts: .passthrough() 顺序修正\n- 修复 diagnosis.schema.ts: 同上\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5154c3ae921f8ff76d803e3e30208edd8c791d77","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-22T23:01:58+08:00","added":["backend/tests/api/marketing.test.ts"],"removed":[],"modified":["backend/src/modules/campaign-analytics/campaign-analytics.schema.ts","backend/src/modules/diagnosis/diagnosis.schema.ts","backend/src/modules/leads/lead-assignment.schema.ts","backend/src/modules/leads/lead-scoring.schema.ts"]},{"id":"e75f31c633c3520ac69d3d9e47b2bdb86a517e6d","message":"refactor: Phase 4 — 循环依赖 8→1(仅剩 prisma 自引用误报)\n\n修复策略:\n- finance 循环(#5-8): 提取 finance.types.ts 共享类型,打断子模块↔主模块循环\n- kafka/circuit-breaker(#1): producerProvider 回调注入替代动态 import\n- ai-agents(#3-4): 函数注册表模式(ai-autopilot-registry.ts)解耦互相调用\n- prisma-fallback-types(#2): madge 递归类型误报,无需修复\n\ntsc --noEmit 零错误 / madge circular 仅剩 1 个误报\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e75f31c633c3520ac69d3d9e47b2bdb86a517e6d","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-22T23:00:25+08:00","added":["backend/src/modules/ai-agents/ai-autopilot-registry.ts","backend/src/modules/finance/finance.types.ts"],"removed":[],"modified":["backend/src/config/kafka.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/autopilot-scheduler.service.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance-extras.service.ts","backend/src/modules/finance/finance-periods.service.ts","backend/src/modules/finance/finance-refunds.service.ts","backend/src/modules/finance/finance.service.ts","backend/src/shared/services/circuit-breaker.service.ts"]}],"total_commits":0,"head_commit":{"id":"0900b15d607e5c78f97fec16a73357ad4f814390","message":"fix: 前端 UI 交互防崩溃加固 — 25 个视图文件 + useApiQuery 增强\n\n三类修复(多 Agent 并行协作,零回归验证通过):\n\n1. 列表页 undefined 防护(10 文件 14 处):\n - res.data → res?.data ?? [] 防止 .map()/.length 崩溃\n - res.meta.total → res?.meta?.total ?? 0 防止分页异常\n\n2. 表单验证 try-catch(10 文件):\n - validate() 裸调用 → .catch(() =\u003e false) + if (!valid) return\n - 防止验证失败时页面卡死\n\n3. 删除操作错误处理(5 文件 8 处):\n - 空 catch 吞掉所有错误 → isCancelError 区分用户取消/真实错误\n - 真实 API 错误显示友好提示\n\n4. useApiQuery.ts 增强:\n - normalizeListResult 归一化防 undefined\n - useApiMutation 添加 onError 默认提示 + successMessage 控制\n - 全部 hook 添加 retry: 1\n\n验证:Vite 构建通过 / vue-tsc 0 新增错误 / 后端 4267 测试通过(+51)/ E2E 12/14 通过(0 回归)\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/0900b15d607e5c78f97fec16a73357ad4f814390","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-23T07:09:28+08:00","added":["frontend/src/composables/useApiQuery.ts"],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/biz-sequences/Form.vue","frontend/src/views/campaign-drafts/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-use-case-templates/Index.vue","frontend/src/views/cost-allocation/Form.vue","frontend/src/views/customer-balance/Form.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/journey-orchestration/Index.vue","frontend/src/views/landing-pages/Index.vue","frontend/src/views/maintenance/PlanForm.vue","frontend/src/views/maintenance/TaskForm.vue","frontend/src/views/marketing-forms/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/partner-customers/Index.vue","frontend/src/views/predictive-analytics/Index.vue","frontend/src/views/products/Categories.vue","frontend/src/views/roles/Index.vue","frontend/src/views/roles/components/RoleUsers.vue","frontend/src/views/segments/Form.vue","frontend/src/views/social-matrix/Form.vue","frontend/src/views/stores/Form.vue","frontend/src/views/swot-analyses/Index.vue"]},"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":1907548,"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-20T01:03:04+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
|
1774222046
|
1774222046
|
0
|
1774221940
|
1774222046
|
|
|
0
|
Edit
Delete
|
|
7245
|
fix: 前端 UI 交互防崩溃加固 — 25 个视图文件 + useApiQuery 增强
|
6
|
5
|
health-check.yml
|
7171
|
-2
|
96
|
refs/heads/main
|
0900b15d607e5c78f97fec16a73357ad4f814390
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"86beff17d922cf15f9ac6e298961a63c92ec85f8","after":"0900b15d607e5c78f97fec16a73357ad4f814390","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/86beff17d922cf15f9ac6e298961a63c92ec85f8...0900b15d607e5c78f97fec16a73357ad4f814390","commits":[{"id":"0900b15d607e5c78f97fec16a73357ad4f814390","message":"fix: 前端 UI 交互防崩溃加固 — 25 个视图文件 + useApiQuery 增强\n\n三类修复(多 Agent 并行协作,零回归验证通过):\n\n1. 列表页 undefined 防护(10 文件 14 处):\n - res.data → res?.data ?? [] 防止 .map()/.length 崩溃\n - res.meta.total → res?.meta?.total ?? 0 防止分页异常\n\n2. 表单验证 try-catch(10 文件):\n - validate() 裸调用 → .catch(() =\u003e false) + if (!valid) return\n - 防止验证失败时页面卡死\n\n3. 删除操作错误处理(5 文件 8 处):\n - 空 catch 吞掉所有错误 → isCancelError 区分用户取消/真实错误\n - 真实 API 错误显示友好提示\n\n4. useApiQuery.ts 增强:\n - normalizeListResult 归一化防 undefined\n - useApiMutation 添加 onError 默认提示 + successMessage 控制\n - 全部 hook 添加 retry: 1\n\n验证:Vite 构建通过 / vue-tsc 0 新增错误 / 后端 4267 测试通过(+51)/ E2E 12/14 通过(0 回归)\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/0900b15d607e5c78f97fec16a73357ad4f814390","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-23T07:09:28+08:00","added":["frontend/src/composables/useApiQuery.ts"],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/biz-sequences/Form.vue","frontend/src/views/campaign-drafts/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-use-case-templates/Index.vue","frontend/src/views/cost-allocation/Form.vue","frontend/src/views/customer-balance/Form.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/journey-orchestration/Index.vue","frontend/src/views/landing-pages/Index.vue","frontend/src/views/maintenance/PlanForm.vue","frontend/src/views/maintenance/TaskForm.vue","frontend/src/views/marketing-forms/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/partner-customers/Index.vue","frontend/src/views/predictive-analytics/Index.vue","frontend/src/views/products/Categories.vue","frontend/src/views/roles/Index.vue","frontend/src/views/roles/components/RoleUsers.vue","frontend/src/views/segments/Form.vue","frontend/src/views/social-matrix/Form.vue","frontend/src/views/stores/Form.vue","frontend/src/views/swot-analyses/Index.vue"]},{"id":"d896457d1be5c717ded0691d144621b3c521cd35","message":"chore: Phase 0-5 附带修复 — Agent 产生的额外优化\n\n- database.ts: 类型优化\n- main.ts: 路由注册和 schema 转换修复\n- auth.middleware.ts: 类型收紧\n- schema-converter.ts: 冗余移除\n- IMPanel.vue/MessageSearch.vue: 前端组件优化\n- list-cache.service.ts: 新增列表缓存服务\n- 更新审计报告快照\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/d896457d1be5c717ded0691d144621b3c521cd35","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-22T23:08:14+08:00","added":["backend/src/shared/services/list-cache.service.ts"],"removed":[],"modified":["backend/.env.example","backend/src/config/database.ts","backend/src/main.ts","backend/src/modules/im/im-channel.controller.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/schema-converter.ts","frontend/package.json","frontend/src/components/business/IMPanel.vue","frontend/src/composables/index.ts","frontend/src/main.ts","frontend/src/stores/auth.test.ts","frontend/src/views/im/components/MessageSearch.vue","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md"]},{"id":"8d6bbbf7db74cd492873138a576a303da86c39cf","message":"test: Phase 3 — IM 15 测试 + Revenue 13 测试 + ZodEffects 兼容修复\n\n- 新增 tests/api/im.test.ts: 15 用例覆盖会话/消息/参与者/在线状态/未读统计\n- 新增 tests/api/revenue-payment-terms.test.ts: 13 用例覆盖统计/CRUD/批量/事件集成\n- 修复 validation.ts: ZodEffects.prototype 添加 partial/omit/extend 代理\n- 修复 rfm-analysis.schema.ts: .passthrough() 顺序修正\n- 发现: IM 模块需加入 requestCaseConverter 排除列表\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8d6bbbf7db74cd492873138a576a303da86c39cf","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-22T23:05:53+08:00","added":["backend/tests/api/im.test.ts","backend/tests/api/revenue-payment-terms.test.ts"],"removed":[],"modified":["backend/src/modules/rfm-analysis/rfm-analysis.schema.ts","backend/src/shared/utils/validation.ts"]},{"id":"5154c3ae921f8ff76d803e3e30208edd8c791d77","message":"test: Phase 3 — Marketing API 集成测试 19 用例 + schema bug 修复\n\n- 新增 tests/api/marketing.test.ts: 19 个测试用例覆盖 CRUD + 状态机 + 多租户隔离\n- 修复 lead-scoring.schema.ts: .transform() 后 .partial() 运行时错误\n- 修复 lead-assignment.schema.ts: 同上\n- 修复 campaign-analytics.schema.ts: .passthrough() 顺序修正\n- 修复 diagnosis.schema.ts: 同上\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5154c3ae921f8ff76d803e3e30208edd8c791d77","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-22T23:01:58+08:00","added":["backend/tests/api/marketing.test.ts"],"removed":[],"modified":["backend/src/modules/campaign-analytics/campaign-analytics.schema.ts","backend/src/modules/diagnosis/diagnosis.schema.ts","backend/src/modules/leads/lead-assignment.schema.ts","backend/src/modules/leads/lead-scoring.schema.ts"]},{"id":"e75f31c633c3520ac69d3d9e47b2bdb86a517e6d","message":"refactor: Phase 4 — 循环依赖 8→1(仅剩 prisma 自引用误报)\n\n修复策略:\n- finance 循环(#5-8): 提取 finance.types.ts 共享类型,打断子模块↔主模块循环\n- kafka/circuit-breaker(#1): producerProvider 回调注入替代动态 import\n- ai-agents(#3-4): 函数注册表模式(ai-autopilot-registry.ts)解耦互相调用\n- prisma-fallback-types(#2): madge 递归类型误报,无需修复\n\ntsc --noEmit 零错误 / madge circular 仅剩 1 个误报\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e75f31c633c3520ac69d3d9e47b2bdb86a517e6d","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-22T23:00:25+08:00","added":["backend/src/modules/ai-agents/ai-autopilot-registry.ts","backend/src/modules/finance/finance.types.ts"],"removed":[],"modified":["backend/src/config/kafka.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/autopilot-scheduler.service.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance-extras.service.ts","backend/src/modules/finance/finance-periods.service.ts","backend/src/modules/finance/finance-refunds.service.ts","backend/src/modules/finance/finance.service.ts","backend/src/shared/services/circuit-breaker.service.ts"]}],"total_commits":0,"head_commit":{"id":"0900b15d607e5c78f97fec16a73357ad4f814390","message":"fix: 前端 UI 交互防崩溃加固 — 25 个视图文件 + useApiQuery 增强\n\n三类修复(多 Agent 并行协作,零回归验证通过):\n\n1. 列表页 undefined 防护(10 文件 14 处):\n - res.data → res?.data ?? [] 防止 .map()/.length 崩溃\n - res.meta.total → res?.meta?.total ?? 0 防止分页异常\n\n2. 表单验证 try-catch(10 文件):\n - validate() 裸调用 → .catch(() =\u003e false) + if (!valid) return\n - 防止验证失败时页面卡死\n\n3. 删除操作错误处理(5 文件 8 处):\n - 空 catch 吞掉所有错误 → isCancelError 区分用户取消/真实错误\n - 真实 API 错误显示友好提示\n\n4. useApiQuery.ts 增强:\n - normalizeListResult 归一化防 undefined\n - useApiMutation 添加 onError 默认提示 + successMessage 控制\n - 全部 hook 添加 retry: 1\n\n验证:Vite 构建通过 / vue-tsc 0 新增错误 / 后端 4267 测试通过(+51)/ E2E 12/14 通过(0 回归)\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/0900b15d607e5c78f97fec16a73357ad4f814390","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-23T07:09:28+08:00","added":["frontend/src/composables/useApiQuery.ts"],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/biz-sequences/Form.vue","frontend/src/views/campaign-drafts/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-use-case-templates/Index.vue","frontend/src/views/cost-allocation/Form.vue","frontend/src/views/customer-balance/Form.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/journey-orchestration/Index.vue","frontend/src/views/landing-pages/Index.vue","frontend/src/views/maintenance/PlanForm.vue","frontend/src/views/maintenance/TaskForm.vue","frontend/src/views/marketing-forms/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/partner-customers/Index.vue","frontend/src/views/predictive-analytics/Index.vue","frontend/src/views/products/Categories.vue","frontend/src/views/roles/Index.vue","frontend/src/views/roles/components/RoleUsers.vue","frontend/src/views/segments/Form.vue","frontend/src/views/social-matrix/Form.vue","frontend/src/views/stores/Form.vue","frontend/src/views/swot-analyses/Index.vue"]},"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":1907548,"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-20T01:03:04+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
|
1774222240
|
1774222240
|
0
|
1774222240
|
1774222240
|
|
|
0
|
Edit
Delete
|
|
7246
|
fix: 前端 UI 交互防崩溃加固 — 25 个视图文件 + useApiQuery 增强
|
6
|
5
|
health-check.yml
|
7172
|
-2
|
96
|
refs/heads/main
|
0900b15d607e5c78f97fec16a73357ad4f814390
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"86beff17d922cf15f9ac6e298961a63c92ec85f8","after":"0900b15d607e5c78f97fec16a73357ad4f814390","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/86beff17d922cf15f9ac6e298961a63c92ec85f8...0900b15d607e5c78f97fec16a73357ad4f814390","commits":[{"id":"0900b15d607e5c78f97fec16a73357ad4f814390","message":"fix: 前端 UI 交互防崩溃加固 — 25 个视图文件 + useApiQuery 增强\n\n三类修复(多 Agent 并行协作,零回归验证通过):\n\n1. 列表页 undefined 防护(10 文件 14 处):\n - res.data → res?.data ?? [] 防止 .map()/.length 崩溃\n - res.meta.total → res?.meta?.total ?? 0 防止分页异常\n\n2. 表单验证 try-catch(10 文件):\n - validate() 裸调用 → .catch(() =\u003e false) + if (!valid) return\n - 防止验证失败时页面卡死\n\n3. 删除操作错误处理(5 文件 8 处):\n - 空 catch 吞掉所有错误 → isCancelError 区分用户取消/真实错误\n - 真实 API 错误显示友好提示\n\n4. useApiQuery.ts 增强:\n - normalizeListResult 归一化防 undefined\n - useApiMutation 添加 onError 默认提示 + successMessage 控制\n - 全部 hook 添加 retry: 1\n\n验证:Vite 构建通过 / vue-tsc 0 新增错误 / 后端 4267 测试通过(+51)/ E2E 12/14 通过(0 回归)\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/0900b15d607e5c78f97fec16a73357ad4f814390","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-23T07:09:28+08:00","added":["frontend/src/composables/useApiQuery.ts"],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/biz-sequences/Form.vue","frontend/src/views/campaign-drafts/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-use-case-templates/Index.vue","frontend/src/views/cost-allocation/Form.vue","frontend/src/views/customer-balance/Form.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/journey-orchestration/Index.vue","frontend/src/views/landing-pages/Index.vue","frontend/src/views/maintenance/PlanForm.vue","frontend/src/views/maintenance/TaskForm.vue","frontend/src/views/marketing-forms/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/partner-customers/Index.vue","frontend/src/views/predictive-analytics/Index.vue","frontend/src/views/products/Categories.vue","frontend/src/views/roles/Index.vue","frontend/src/views/roles/components/RoleUsers.vue","frontend/src/views/segments/Form.vue","frontend/src/views/social-matrix/Form.vue","frontend/src/views/stores/Form.vue","frontend/src/views/swot-analyses/Index.vue"]},{"id":"d896457d1be5c717ded0691d144621b3c521cd35","message":"chore: Phase 0-5 附带修复 — Agent 产生的额外优化\n\n- database.ts: 类型优化\n- main.ts: 路由注册和 schema 转换修复\n- auth.middleware.ts: 类型收紧\n- schema-converter.ts: 冗余移除\n- IMPanel.vue/MessageSearch.vue: 前端组件优化\n- list-cache.service.ts: 新增列表缓存服务\n- 更新审计报告快照\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/d896457d1be5c717ded0691d144621b3c521cd35","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-22T23:08:14+08:00","added":["backend/src/shared/services/list-cache.service.ts"],"removed":[],"modified":["backend/.env.example","backend/src/config/database.ts","backend/src/main.ts","backend/src/modules/im/im-channel.controller.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/schema-converter.ts","frontend/package.json","frontend/src/components/business/IMPanel.vue","frontend/src/composables/index.ts","frontend/src/main.ts","frontend/src/stores/auth.test.ts","frontend/src/views/im/components/MessageSearch.vue","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md"]},{"id":"8d6bbbf7db74cd492873138a576a303da86c39cf","message":"test: Phase 3 — IM 15 测试 + Revenue 13 测试 + ZodEffects 兼容修复\n\n- 新增 tests/api/im.test.ts: 15 用例覆盖会话/消息/参与者/在线状态/未读统计\n- 新增 tests/api/revenue-payment-terms.test.ts: 13 用例覆盖统计/CRUD/批量/事件集成\n- 修复 validation.ts: ZodEffects.prototype 添加 partial/omit/extend 代理\n- 修复 rfm-analysis.schema.ts: .passthrough() 顺序修正\n- 发现: IM 模块需加入 requestCaseConverter 排除列表\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8d6bbbf7db74cd492873138a576a303da86c39cf","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-22T23:05:53+08:00","added":["backend/tests/api/im.test.ts","backend/tests/api/revenue-payment-terms.test.ts"],"removed":[],"modified":["backend/src/modules/rfm-analysis/rfm-analysis.schema.ts","backend/src/shared/utils/validation.ts"]},{"id":"5154c3ae921f8ff76d803e3e30208edd8c791d77","message":"test: Phase 3 — Marketing API 集成测试 19 用例 + schema bug 修复\n\n- 新增 tests/api/marketing.test.ts: 19 个测试用例覆盖 CRUD + 状态机 + 多租户隔离\n- 修复 lead-scoring.schema.ts: .transform() 后 .partial() 运行时错误\n- 修复 lead-assignment.schema.ts: 同上\n- 修复 campaign-analytics.schema.ts: .passthrough() 顺序修正\n- 修复 diagnosis.schema.ts: 同上\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5154c3ae921f8ff76d803e3e30208edd8c791d77","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-22T23:01:58+08:00","added":["backend/tests/api/marketing.test.ts"],"removed":[],"modified":["backend/src/modules/campaign-analytics/campaign-analytics.schema.ts","backend/src/modules/diagnosis/diagnosis.schema.ts","backend/src/modules/leads/lead-assignment.schema.ts","backend/src/modules/leads/lead-scoring.schema.ts"]},{"id":"e75f31c633c3520ac69d3d9e47b2bdb86a517e6d","message":"refactor: Phase 4 — 循环依赖 8→1(仅剩 prisma 自引用误报)\n\n修复策略:\n- finance 循环(#5-8): 提取 finance.types.ts 共享类型,打断子模块↔主模块循环\n- kafka/circuit-breaker(#1): producerProvider 回调注入替代动态 import\n- ai-agents(#3-4): 函数注册表模式(ai-autopilot-registry.ts)解耦互相调用\n- prisma-fallback-types(#2): madge 递归类型误报,无需修复\n\ntsc --noEmit 零错误 / madge circular 仅剩 1 个误报\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e75f31c633c3520ac69d3d9e47b2bdb86a517e6d","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-22T23:00:25+08:00","added":["backend/src/modules/ai-agents/ai-autopilot-registry.ts","backend/src/modules/finance/finance.types.ts"],"removed":[],"modified":["backend/src/config/kafka.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/autopilot-scheduler.service.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance-extras.service.ts","backend/src/modules/finance/finance-periods.service.ts","backend/src/modules/finance/finance-refunds.service.ts","backend/src/modules/finance/finance.service.ts","backend/src/shared/services/circuit-breaker.service.ts"]}],"total_commits":0,"head_commit":{"id":"0900b15d607e5c78f97fec16a73357ad4f814390","message":"fix: 前端 UI 交互防崩溃加固 — 25 个视图文件 + useApiQuery 增强\n\n三类修复(多 Agent 并行协作,零回归验证通过):\n\n1. 列表页 undefined 防护(10 文件 14 处):\n - res.data → res?.data ?? [] 防止 .map()/.length 崩溃\n - res.meta.total → res?.meta?.total ?? 0 防止分页异常\n\n2. 表单验证 try-catch(10 文件):\n - validate() 裸调用 → .catch(() =\u003e false) + if (!valid) return\n - 防止验证失败时页面卡死\n\n3. 删除操作错误处理(5 文件 8 处):\n - 空 catch 吞掉所有错误 → isCancelError 区分用户取消/真实错误\n - 真实 API 错误显示友好提示\n\n4. useApiQuery.ts 增强:\n - normalizeListResult 归一化防 undefined\n - useApiMutation 添加 onError 默认提示 + successMessage 控制\n - 全部 hook 添加 retry: 1\n\n验证:Vite 构建通过 / vue-tsc 0 新增错误 / 后端 4267 测试通过(+51)/ E2E 12/14 通过(0 回归)\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/0900b15d607e5c78f97fec16a73357ad4f814390","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-23T07:09:28+08:00","added":["frontend/src/composables/useApiQuery.ts"],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/biz-sequences/Form.vue","frontend/src/views/campaign-drafts/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-use-case-templates/Index.vue","frontend/src/views/cost-allocation/Form.vue","frontend/src/views/customer-balance/Form.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/journey-orchestration/Index.vue","frontend/src/views/landing-pages/Index.vue","frontend/src/views/maintenance/PlanForm.vue","frontend/src/views/maintenance/TaskForm.vue","frontend/src/views/marketing-forms/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/partner-customers/Index.vue","frontend/src/views/predictive-analytics/Index.vue","frontend/src/views/products/Categories.vue","frontend/src/views/roles/Index.vue","frontend/src/views/roles/components/RoleUsers.vue","frontend/src/views/segments/Form.vue","frontend/src/views/social-matrix/Form.vue","frontend/src/views/stores/Form.vue","frontend/src/views/swot-analyses/Index.vue"]},"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":1907548,"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-20T01:03:04+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
|
1774222540
|
1774222540
|
0
|
1774222540
|
1774222540
|
|
|
0
|
Edit
Delete
|
|
7247
|
fix: 前端 UI 交互防崩溃加固 — 25 个视图文件 + useApiQuery 增强
|
6
|
5
|
health-check.yml
|
7173
|
-2
|
96
|
refs/heads/main
|
0900b15d607e5c78f97fec16a73357ad4f814390
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"86beff17d922cf15f9ac6e298961a63c92ec85f8","after":"0900b15d607e5c78f97fec16a73357ad4f814390","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/86beff17d922cf15f9ac6e298961a63c92ec85f8...0900b15d607e5c78f97fec16a73357ad4f814390","commits":[{"id":"0900b15d607e5c78f97fec16a73357ad4f814390","message":"fix: 前端 UI 交互防崩溃加固 — 25 个视图文件 + useApiQuery 增强\n\n三类修复(多 Agent 并行协作,零回归验证通过):\n\n1. 列表页 undefined 防护(10 文件 14 处):\n - res.data → res?.data ?? [] 防止 .map()/.length 崩溃\n - res.meta.total → res?.meta?.total ?? 0 防止分页异常\n\n2. 表单验证 try-catch(10 文件):\n - validate() 裸调用 → .catch(() =\u003e false) + if (!valid) return\n - 防止验证失败时页面卡死\n\n3. 删除操作错误处理(5 文件 8 处):\n - 空 catch 吞掉所有错误 → isCancelError 区分用户取消/真实错误\n - 真实 API 错误显示友好提示\n\n4. useApiQuery.ts 增强:\n - normalizeListResult 归一化防 undefined\n - useApiMutation 添加 onError 默认提示 + successMessage 控制\n - 全部 hook 添加 retry: 1\n\n验证:Vite 构建通过 / vue-tsc 0 新增错误 / 后端 4267 测试通过(+51)/ E2E 12/14 通过(0 回归)\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/0900b15d607e5c78f97fec16a73357ad4f814390","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-23T07:09:28+08:00","added":["frontend/src/composables/useApiQuery.ts"],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/biz-sequences/Form.vue","frontend/src/views/campaign-drafts/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-use-case-templates/Index.vue","frontend/src/views/cost-allocation/Form.vue","frontend/src/views/customer-balance/Form.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/journey-orchestration/Index.vue","frontend/src/views/landing-pages/Index.vue","frontend/src/views/maintenance/PlanForm.vue","frontend/src/views/maintenance/TaskForm.vue","frontend/src/views/marketing-forms/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/partner-customers/Index.vue","frontend/src/views/predictive-analytics/Index.vue","frontend/src/views/products/Categories.vue","frontend/src/views/roles/Index.vue","frontend/src/views/roles/components/RoleUsers.vue","frontend/src/views/segments/Form.vue","frontend/src/views/social-matrix/Form.vue","frontend/src/views/stores/Form.vue","frontend/src/views/swot-analyses/Index.vue"]},{"id":"d896457d1be5c717ded0691d144621b3c521cd35","message":"chore: Phase 0-5 附带修复 — Agent 产生的额外优化\n\n- database.ts: 类型优化\n- main.ts: 路由注册和 schema 转换修复\n- auth.middleware.ts: 类型收紧\n- schema-converter.ts: 冗余移除\n- IMPanel.vue/MessageSearch.vue: 前端组件优化\n- list-cache.service.ts: 新增列表缓存服务\n- 更新审计报告快照\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/d896457d1be5c717ded0691d144621b3c521cd35","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-22T23:08:14+08:00","added":["backend/src/shared/services/list-cache.service.ts"],"removed":[],"modified":["backend/.env.example","backend/src/config/database.ts","backend/src/main.ts","backend/src/modules/im/im-channel.controller.ts","backend/src/shared/middleware/auth.middleware.ts","backend/src/shared/openapi/schema-converter.ts","frontend/package.json","frontend/src/components/business/IMPanel.vue","frontend/src/composables/index.ts","frontend/src/main.ts","frontend/src/stores/auth.test.ts","frontend/src/views/im/components/MessageSearch.vue","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md"]},{"id":"8d6bbbf7db74cd492873138a576a303da86c39cf","message":"test: Phase 3 — IM 15 测试 + Revenue 13 测试 + ZodEffects 兼容修复\n\n- 新增 tests/api/im.test.ts: 15 用例覆盖会话/消息/参与者/在线状态/未读统计\n- 新增 tests/api/revenue-payment-terms.test.ts: 13 用例覆盖统计/CRUD/批量/事件集成\n- 修复 validation.ts: ZodEffects.prototype 添加 partial/omit/extend 代理\n- 修复 rfm-analysis.schema.ts: .passthrough() 顺序修正\n- 发现: IM 模块需加入 requestCaseConverter 排除列表\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/8d6bbbf7db74cd492873138a576a303da86c39cf","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-22T23:05:53+08:00","added":["backend/tests/api/im.test.ts","backend/tests/api/revenue-payment-terms.test.ts"],"removed":[],"modified":["backend/src/modules/rfm-analysis/rfm-analysis.schema.ts","backend/src/shared/utils/validation.ts"]},{"id":"5154c3ae921f8ff76d803e3e30208edd8c791d77","message":"test: Phase 3 — Marketing API 集成测试 19 用例 + schema bug 修复\n\n- 新增 tests/api/marketing.test.ts: 19 个测试用例覆盖 CRUD + 状态机 + 多租户隔离\n- 修复 lead-scoring.schema.ts: .transform() 后 .partial() 运行时错误\n- 修复 lead-assignment.schema.ts: 同上\n- 修复 campaign-analytics.schema.ts: .passthrough() 顺序修正\n- 修复 diagnosis.schema.ts: 同上\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5154c3ae921f8ff76d803e3e30208edd8c791d77","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-22T23:01:58+08:00","added":["backend/tests/api/marketing.test.ts"],"removed":[],"modified":["backend/src/modules/campaign-analytics/campaign-analytics.schema.ts","backend/src/modules/diagnosis/diagnosis.schema.ts","backend/src/modules/leads/lead-assignment.schema.ts","backend/src/modules/leads/lead-scoring.schema.ts"]},{"id":"e75f31c633c3520ac69d3d9e47b2bdb86a517e6d","message":"refactor: Phase 4 — 循环依赖 8→1(仅剩 prisma 自引用误报)\n\n修复策略:\n- finance 循环(#5-8): 提取 finance.types.ts 共享类型,打断子模块↔主模块循环\n- kafka/circuit-breaker(#1): producerProvider 回调注入替代动态 import\n- ai-agents(#3-4): 函数注册表模式(ai-autopilot-registry.ts)解耦互相调用\n- prisma-fallback-types(#2): madge 递归类型误报,无需修复\n\ntsc --noEmit 零错误 / madge circular 仅剩 1 个误报\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e75f31c633c3520ac69d3d9e47b2bdb86a517e6d","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-22T23:00:25+08:00","added":["backend/src/modules/ai-agents/ai-autopilot-registry.ts","backend/src/modules/finance/finance.types.ts"],"removed":[],"modified":["backend/src/config/kafka.ts","backend/src/modules/ai-agents/ai-autopilot-ai-test.service.ts","backend/src/modules/ai-agents/ai-autopilot.service.ts","backend/src/modules/ai-agents/services/autopilot-scheduler.service.ts","backend/src/modules/finance/finance-credits.service.ts","backend/src/modules/finance/finance-extras.service.ts","backend/src/modules/finance/finance-periods.service.ts","backend/src/modules/finance/finance-refunds.service.ts","backend/src/modules/finance/finance.service.ts","backend/src/shared/services/circuit-breaker.service.ts"]}],"total_commits":0,"head_commit":{"id":"0900b15d607e5c78f97fec16a73357ad4f814390","message":"fix: 前端 UI 交互防崩溃加固 — 25 个视图文件 + useApiQuery 增强\n\n三类修复(多 Agent 并行协作,零回归验证通过):\n\n1. 列表页 undefined 防护(10 文件 14 处):\n - res.data → res?.data ?? [] 防止 .map()/.length 崩溃\n - res.meta.total → res?.meta?.total ?? 0 防止分页异常\n\n2. 表单验证 try-catch(10 文件):\n - validate() 裸调用 → .catch(() =\u003e false) + if (!valid) return\n - 防止验证失败时页面卡死\n\n3. 删除操作错误处理(5 文件 8 处):\n - 空 catch 吞掉所有错误 → isCancelError 区分用户取消/真实错误\n - 真实 API 错误显示友好提示\n\n4. useApiQuery.ts 增强:\n - normalizeListResult 归一化防 undefined\n - useApiMutation 添加 onError 默认提示 + successMessage 控制\n - 全部 hook 添加 retry: 1\n\n验证:Vite 构建通过 / vue-tsc 0 新增错误 / 后端 4267 测试通过(+51)/ E2E 12/14 通过(0 回归)\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/0900b15d607e5c78f97fec16a73357ad4f814390","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-23T07:09:28+08:00","added":["frontend/src/composables/useApiQuery.ts"],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/biz-sequences/Form.vue","frontend/src/views/campaign-drafts/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-use-case-templates/Index.vue","frontend/src/views/cost-allocation/Form.vue","frontend/src/views/customer-balance/Form.vue","frontend/src/views/customer-balance/Index.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/journey-orchestration/Index.vue","frontend/src/views/landing-pages/Index.vue","frontend/src/views/maintenance/PlanForm.vue","frontend/src/views/maintenance/TaskForm.vue","frontend/src/views/marketing-forms/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/partner-customers/Index.vue","frontend/src/views/predictive-analytics/Index.vue","frontend/src/views/products/Categories.vue","frontend/src/views/roles/Index.vue","frontend/src/views/roles/components/RoleUsers.vue","frontend/src/views/segments/Form.vue","frontend/src/views/social-matrix/Form.vue","frontend/src/views/stores/Form.vue","frontend/src/views/swot-analyses/Index.vue"]},"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":1907548,"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-20T01:03:04+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
|
1774222840
|
1774222840
|
0
|
1774222840
|
1774222840
|
|
|
0
|
Edit
Delete
|
|
7254
|
fix: 前端 API 路径对齐 + 路由缺失 + 表单提交反馈修复
|
6
|
5
|
health-check.yml
|
7180
|
-2
|
100
|
refs/heads/main
|
80c2bdb2f93a19aa53d16ded06387b70c6084bf8
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"0900b15d607e5c78f97fec16a73357ad4f814390","after":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/0900b15d607e5c78f97fec16a73357ad4f814390...80c2bdb2f93a19aa53d16ded06387b70c6084bf8","commits":[{"id":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","message":"fix: 前端 API 路径对齐 + 路由缺失 + 表单提交反馈修复\n\n1. API 路径对齐后端(7 处 404 修复):\n - faults: start-diagnosis→start-diagnose, diagnosis→diagnose, solution→resolve\n - marketing-matrix: batch-group→batch/group(PATCH), batch-operator→batch/operator(PATCH),\n platform-comparison→analytics/platform-comparison, auth-status→authorize\n\n2. 路由缺失修复(2 处):\n - groupbuy-orders/create 新建路由注册\n - marketing-tools 编辑模式从 query.id 改为 params.id + 拆分 create/edit 路由\n\n3. 表单提交失败用户反馈(15 文件 33 处):\n - catch 块只有 console.error → 补充 ElMessage.error 用户可见提示\n - 涉及:contracts, quotes, opportunities, customers, departments 等核心模块\n\n验证:Vite 构建通过 / vue-tsc 0 新增错误\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/80c2bdb2f93a19aa53d16ded06387b70c6084bf8","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-23T07:43:31+08:00","added":["frontend/src/router/modules/stores.ts","frontend/src/router/modules/supplemental.ts"],"removed":[],"modified":["frontend/src/api/modules/faults.ts","frontend/src/api/modules/marketing-matrix.ts","frontend/src/views/ar-ledger/Form.vue","frontend/src/views/assets/Form.vue","frontend/src/views/campaigns/Form.vue","frontend/src/views/channels/Form.vue","frontend/src/views/contract-templates/Form.vue","frontend/src/views/contracts/Form.vue","frontend/src/views/customers/Form.vue","frontend/src/views/departments/Form.vue","frontend/src/views/marketing-tools/Detail.vue","frontend/src/views/marketing-tools/Form.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/opportunities/Form.vue","frontend/src/views/partner-customers/Form.vue","frontend/src/views/price-books/Form.vue","frontend/src/views/products/Form.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/sample-requests/Form.vue","frontend/src/views/tickets/Form.vue"]}],"total_commits":0,"head_commit":{"id":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","message":"fix: 前端 API 路径对齐 + 路由缺失 + 表单提交反馈修复\n\n1. API 路径对齐后端(7 处 404 修复):\n - faults: start-diagnosis→start-diagnose, diagnosis→diagnose, solution→resolve\n - marketing-matrix: batch-group→batch/group(PATCH), batch-operator→batch/operator(PATCH),\n platform-comparison→analytics/platform-comparison, auth-status→authorize\n\n2. 路由缺失修复(2 处):\n - groupbuy-orders/create 新建路由注册\n - marketing-tools 编辑模式从 query.id 改为 params.id + 拆分 create/edit 路由\n\n3. 表单提交失败用户反馈(15 文件 33 处):\n - catch 块只有 console.error → 补充 ElMessage.error 用户可见提示\n - 涉及:contracts, quotes, opportunities, customers, departments 等核心模块\n\n验证:Vite 构建通过 / vue-tsc 0 新增错误\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/80c2bdb2f93a19aa53d16ded06387b70c6084bf8","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-23T07:43:31+08:00","added":["frontend/src/router/modules/stores.ts","frontend/src/router/modules/supplemental.ts"],"removed":[],"modified":["frontend/src/api/modules/faults.ts","frontend/src/api/modules/marketing-matrix.ts","frontend/src/views/ar-ledger/Form.vue","frontend/src/views/assets/Form.vue","frontend/src/views/campaigns/Form.vue","frontend/src/views/channels/Form.vue","frontend/src/views/contract-templates/Form.vue","frontend/src/views/contracts/Form.vue","frontend/src/views/customers/Form.vue","frontend/src/views/departments/Form.vue","frontend/src/views/marketing-tools/Detail.vue","frontend/src/views/marketing-tools/Form.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/opportunities/Form.vue","frontend/src/views/partner-customers/Form.vue","frontend/src/views/price-books/Form.vue","frontend/src/views/products/Form.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/sample-requests/Form.vue","frontend/src/views/tickets/Form.vue"]},"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":1919760,"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-23T07:09:48+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
|
1774223403
|
1774223403
|
0
|
1774223140
|
1774223403
|
|
|
0
|
Edit
Delete
|
|
7258
|
fix: 前端 API 路径对齐 + 路由缺失 + 表单提交反馈修复
|
6
|
5
|
health-check.yml
|
7184
|
-2
|
100
|
refs/heads/main
|
80c2bdb2f93a19aa53d16ded06387b70c6084bf8
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"0900b15d607e5c78f97fec16a73357ad4f814390","after":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/0900b15d607e5c78f97fec16a73357ad4f814390...80c2bdb2f93a19aa53d16ded06387b70c6084bf8","commits":[{"id":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","message":"fix: 前端 API 路径对齐 + 路由缺失 + 表单提交反馈修复\n\n1. API 路径对齐后端(7 处 404 修复):\n - faults: start-diagnosis→start-diagnose, diagnosis→diagnose, solution→resolve\n - marketing-matrix: batch-group→batch/group(PATCH), batch-operator→batch/operator(PATCH),\n platform-comparison→analytics/platform-comparison, auth-status→authorize\n\n2. 路由缺失修复(2 处):\n - groupbuy-orders/create 新建路由注册\n - marketing-tools 编辑模式从 query.id 改为 params.id + 拆分 create/edit 路由\n\n3. 表单提交失败用户反馈(15 文件 33 处):\n - catch 块只有 console.error → 补充 ElMessage.error 用户可见提示\n - 涉及:contracts, quotes, opportunities, customers, departments 等核心模块\n\n验证:Vite 构建通过 / vue-tsc 0 新增错误\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/80c2bdb2f93a19aa53d16ded06387b70c6084bf8","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-23T07:43:31+08:00","added":["frontend/src/router/modules/stores.ts","frontend/src/router/modules/supplemental.ts"],"removed":[],"modified":["frontend/src/api/modules/faults.ts","frontend/src/api/modules/marketing-matrix.ts","frontend/src/views/ar-ledger/Form.vue","frontend/src/views/assets/Form.vue","frontend/src/views/campaigns/Form.vue","frontend/src/views/channels/Form.vue","frontend/src/views/contract-templates/Form.vue","frontend/src/views/contracts/Form.vue","frontend/src/views/customers/Form.vue","frontend/src/views/departments/Form.vue","frontend/src/views/marketing-tools/Detail.vue","frontend/src/views/marketing-tools/Form.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/opportunities/Form.vue","frontend/src/views/partner-customers/Form.vue","frontend/src/views/price-books/Form.vue","frontend/src/views/products/Form.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/sample-requests/Form.vue","frontend/src/views/tickets/Form.vue"]}],"total_commits":0,"head_commit":{"id":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","message":"fix: 前端 API 路径对齐 + 路由缺失 + 表单提交反馈修复\n\n1. API 路径对齐后端(7 处 404 修复):\n - faults: start-diagnosis→start-diagnose, diagnosis→diagnose, solution→resolve\n - marketing-matrix: batch-group→batch/group(PATCH), batch-operator→batch/operator(PATCH),\n platform-comparison→analytics/platform-comparison, auth-status→authorize\n\n2. 路由缺失修复(2 处):\n - groupbuy-orders/create 新建路由注册\n - marketing-tools 编辑模式从 query.id 改为 params.id + 拆分 create/edit 路由\n\n3. 表单提交失败用户反馈(15 文件 33 处):\n - catch 块只有 console.error → 补充 ElMessage.error 用户可见提示\n - 涉及:contracts, quotes, opportunities, customers, departments 等核心模块\n\n验证:Vite 构建通过 / vue-tsc 0 新增错误\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/80c2bdb2f93a19aa53d16ded06387b70c6084bf8","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-23T07:43:31+08:00","added":["frontend/src/router/modules/stores.ts","frontend/src/router/modules/supplemental.ts"],"removed":[],"modified":["frontend/src/api/modules/faults.ts","frontend/src/api/modules/marketing-matrix.ts","frontend/src/views/ar-ledger/Form.vue","frontend/src/views/assets/Form.vue","frontend/src/views/campaigns/Form.vue","frontend/src/views/channels/Form.vue","frontend/src/views/contract-templates/Form.vue","frontend/src/views/contracts/Form.vue","frontend/src/views/customers/Form.vue","frontend/src/views/departments/Form.vue","frontend/src/views/marketing-tools/Detail.vue","frontend/src/views/marketing-tools/Form.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/opportunities/Form.vue","frontend/src/views/partner-customers/Form.vue","frontend/src/views/price-books/Form.vue","frontend/src/views/products/Form.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/sample-requests/Form.vue","frontend/src/views/tickets/Form.vue"]},"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":1919760,"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-23T07:09:48+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
|
1774223475
|
1774223475
|
0
|
1774223440
|
1774223475
|
|
|
0
|
Edit
Delete
|
|
7266
|
fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御
|
6
|
5
|
health-check.yml
|
7192
|
-2
|
104
|
refs/heads/main
|
df7b6f46170cb46db4771dd1e07991b0b13d90a0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","after":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/80c2bdb2f93a19aa53d16ded06387b70c6084bf8...df7b6f46170cb46db4771dd1e07991b0b13d90a0","commits":[{"id":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","message":"fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御\n\n1. approval-configs 提交数据修复:\n - 删除冗余 objectType(后端期望 entityType)\n - 删除冗余 nodes(后端期望 steps)\n\n2. geo-keywords 后端缺失路由防御(7 个):\n - 批量删除/排名检查/导出等按钮禁用 + warning 提示\n - 保留 API 方法定义供后端实现后使用\n\n3. groupbuy-participants 后端缺失路由防御(8 个):\n - GET/:id 不存在 → 查看/编辑改为 warning 提示\n - stats 接口 catch 兜底返回空数据\n\n4. 确认无需修改的模块:\n - invoice-requests 复用 invoicesApi:设计如此(同一后端模块)\n - video-publishing 复用 socialPostApi:设计如此(视频子集视图)\n - outbound 复用 shipments 路由:后端已覆盖所有端点\n - qr-codes 使用 campaignsApi:后端缺失 qr-codes 路由,前端无法单独修复\n\n验证:Vite 构建通过\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","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-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]}],"total_commits":0,"head_commit":{"id":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","message":"fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御\n\n1. approval-configs 提交数据修复:\n - 删除冗余 objectType(后端期望 entityType)\n - 删除冗余 nodes(后端期望 steps)\n\n2. geo-keywords 后端缺失路由防御(7 个):\n - 批量删除/排名检查/导出等按钮禁用 + warning 提示\n - 保留 API 方法定义供后端实现后使用\n\n3. groupbuy-participants 后端缺失路由防御(8 个):\n - GET/:id 不存在 → 查看/编辑改为 warning 提示\n - stats 接口 catch 兜底返回空数据\n\n4. 确认无需修改的模块:\n - invoice-requests 复用 invoicesApi:设计如此(同一后端模块)\n - video-publishing 复用 socialPostApi:设计如此(视频子集视图)\n - outbound 复用 shipments 路由:后端已覆盖所有端点\n - qr-codes 使用 campaignsApi:后端缺失 qr-codes 路由,前端无法单独修复\n\n验证:Vite 构建通过\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","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-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]},"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":1919904,"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-23T07:43:43+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
|
1774223899
|
1774223899
|
0
|
1774223740
|
1774223899
|
|
|
0
|
Edit
Delete
|
|
7271
|
fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御
|
6
|
5
|
health-check.yml
|
7197
|
-2
|
104
|
refs/heads/main
|
df7b6f46170cb46db4771dd1e07991b0b13d90a0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","after":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/80c2bdb2f93a19aa53d16ded06387b70c6084bf8...df7b6f46170cb46db4771dd1e07991b0b13d90a0","commits":[{"id":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","message":"fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御\n\n1. approval-configs 提交数据修复:\n - 删除冗余 objectType(后端期望 entityType)\n - 删除冗余 nodes(后端期望 steps)\n\n2. geo-keywords 后端缺失路由防御(7 个):\n - 批量删除/排名检查/导出等按钮禁用 + warning 提示\n - 保留 API 方法定义供后端实现后使用\n\n3. groupbuy-participants 后端缺失路由防御(8 个):\n - GET/:id 不存在 → 查看/编辑改为 warning 提示\n - stats 接口 catch 兜底返回空数据\n\n4. 确认无需修改的模块:\n - invoice-requests 复用 invoicesApi:设计如此(同一后端模块)\n - video-publishing 复用 socialPostApi:设计如此(视频子集视图)\n - outbound 复用 shipments 路由:后端已覆盖所有端点\n - qr-codes 使用 campaignsApi:后端缺失 qr-codes 路由,前端无法单独修复\n\n验证:Vite 构建通过\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","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-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]}],"total_commits":0,"head_commit":{"id":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","message":"fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御\n\n1. approval-configs 提交数据修复:\n - 删除冗余 objectType(后端期望 entityType)\n - 删除冗余 nodes(后端期望 steps)\n\n2. geo-keywords 后端缺失路由防御(7 个):\n - 批量删除/排名检查/导出等按钮禁用 + warning 提示\n - 保留 API 方法定义供后端实现后使用\n\n3. groupbuy-participants 后端缺失路由防御(8 个):\n - GET/:id 不存在 → 查看/编辑改为 warning 提示\n - stats 接口 catch 兜底返回空数据\n\n4. 确认无需修改的模块:\n - invoice-requests 复用 invoicesApi:设计如此(同一后端模块)\n - video-publishing 复用 socialPostApi:设计如此(视频子集视图)\n - outbound 复用 shipments 路由:后端已覆盖所有端点\n - qr-codes 使用 campaignsApi:后端缺失 qr-codes 路由,前端无法单独修复\n\n验证:Vite 构建通过\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","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-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]},"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":1919904,"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-23T07:43:43+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
|
1774224040
|
1774224040
|
0
|
1774224040
|
1774224040
|
|
|
0
|
Edit
Delete
|
|
7273
|
fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御
|
6
|
5
|
health-check.yml
|
7199
|
-2
|
104
|
refs/heads/main
|
df7b6f46170cb46db4771dd1e07991b0b13d90a0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","after":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/80c2bdb2f93a19aa53d16ded06387b70c6084bf8...df7b6f46170cb46db4771dd1e07991b0b13d90a0","commits":[{"id":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","message":"fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御\n\n1. approval-configs 提交数据修复:\n - 删除冗余 objectType(后端期望 entityType)\n - 删除冗余 nodes(后端期望 steps)\n\n2. geo-keywords 后端缺失路由防御(7 个):\n - 批量删除/排名检查/导出等按钮禁用 + warning 提示\n - 保留 API 方法定义供后端实现后使用\n\n3. groupbuy-participants 后端缺失路由防御(8 个):\n - GET/:id 不存在 → 查看/编辑改为 warning 提示\n - stats 接口 catch 兜底返回空数据\n\n4. 确认无需修改的模块:\n - invoice-requests 复用 invoicesApi:设计如此(同一后端模块)\n - video-publishing 复用 socialPostApi:设计如此(视频子集视图)\n - outbound 复用 shipments 路由:后端已覆盖所有端点\n - qr-codes 使用 campaignsApi:后端缺失 qr-codes 路由,前端无法单独修复\n\n验证:Vite 构建通过\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","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-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]}],"total_commits":0,"head_commit":{"id":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","message":"fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御\n\n1. approval-configs 提交数据修复:\n - 删除冗余 objectType(后端期望 entityType)\n - 删除冗余 nodes(后端期望 steps)\n\n2. geo-keywords 后端缺失路由防御(7 个):\n - 批量删除/排名检查/导出等按钮禁用 + warning 提示\n - 保留 API 方法定义供后端实现后使用\n\n3. groupbuy-participants 后端缺失路由防御(8 个):\n - GET/:id 不存在 → 查看/编辑改为 warning 提示\n - stats 接口 catch 兜底返回空数据\n\n4. 确认无需修改的模块:\n - invoice-requests 复用 invoicesApi:设计如此(同一后端模块)\n - video-publishing 复用 socialPostApi:设计如此(视频子集视图)\n - outbound 复用 shipments 路由:后端已覆盖所有端点\n - qr-codes 使用 campaignsApi:后端缺失 qr-codes 路由,前端无法单独修复\n\n验证:Vite 构建通过\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","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-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]},"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":1919904,"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-23T07:43:43+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
|
1774224340
|
1774224340
|
0
|
1774224340
|
1774224340
|
|
|
0
|
Edit
Delete
|
|
7274
|
fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御
|
6
|
5
|
health-check.yml
|
7200
|
-2
|
104
|
refs/heads/main
|
df7b6f46170cb46db4771dd1e07991b0b13d90a0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","after":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/80c2bdb2f93a19aa53d16ded06387b70c6084bf8...df7b6f46170cb46db4771dd1e07991b0b13d90a0","commits":[{"id":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","message":"fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御\n\n1. approval-configs 提交数据修复:\n - 删除冗余 objectType(后端期望 entityType)\n - 删除冗余 nodes(后端期望 steps)\n\n2. geo-keywords 后端缺失路由防御(7 个):\n - 批量删除/排名检查/导出等按钮禁用 + warning 提示\n - 保留 API 方法定义供后端实现后使用\n\n3. groupbuy-participants 后端缺失路由防御(8 个):\n - GET/:id 不存在 → 查看/编辑改为 warning 提示\n - stats 接口 catch 兜底返回空数据\n\n4. 确认无需修改的模块:\n - invoice-requests 复用 invoicesApi:设计如此(同一后端模块)\n - video-publishing 复用 socialPostApi:设计如此(视频子集视图)\n - outbound 复用 shipments 路由:后端已覆盖所有端点\n - qr-codes 使用 campaignsApi:后端缺失 qr-codes 路由,前端无法单独修复\n\n验证:Vite 构建通过\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","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-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]}],"total_commits":0,"head_commit":{"id":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","message":"fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御\n\n1. approval-configs 提交数据修复:\n - 删除冗余 objectType(后端期望 entityType)\n - 删除冗余 nodes(后端期望 steps)\n\n2. geo-keywords 后端缺失路由防御(7 个):\n - 批量删除/排名检查/导出等按钮禁用 + warning 提示\n - 保留 API 方法定义供后端实现后使用\n\n3. groupbuy-participants 后端缺失路由防御(8 个):\n - GET/:id 不存在 → 查看/编辑改为 warning 提示\n - stats 接口 catch 兜底返回空数据\n\n4. 确认无需修改的模块:\n - invoice-requests 复用 invoicesApi:设计如此(同一后端模块)\n - video-publishing 复用 socialPostApi:设计如此(视频子集视图)\n - outbound 复用 shipments 路由:后端已覆盖所有端点\n - qr-codes 使用 campaignsApi:后端缺失 qr-codes 路由,前端无法单独修复\n\n验证:Vite 构建通过\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","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-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]},"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":1919904,"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-23T07:43:43+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
|
1774224640
|
1774224640
|
0
|
1774224640
|
1774224640
|
|
|
0
|
Edit
Delete
|
|
7275
|
fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御
|
6
|
5
|
health-check.yml
|
7201
|
-2
|
104
|
refs/heads/main
|
df7b6f46170cb46db4771dd1e07991b0b13d90a0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","after":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/80c2bdb2f93a19aa53d16ded06387b70c6084bf8...df7b6f46170cb46db4771dd1e07991b0b13d90a0","commits":[{"id":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","message":"fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御\n\n1. approval-configs 提交数据修复:\n - 删除冗余 objectType(后端期望 entityType)\n - 删除冗余 nodes(后端期望 steps)\n\n2. geo-keywords 后端缺失路由防御(7 个):\n - 批量删除/排名检查/导出等按钮禁用 + warning 提示\n - 保留 API 方法定义供后端实现后使用\n\n3. groupbuy-participants 后端缺失路由防御(8 个):\n - GET/:id 不存在 → 查看/编辑改为 warning 提示\n - stats 接口 catch 兜底返回空数据\n\n4. 确认无需修改的模块:\n - invoice-requests 复用 invoicesApi:设计如此(同一后端模块)\n - video-publishing 复用 socialPostApi:设计如此(视频子集视图)\n - outbound 复用 shipments 路由:后端已覆盖所有端点\n - qr-codes 使用 campaignsApi:后端缺失 qr-codes 路由,前端无法单独修复\n\n验证:Vite 构建通过\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","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-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]}],"total_commits":0,"head_commit":{"id":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","message":"fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御\n\n1. approval-configs 提交数据修复:\n - 删除冗余 objectType(后端期望 entityType)\n - 删除冗余 nodes(后端期望 steps)\n\n2. geo-keywords 后端缺失路由防御(7 个):\n - 批量删除/排名检查/导出等按钮禁用 + warning 提示\n - 保留 API 方法定义供后端实现后使用\n\n3. groupbuy-participants 后端缺失路由防御(8 个):\n - GET/:id 不存在 → 查看/编辑改为 warning 提示\n - stats 接口 catch 兜底返回空数据\n\n4. 确认无需修改的模块:\n - invoice-requests 复用 invoicesApi:设计如此(同一后端模块)\n - video-publishing 复用 socialPostApi:设计如此(视频子集视图)\n - outbound 复用 shipments 路由:后端已覆盖所有端点\n - qr-codes 使用 campaignsApi:后端缺失 qr-codes 路由,前端无法单独修复\n\n验证:Vite 构建通过\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","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-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]},"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":1919904,"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-23T07:43:43+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
|
1774224940
|
1774224940
|
0
|
1774224940
|
1774224940
|
|
|
0
|
Edit
Delete
|
|
7276
|
fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御
|
6
|
5
|
health-check.yml
|
7202
|
-2
|
104
|
refs/heads/main
|
df7b6f46170cb46db4771dd1e07991b0b13d90a0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","after":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/80c2bdb2f93a19aa53d16ded06387b70c6084bf8...df7b6f46170cb46db4771dd1e07991b0b13d90a0","commits":[{"id":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","message":"fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御\n\n1. approval-configs 提交数据修复:\n - 删除冗余 objectType(后端期望 entityType)\n - 删除冗余 nodes(后端期望 steps)\n\n2. geo-keywords 后端缺失路由防御(7 个):\n - 批量删除/排名检查/导出等按钮禁用 + warning 提示\n - 保留 API 方法定义供后端实现后使用\n\n3. groupbuy-participants 后端缺失路由防御(8 个):\n - GET/:id 不存在 → 查看/编辑改为 warning 提示\n - stats 接口 catch 兜底返回空数据\n\n4. 确认无需修改的模块:\n - invoice-requests 复用 invoicesApi:设计如此(同一后端模块)\n - video-publishing 复用 socialPostApi:设计如此(视频子集视图)\n - outbound 复用 shipments 路由:后端已覆盖所有端点\n - qr-codes 使用 campaignsApi:后端缺失 qr-codes 路由,前端无法单独修复\n\n验证:Vite 构建通过\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","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-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]}],"total_commits":0,"head_commit":{"id":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","message":"fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御\n\n1. approval-configs 提交数据修复:\n - 删除冗余 objectType(后端期望 entityType)\n - 删除冗余 nodes(后端期望 steps)\n\n2. geo-keywords 后端缺失路由防御(7 个):\n - 批量删除/排名检查/导出等按钮禁用 + warning 提示\n - 保留 API 方法定义供后端实现后使用\n\n3. groupbuy-participants 后端缺失路由防御(8 个):\n - GET/:id 不存在 → 查看/编辑改为 warning 提示\n - stats 接口 catch 兜底返回空数据\n\n4. 确认无需修改的模块:\n - invoice-requests 复用 invoicesApi:设计如此(同一后端模块)\n - video-publishing 复用 socialPostApi:设计如此(视频子集视图)\n - outbound 复用 shipments 路由:后端已覆盖所有端点\n - qr-codes 使用 campaignsApi:后端缺失 qr-codes 路由,前端无法单独修复\n\n验证:Vite 构建通过\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","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-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]},"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":1919904,"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-23T07:43:43+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
|
1774225240
|
1774225240
|
0
|
1774225240
|
1774225240
|
|
|
0
|
Edit
Delete
|
|
7277
|
fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御
|
6
|
5
|
health-check.yml
|
7203
|
-2
|
104
|
refs/heads/main
|
df7b6f46170cb46db4771dd1e07991b0b13d90a0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","after":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/80c2bdb2f93a19aa53d16ded06387b70c6084bf8...df7b6f46170cb46db4771dd1e07991b0b13d90a0","commits":[{"id":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","message":"fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御\n\n1. approval-configs 提交数据修复:\n - 删除冗余 objectType(后端期望 entityType)\n - 删除冗余 nodes(后端期望 steps)\n\n2. geo-keywords 后端缺失路由防御(7 个):\n - 批量删除/排名检查/导出等按钮禁用 + warning 提示\n - 保留 API 方法定义供后端实现后使用\n\n3. groupbuy-participants 后端缺失路由防御(8 个):\n - GET/:id 不存在 → 查看/编辑改为 warning 提示\n - stats 接口 catch 兜底返回空数据\n\n4. 确认无需修改的模块:\n - invoice-requests 复用 invoicesApi:设计如此(同一后端模块)\n - video-publishing 复用 socialPostApi:设计如此(视频子集视图)\n - outbound 复用 shipments 路由:后端已覆盖所有端点\n - qr-codes 使用 campaignsApi:后端缺失 qr-codes 路由,前端无法单独修复\n\n验证:Vite 构建通过\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","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-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]}],"total_commits":0,"head_commit":{"id":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","message":"fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御\n\n1. approval-configs 提交数据修复:\n - 删除冗余 objectType(后端期望 entityType)\n - 删除冗余 nodes(后端期望 steps)\n\n2. geo-keywords 后端缺失路由防御(7 个):\n - 批量删除/排名检查/导出等按钮禁用 + warning 提示\n - 保留 API 方法定义供后端实现后使用\n\n3. groupbuy-participants 后端缺失路由防御(8 个):\n - GET/:id 不存在 → 查看/编辑改为 warning 提示\n - stats 接口 catch 兜底返回空数据\n\n4. 确认无需修改的模块:\n - invoice-requests 复用 invoicesApi:设计如此(同一后端模块)\n - video-publishing 复用 socialPostApi:设计如此(视频子集视图)\n - outbound 复用 shipments 路由:后端已覆盖所有端点\n - qr-codes 使用 campaignsApi:后端缺失 qr-codes 路由,前端无法单独修复\n\n验证:Vite 构建通过\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","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-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]},"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":1919904,"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-23T07:43:43+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
|
1774225540
|
1774225540
|
0
|
1774225540
|
1774225540
|
|
|
0
|
Edit
Delete
|
|
7278
|
fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御
|
6
|
5
|
health-check.yml
|
7204
|
-2
|
104
|
refs/heads/main
|
df7b6f46170cb46db4771dd1e07991b0b13d90a0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","after":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/80c2bdb2f93a19aa53d16ded06387b70c6084bf8...df7b6f46170cb46db4771dd1e07991b0b13d90a0","commits":[{"id":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","message":"fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御\n\n1. approval-configs 提交数据修复:\n - 删除冗余 objectType(后端期望 entityType)\n - 删除冗余 nodes(后端期望 steps)\n\n2. geo-keywords 后端缺失路由防御(7 个):\n - 批量删除/排名检查/导出等按钮禁用 + warning 提示\n - 保留 API 方法定义供后端实现后使用\n\n3. groupbuy-participants 后端缺失路由防御(8 个):\n - GET/:id 不存在 → 查看/编辑改为 warning 提示\n - stats 接口 catch 兜底返回空数据\n\n4. 确认无需修改的模块:\n - invoice-requests 复用 invoicesApi:设计如此(同一后端模块)\n - video-publishing 复用 socialPostApi:设计如此(视频子集视图)\n - outbound 复用 shipments 路由:后端已覆盖所有端点\n - qr-codes 使用 campaignsApi:后端缺失 qr-codes 路由,前端无法单独修复\n\n验证:Vite 构建通过\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","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-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]}],"total_commits":0,"head_commit":{"id":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","message":"fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御\n\n1. approval-configs 提交数据修复:\n - 删除冗余 objectType(后端期望 entityType)\n - 删除冗余 nodes(后端期望 steps)\n\n2. geo-keywords 后端缺失路由防御(7 个):\n - 批量删除/排名检查/导出等按钮禁用 + warning 提示\n - 保留 API 方法定义供后端实现后使用\n\n3. groupbuy-participants 后端缺失路由防御(8 个):\n - GET/:id 不存在 → 查看/编辑改为 warning 提示\n - stats 接口 catch 兜底返回空数据\n\n4. 确认无需修改的模块:\n - invoice-requests 复用 invoicesApi:设计如此(同一后端模块)\n - video-publishing 复用 socialPostApi:设计如此(视频子集视图)\n - outbound 复用 shipments 路由:后端已覆盖所有端点\n - qr-codes 使用 campaignsApi:后端缺失 qr-codes 路由,前端无法单独修复\n\n验证:Vite 构建通过\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","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-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]},"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":1919904,"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-23T07:43:43+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
|
1774225840
|
1774225840
|
0
|
1774225840
|
1774225840
|
|
|
0
|
Edit
Delete
|
|
7279
|
fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御
|
6
|
5
|
health-check.yml
|
7205
|
-2
|
104
|
refs/heads/main
|
df7b6f46170cb46db4771dd1e07991b0b13d90a0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","after":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/80c2bdb2f93a19aa53d16ded06387b70c6084bf8...df7b6f46170cb46db4771dd1e07991b0b13d90a0","commits":[{"id":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","message":"fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御\n\n1. approval-configs 提交数据修复:\n - 删除冗余 objectType(后端期望 entityType)\n - 删除冗余 nodes(后端期望 steps)\n\n2. geo-keywords 后端缺失路由防御(7 个):\n - 批量删除/排名检查/导出等按钮禁用 + warning 提示\n - 保留 API 方法定义供后端实现后使用\n\n3. groupbuy-participants 后端缺失路由防御(8 个):\n - GET/:id 不存在 → 查看/编辑改为 warning 提示\n - stats 接口 catch 兜底返回空数据\n\n4. 确认无需修改的模块:\n - invoice-requests 复用 invoicesApi:设计如此(同一后端模块)\n - video-publishing 复用 socialPostApi:设计如此(视频子集视图)\n - outbound 复用 shipments 路由:后端已覆盖所有端点\n - qr-codes 使用 campaignsApi:后端缺失 qr-codes 路由,前端无法单独修复\n\n验证:Vite 构建通过\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","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-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]}],"total_commits":0,"head_commit":{"id":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","message":"fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御\n\n1. approval-configs 提交数据修复:\n - 删除冗余 objectType(后端期望 entityType)\n - 删除冗余 nodes(后端期望 steps)\n\n2. geo-keywords 后端缺失路由防御(7 个):\n - 批量删除/排名检查/导出等按钮禁用 + warning 提示\n - 保留 API 方法定义供后端实现后使用\n\n3. groupbuy-participants 后端缺失路由防御(8 个):\n - GET/:id 不存在 → 查看/编辑改为 warning 提示\n - stats 接口 catch 兜底返回空数据\n\n4. 确认无需修改的模块:\n - invoice-requests 复用 invoicesApi:设计如此(同一后端模块)\n - video-publishing 复用 socialPostApi:设计如此(视频子集视图)\n - outbound 复用 shipments 路由:后端已覆盖所有端点\n - qr-codes 使用 campaignsApi:后端缺失 qr-codes 路由,前端无法单独修复\n\n验证:Vite 构建通过\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","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-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]},"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":1919904,"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-23T07:43:43+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
|
1774226140
|
1774226140
|
0
|
1774226140
|
1774226140
|
|
|
0
|
Edit
Delete
|
|
7280
|
fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御
|
6
|
5
|
health-check.yml
|
7206
|
-2
|
104
|
refs/heads/main
|
df7b6f46170cb46db4771dd1e07991b0b13d90a0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","after":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/80c2bdb2f93a19aa53d16ded06387b70c6084bf8...df7b6f46170cb46db4771dd1e07991b0b13d90a0","commits":[{"id":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","message":"fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御\n\n1. approval-configs 提交数据修复:\n - 删除冗余 objectType(后端期望 entityType)\n - 删除冗余 nodes(后端期望 steps)\n\n2. geo-keywords 后端缺失路由防御(7 个):\n - 批量删除/排名检查/导出等按钮禁用 + warning 提示\n - 保留 API 方法定义供后端实现后使用\n\n3. groupbuy-participants 后端缺失路由防御(8 个):\n - GET/:id 不存在 → 查看/编辑改为 warning 提示\n - stats 接口 catch 兜底返回空数据\n\n4. 确认无需修改的模块:\n - invoice-requests 复用 invoicesApi:设计如此(同一后端模块)\n - video-publishing 复用 socialPostApi:设计如此(视频子集视图)\n - outbound 复用 shipments 路由:后端已覆盖所有端点\n - qr-codes 使用 campaignsApi:后端缺失 qr-codes 路由,前端无法单独修复\n\n验证:Vite 构建通过\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","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-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]}],"total_commits":0,"head_commit":{"id":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","message":"fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御\n\n1. approval-configs 提交数据修复:\n - 删除冗余 objectType(后端期望 entityType)\n - 删除冗余 nodes(后端期望 steps)\n\n2. geo-keywords 后端缺失路由防御(7 个):\n - 批量删除/排名检查/导出等按钮禁用 + warning 提示\n - 保留 API 方法定义供后端实现后使用\n\n3. groupbuy-participants 后端缺失路由防御(8 个):\n - GET/:id 不存在 → 查看/编辑改为 warning 提示\n - stats 接口 catch 兜底返回空数据\n\n4. 确认无需修改的模块:\n - invoice-requests 复用 invoicesApi:设计如此(同一后端模块)\n - video-publishing 复用 socialPostApi:设计如此(视频子集视图)\n - outbound 复用 shipments 路由:后端已覆盖所有端点\n - qr-codes 使用 campaignsApi:后端缺失 qr-codes 路由,前端无法单独修复\n\n验证:Vite 构建通过\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","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-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]},"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":1919904,"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-23T07:43:43+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
|
1774226440
|
1774226440
|
0
|
1774226440
|
1774226440
|
|
|
0
|
Edit
Delete
|
|
7281
|
fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御
|
6
|
5
|
health-check.yml
|
7207
|
-2
|
104
|
refs/heads/main
|
df7b6f46170cb46db4771dd1e07991b0b13d90a0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","after":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/80c2bdb2f93a19aa53d16ded06387b70c6084bf8...df7b6f46170cb46db4771dd1e07991b0b13d90a0","commits":[{"id":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","message":"fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御\n\n1. approval-configs 提交数据修复:\n - 删除冗余 objectType(后端期望 entityType)\n - 删除冗余 nodes(后端期望 steps)\n\n2. geo-keywords 后端缺失路由防御(7 个):\n - 批量删除/排名检查/导出等按钮禁用 + warning 提示\n - 保留 API 方法定义供后端实现后使用\n\n3. groupbuy-participants 后端缺失路由防御(8 个):\n - GET/:id 不存在 → 查看/编辑改为 warning 提示\n - stats 接口 catch 兜底返回空数据\n\n4. 确认无需修改的模块:\n - invoice-requests 复用 invoicesApi:设计如此(同一后端模块)\n - video-publishing 复用 socialPostApi:设计如此(视频子集视图)\n - outbound 复用 shipments 路由:后端已覆盖所有端点\n - qr-codes 使用 campaignsApi:后端缺失 qr-codes 路由,前端无法单独修复\n\n验证:Vite 构建通过\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","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-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]}],"total_commits":0,"head_commit":{"id":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","message":"fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御\n\n1. approval-configs 提交数据修复:\n - 删除冗余 objectType(后端期望 entityType)\n - 删除冗余 nodes(后端期望 steps)\n\n2. geo-keywords 后端缺失路由防御(7 个):\n - 批量删除/排名检查/导出等按钮禁用 + warning 提示\n - 保留 API 方法定义供后端实现后使用\n\n3. groupbuy-participants 后端缺失路由防御(8 个):\n - GET/:id 不存在 → 查看/编辑改为 warning 提示\n - stats 接口 catch 兜底返回空数据\n\n4. 确认无需修改的模块:\n - invoice-requests 复用 invoicesApi:设计如此(同一后端模块)\n - video-publishing 复用 socialPostApi:设计如此(视频子集视图)\n - outbound 复用 shipments 路由:后端已覆盖所有端点\n - qr-codes 使用 campaignsApi:后端缺失 qr-codes 路由,前端无法单独修复\n\n验证:Vite 构建通过\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","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-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]},"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":1919904,"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-23T07:43:43+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
|
1774226740
|
1774226740
|
0
|
1774226740
|
1774226740
|
|
|
0
|
Edit
Delete
|
|
7282
|
fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御
|
6
|
5
|
health-check.yml
|
7208
|
-2
|
104
|
refs/heads/main
|
df7b6f46170cb46db4771dd1e07991b0b13d90a0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","after":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/80c2bdb2f93a19aa53d16ded06387b70c6084bf8...df7b6f46170cb46db4771dd1e07991b0b13d90a0","commits":[{"id":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","message":"fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御\n\n1. approval-configs 提交数据修复:\n - 删除冗余 objectType(后端期望 entityType)\n - 删除冗余 nodes(后端期望 steps)\n\n2. geo-keywords 后端缺失路由防御(7 个):\n - 批量删除/排名检查/导出等按钮禁用 + warning 提示\n - 保留 API 方法定义供后端实现后使用\n\n3. groupbuy-participants 后端缺失路由防御(8 个):\n - GET/:id 不存在 → 查看/编辑改为 warning 提示\n - stats 接口 catch 兜底返回空数据\n\n4. 确认无需修改的模块:\n - invoice-requests 复用 invoicesApi:设计如此(同一后端模块)\n - video-publishing 复用 socialPostApi:设计如此(视频子集视图)\n - outbound 复用 shipments 路由:后端已覆盖所有端点\n - qr-codes 使用 campaignsApi:后端缺失 qr-codes 路由,前端无法单独修复\n\n验证:Vite 构建通过\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","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-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]}],"total_commits":0,"head_commit":{"id":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","message":"fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御\n\n1. approval-configs 提交数据修复:\n - 删除冗余 objectType(后端期望 entityType)\n - 删除冗余 nodes(后端期望 steps)\n\n2. geo-keywords 后端缺失路由防御(7 个):\n - 批量删除/排名检查/导出等按钮禁用 + warning 提示\n - 保留 API 方法定义供后端实现后使用\n\n3. groupbuy-participants 后端缺失路由防御(8 个):\n - GET/:id 不存在 → 查看/编辑改为 warning 提示\n - stats 接口 catch 兜底返回空数据\n\n4. 确认无需修改的模块:\n - invoice-requests 复用 invoicesApi:设计如此(同一后端模块)\n - video-publishing 复用 socialPostApi:设计如此(视频子集视图)\n - outbound 复用 shipments 路由:后端已覆盖所有端点\n - qr-codes 使用 campaignsApi:后端缺失 qr-codes 路由,前端无法单独修复\n\n验证:Vite 构建通过\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","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-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]},"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":1919904,"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-23T07:43:43+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
|
1774227040
|
1774227040
|
0
|
1774227040
|
1774227040
|
|
|
0
|
Edit
Delete
|
|
7283
|
fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御
|
6
|
5
|
health-check.yml
|
7209
|
-2
|
104
|
refs/heads/main
|
df7b6f46170cb46db4771dd1e07991b0b13d90a0
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"80c2bdb2f93a19aa53d16ded06387b70c6084bf8","after":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/80c2bdb2f93a19aa53d16ded06387b70c6084bf8...df7b6f46170cb46db4771dd1e07991b0b13d90a0","commits":[{"id":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","message":"fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御\n\n1. approval-configs 提交数据修复:\n - 删除冗余 objectType(后端期望 entityType)\n - 删除冗余 nodes(后端期望 steps)\n\n2. geo-keywords 后端缺失路由防御(7 个):\n - 批量删除/排名检查/导出等按钮禁用 + warning 提示\n - 保留 API 方法定义供后端实现后使用\n\n3. groupbuy-participants 后端缺失路由防御(8 个):\n - GET/:id 不存在 → 查看/编辑改为 warning 提示\n - stats 接口 catch 兜底返回空数据\n\n4. 确认无需修改的模块:\n - invoice-requests 复用 invoicesApi:设计如此(同一后端模块)\n - video-publishing 复用 socialPostApi:设计如此(视频子集视图)\n - outbound 复用 shipments 路由:后端已覆盖所有端点\n - qr-codes 使用 campaignsApi:后端缺失 qr-codes 路由,前端无法单独修复\n\n验证:Vite 构建通过\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","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-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]}],"total_commits":0,"head_commit":{"id":"df7b6f46170cb46db4771dd1e07991b0b13d90a0","message":"fix: P2 交互问题修复 — API 冗余字段 + 后端缺失路由防御\n\n1. approval-configs 提交数据修复:\n - 删除冗余 objectType(后端期望 entityType)\n - 删除冗余 nodes(后端期望 steps)\n\n2. geo-keywords 后端缺失路由防御(7 个):\n - 批量删除/排名检查/导出等按钮禁用 + warning 提示\n - 保留 API 方法定义供后端实现后使用\n\n3. groupbuy-participants 后端缺失路由防御(8 个):\n - GET/:id 不存在 → 查看/编辑改为 warning 提示\n - stats 接口 catch 兜底返回空数据\n\n4. 确认无需修改的模块:\n - invoice-requests 复用 invoicesApi:设计如此(同一后端模块)\n - video-publishing 复用 socialPostApi:设计如此(视频子集视图)\n - outbound 复用 shipments 路由:后端已覆盖所有端点\n - qr-codes 使用 campaignsApi:后端缺失 qr-codes 路由,前端无法单独修复\n\n验证:Vite 构建通过\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/df7b6f46170cb46db4771dd1e07991b0b13d90a0","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-23T07:51:53+08:00","added":[],"removed":[],"modified":["frontend/src/views/approval-configs/Form.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.vue","frontend/src/views/groupbuy-participants/Index.vue"]},"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":1919904,"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-23T07:43:43+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
|
1774227340
|
1774227340
|
0
|
1774227340
|
1774227340
|
|
|
0
|
Edit
Delete
|