You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@answer.apache.org by li...@apache.org on 2026/01/29 03:16:25 UTC
(answer) 01/03: Merge remote-tracking branch 'origin/main' into meta
This is an automated email from the ASF dual-hosted git repository.
linkinstar pushed a commit to branch meta
in repository https://gitbox.apache.org/repos/asf/answer.git
commit eba56dbf92bd97dce7ad232ac58dc0184b84bf3f
Merge: bcbae259 7dfb8b32
Author: LinkinStars <li...@foxmail.com>
AuthorDate: Wed Jan 28 16:46:39 2026 +0800
Merge remote-tracking branch 'origin/main' into meta
# Conflicts:
# i18n/pl_PL.yaml
.env.example | 36 +
.github/workflows/lint.yml | 62 +
.gitignore | 3 +
Makefile | 3 +-
README.md | 2 +-
cmd/main.go | 6 +
cmd/wire_gen.go | 71 +-
docs/docs.go | 2528 +++++++++++++++-----
docs/release/licenses/LICENSE-joho-godotenv.txt | 22 +
docs/swagger.json | 2528 +++++++++++++++-----
docs/swagger.yaml | 1181 +++++++--
go.mod | 11 +-
go.sum | 24 +-
i18n/cs_CZ.yaml | 95 +-
i18n/cy_GB.yaml | 93 +-
i18n/da_DK.yaml | 783 +++---
i18n/de_DE.yaml | 93 +-
i18n/en_US.yaml | 93 +-
i18n/es_ES.yaml | 93 +-
i18n/fa_IR.yaml | 93 +-
i18n/fr_FR.yaml | 93 +-
i18n/hi_IN.yaml | 93 +-
i18n/id_ID.yaml | 97 +-
i18n/it_IT.yaml | 93 +-
i18n/ja_JP.yaml | 309 ++-
i18n/ko_KR.yaml | 93 +-
i18n/ml_IN.yaml | 93 +-
i18n/pl_PL.yaml | 636 ++---
i18n/pt_PT.yaml | 93 +-
i18n/ro_RO.yaml | 93 +-
i18n/ru_RU.yaml | 106 +-
i18n/sk_SK.yaml | 93 +-
i18n/sv_SE.yaml | 101 +-
i18n/te_IN.yaml | 93 +-
i18n/tr_TR.yaml | 127 +-
i18n/uk_UA.yaml | 93 +-
i18n/vi_VN.yaml | 93 +-
i18n/zh_CN.yaml | 95 +-
i18n/zh_TW.yaml | 93 +-
internal/base/constant/ai_config.go | 49 +
internal/base/constant/site_info.go | 3 +
internal/base/constant/site_type.go | 21 +-
internal/base/middleware/auth.go | 4 +-
.../middleware/{visit_img_auth.go => mcp_auth.go} | 45 +-
internal/base/middleware/visit_img_auth.go | 4 +-
internal/base/queue/queue.go | 130 +
internal/base/queue/queue_test.go | 253 ++
internal/base/reason/reason.go | 1 +
internal/base/server/http.go | 8 +-
internal/base/translator/provider.go | 6 +-
internal/controller/ai_controller.go | 756 ++++++
internal/controller/ai_conversation_controller.go | 130 +
internal/controller/answer_controller.go | 2 +-
internal/controller/controller.go | 3 +
internal/controller/mcp_controller.go | 351 +++
internal/controller/revision_controller.go | 2 +
internal/controller/siteinfo_controller.go | 29 +-
internal/controller/template_controller.go | 8 +-
.../ai_conversation_admin_controller.go | 123 +
internal/controller_admin/controller.go | 2 +
internal/controller_admin/e_api_key_controller.go | 116 +
internal/controller_admin/siteinfo_controller.go | 290 ++-
.../entity/ai_conversation.go | 25 +-
internal/entity/ai_conversation_record.go | 40 +
internal/entity/api_key_entity.go | 42 +
internal/entity/user_entity.go | 2 +-
internal/install/install_main.go | 8 +-
internal/migrations/init.go | 87 +-
internal/migrations/migrations.go | 3 +
.../Admin/index.scss => internal/migrations/v29.go | 27 +-
internal/migrations/v30.go | 396 +++
internal/migrations/v31.go | 116 +
internal/migrations/v5.go | 3 +-
internal/repo/activity/answer_repo.go | 6 +-
internal/repo/activity/vote_repo.go | 6 +-
internal/repo/activity_common/vote.go | 6 +
.../repo/ai_conversation/ai_conversation_repo.go | 205 ++
internal/repo/api_key/api_key_repo.go | 83 +
internal/repo/provider.go | 4 +
internal/repo/site_info/siteinfo_repo.go | 10 +-
.../user_external_login_repo.go | 2 +-
internal/router/answer_api_router.go | 186 +-
.../schema/ai_config_schema.go | 35 +-
internal/schema/ai_conversation_schema.go | 123 +
internal/schema/api_key_schema.go | 60 +
internal/schema/mcp_schema.go | 194 ++
internal/schema/mcp_tools/mcp_tools.go | 105 +
internal/schema/revision_schema.go | 2 +
internal/schema/simple_obj_info_schema.go | 3 +
internal/schema/siteinfo_schema.go | 175 +-
internal/service/activity_common/activity.go | 6 +-
internal/service/activity_queue/activity_queue.go | 69 -
.../service/activityqueue/activity_queue.go | 21 +-
.../ai_conversation/ai_conversation_service.go | 372 +++
internal/service/apikey/apikey_service.go | 116 +
internal/service/badge/badge_award_service.go | 6 +-
internal/service/badge/badge_event_handler.go | 6 +-
internal/service/comment/comment_service.go | 22 +-
internal/service/content/answer_service.go | 27 +-
internal/service/content/question_service.go | 22 +-
internal/service/content/revision_service.go | 29 +-
internal/service/content/user_service.go | 6 +-
internal/service/content/vote_service.go | 6 +-
internal/service/dashboard/dashboard_service.go | 17 +-
internal/service/event_queue/event_queue.go | 69 -
.../service/eventqueue/event_queue.go | 21 +-
.../feature_toggle/feature_toggle_service.go | 130 +
internal/service/meta/meta_service.go | 6 +-
internal/service/mock/siteinfo_repo_mock.go | 150 +-
.../notice_queue/external_notification_queue.go | 69 -
internal/service/notice_queue/notice_queue.go | 69 -
.../service/noticequeue/notice_queue.go | 25 +-
.../service/notification/external_notification.go | 6 +-
.../notification/new_question_notification.go | 13 +
.../service/notification_common/notification.go | 13 +-
internal/service/object_info/object_info.go | 12 +-
internal/service/provider.go | 20 +-
internal/service/question_common/question.go | 8 +-
internal/service/report/report_service.go | 6 +-
internal/service/review/review_service.go | 10 +-
internal/service/siteinfo/siteinfo_service.go | 331 ++-
.../service/siteinfo_common/siteinfo_service.go | 98 +-
internal/service/tag/tag_service.go | 6 +-
internal/service/tag_common/tag_common.go | 14 +-
internal/service/uploader/upload.go | 32 +-
script/check-asf-header.sh | 2 +-
ui/.gitignore | 4 +-
ui/package.json | 1 +
ui/pnpm-lock.yaml | 384 ++-
ui/src/common/constants.ts | 66 +-
ui/src/common/interface.ts | 109 +-
ui/src/components/AccordionNav/index.tsx | 65 +-
ui/src/components/AdminSideNav/index.tsx | 13 +-
ui/src/components/BubbleAi/index.tsx | 259 ++
.../index.tsx => components/BubbleUser/index.scss} | 13 +-
.../{pages/403 => components/BubbleUser}/index.tsx | 19 +-
ui/src/components/Customize/index.tsx | 35 +
ui/src/components/Editor/EditorContext.ts | 4 +-
ui/src/components/Editor/MarkdownEditor.tsx | 98 +
ui/src/components/Editor/ToolBars/blockquote.tsx | 21 +-
ui/src/components/Editor/ToolBars/bold.tsx | 10 +-
ui/src/components/Editor/ToolBars/chart.tsx | 181 --
ui/src/components/Editor/ToolBars/code.tsx | 32 +-
ui/src/components/Editor/ToolBars/file.tsx | 15 +-
ui/src/components/Editor/ToolBars/heading.tsx | 24 +-
ui/src/components/Editor/ToolBars/hr.tsx | 11 +-
ui/src/components/Editor/ToolBars/image.tsx | 199 +-
ui/src/components/Editor/ToolBars/indent.tsx | 15 +-
ui/src/components/Editor/ToolBars/index.ts | 2 -
ui/src/components/Editor/ToolBars/italic.tsx | 11 +-
ui/src/components/Editor/ToolBars/link.tsx | 27 +-
ui/src/components/Editor/ToolBars/ol.tsx | 19 +-
ui/src/components/Editor/ToolBars/outdent.tsx | 16 +-
ui/src/components/Editor/ToolBars/table.tsx | 67 +-
ui/src/components/Editor/ToolBars/ul.tsx | 19 +-
ui/src/components/Editor/hooks/useImageUpload.ts | 129 +
ui/src/components/Editor/index.scss | 36 +
ui/src/components/Editor/index.tsx | 165 +-
ui/src/components/Editor/toolItem.tsx | 42 +-
ui/src/components/Editor/types.ts | 56 +-
.../components/Editor/utils/codemirror/adapter.ts | 59 +
ui/src/components/Editor/utils/codemirror/base.ts | 110 +
.../components/Editor/utils/codemirror/commands.ts | 279 +++
.../components/Editor/utils/codemirror/events.ts | 98 +
ui/src/components/Editor/utils/extension.ts | 255 --
ui/src/components/Editor/utils/index.ts | 32 +-
ui/src/components/Header/index.scss | 21 +
ui/src/components/Header/index.tsx | 8 +-
ui/src/components/Modal/Modal.tsx | 6 +-
ui/src/components/PluginRender/index.tsx | 105 +-
ui/src/components/SchemaForm/components/Input.tsx | 6 +-
ui/src/components/SchemaForm/components/Switch.tsx | 3 +-
ui/src/components/SchemaForm/index.tsx | 8 +-
ui/src/components/SchemaForm/types.ts | 2 +-
.../{pages/Admin => components/Sender}/index.scss | 30 +-
ui/src/components/Sender/index.tsx | 172 ++
ui/src/components/SideNav/index.tsx | 14 +-
.../ToolBars/indent.tsx => TabNav/index.tsx} | 46 +-
ui/src/components/index.ts | 8 +
ui/src/pages/{ => 404}/403/index.tsx | 0
.../Admin/AiAssistant/components/Action/index.tsx | 72 +
.../AiAssistant/components/DetailModal/index.tsx | 86 +
ui/src/pages/Admin/AiAssistant/index.tsx | 130 +
ui/src/pages/Admin/AiSettings/index.tsx | 486 ++++
ui/src/pages/Admin/Answers/index.tsx | 8 +-
.../Admin/Apikeys/components/Action/index.tsx | 77 +
.../Apikeys/components/AddOrEditModal/index.tsx | 184 ++
.../Apikeys/components/CreatedModal/index.tsx | 55 +
.../Admin/Apikeys/components/index.ts} | 8 +-
ui/src/pages/Admin/Apikeys/index.tsx | 138 ++
ui/src/pages/Admin/Branding/index.tsx | 16 +-
ui/src/pages/Admin/CssAndHtml/index.tsx | 16 +-
.../Dashboard/components/HealthStatus/index.tsx | 6 +-
ui/src/pages/Admin/Files/index.tsx | 261 ++
ui/src/pages/Admin/General/index.tsx | 29 +-
ui/src/pages/Admin/Interface/index.tsx | 75 +-
ui/src/pages/Admin/Login/index.tsx | 30 +-
ui/src/pages/Admin/Mcp/index.tsx | 113 +
ui/src/pages/Admin/Plugins/Config/index.tsx | 18 +-
ui/src/pages/Admin/{Legal => Policies}/index.tsx | 63 +-
ui/src/pages/Admin/Privileges/index.tsx | 32 +-
ui/src/pages/Admin/QaSettings/index.tsx | 153 ++
ui/src/pages/Admin/Questions/index.tsx | 4 +-
ui/src/pages/Admin/{Legal => Security}/index.tsx | 126 +-
ui/src/pages/Admin/Seo/index.tsx | 16 +-
ui/src/pages/Admin/Smtp/index.tsx | 16 +-
ui/src/pages/Admin/TagsSettings/index.tsx | 189 ++
ui/src/pages/Admin/Themes/index.tsx | 28 +-
ui/src/pages/Admin/Users/index.tsx | 14 +-
.../Admin/{Interface => UsersSettings}/index.tsx | 138 +-
ui/src/pages/Admin/Write/index.tsx | 473 ----
ui/src/pages/Admin/index.scss | 4 +
ui/src/pages/Admin/index.tsx | 16 +-
.../components/ConversationList/index.tsx | 70 +
ui/src/pages/AiAssistant/index.tsx | 380 +++
ui/src/pages/Layout/index.tsx | 14 +-
ui/src/pages/Questions/Ask/index.tsx | 12 +-
ui/src/pages/Questions/Detail/index.scss | 9 +-
ui/src/pages/Questions/EditAnswer/index.tsx | 8 +-
ui/src/pages/Search/components/AiCard/index.tsx | 189 ++
ui/src/pages/Search/components/index.ts | 3 +-
ui/src/pages/Search/index.tsx | 4 +
.../SideNavLayoutWithoutFooter/index.tsx} | 46 +-
ui/src/pages/Tags/Create/index.tsx | 8 +-
ui/src/pages/Tags/Edit/index.tsx | 8 +-
ui/src/pages/Users/Settings/Profile/index.tsx | 10 +-
ui/src/router/routes.ts | 72 +-
ui/src/services/admin/ai.ts | 87 +
ui/src/services/admin/{question.ts => apikeys.ts} | 27 +-
ui/src/services/admin/index.ts | 4 +
.../{pages/403/index.tsx => services/admin/mcp.ts} | 17 +-
ui/src/services/admin/question.ts | 10 +
ui/src/services/admin/settings.ts | 38 +-
.../403/index.tsx => services/admin/tags.ts} | 11 +-
ui/src/services/admin/users.ts | 19 +
.../services/{admin/question.ts => client/ai.ts} | 32 +-
ui/src/services/client/index.ts | 1 +
ui/src/stores/{siteLegal.ts => aiControl.ts} | 16 +-
ui/src/stores/index.ts | 6 +-
ui/src/stores/interface.ts | 4 +-
ui/src/stores/loginSetting.ts | 1 -
ui/src/stores/siteInfo.ts | 3 +-
ui/src/stores/{siteLegal.ts => siteSecurity.ts} | 16 +-
ui/src/stores/themeSetting.ts | 2 +
ui/src/stores/writeSetting.ts | 12 +-
ui/src/utils/guard.ts | 17 +-
ui/src/utils/pluginKit/index.ts | 143 +-
ui/src/utils/pluginKit/interface.ts | 2 +
ui/src/utils/requestAi.ts | 319 +++
249 files changed, 19607 insertions(+), 5054 deletions(-)