refactor(core): restructure conversation/channel/message domains and modernize deployment

- Replace chat package with conversation flow architecture
- Add channel identity avatar support (migration 0002)
- Refactor channel adapters, identities, and message routing
- Update frontend: simplify composables, modernize UI components
- Improve Docker builds with cache mounts and version metadata
- Optimize healthchecks and simplify service dependencies
This commit is contained in:
BBQ
2026-02-12 20:52:34 +08:00
parent 30281742ef
commit 1c15eb2146
121 changed files with 3514 additions and 5961 deletions
+18 -5
View File
@@ -2535,7 +2535,7 @@ const docTemplate = `{
},
{
"type": "string",
"description": "Client type (openai, anthropic, google)",
"description": "Client type (openai, openai-compat, anthropic, google, azure, bedrock, mistral, xai, ollama, dashscope)",
"name": "client_type",
"in": "query"
}
@@ -2970,7 +2970,7 @@ const docTemplate = `{
"parameters": [
{
"type": "string",
"description": "Client type filter (openai, anthropic, google, ollama)",
"description": "Client type filter (openai, openai-compat, anthropic, google, azure, bedrock, mistral, xai, ollama, dashscope)",
"name": "client_type",
"in": "query"
}
@@ -3060,7 +3060,7 @@ const docTemplate = `{
"parameters": [
{
"type": "string",
"description": "Client type filter (openai, anthropic, google, ollama)",
"description": "Client type filter (openai, openai-compat, anthropic, google, azure, bedrock, mistral, xai, ollama, dashscope)",
"name": "client_type",
"in": "query"
}
@@ -5004,6 +5004,9 @@ const docTemplate = `{
"identities.ChannelIdentity": {
"type": "object",
"properties": {
"avatar_url": {
"type": "string"
},
"channel": {
"type": "string"
},
@@ -5184,14 +5187,24 @@ const docTemplate = `{
"openai-compat",
"anthropic",
"google",
"ollama"
"azure",
"bedrock",
"mistral",
"xai",
"ollama",
"dashscope"
],
"x-enum-varnames": [
"ClientTypeOpenAI",
"ClientTypeOpenAICompat",
"ClientTypeAnthropic",
"ClientTypeGoogle",
"ClientTypeOllama"
"ClientTypeAzure",
"ClientTypeBedrock",
"ClientTypeMistral",
"ClientTypeXAI",
"ClientTypeOllama",
"ClientTypeDashscope"
]
},
"providers.CountResponse": {
+18 -5
View File
@@ -2526,7 +2526,7 @@
},
{
"type": "string",
"description": "Client type (openai, anthropic, google)",
"description": "Client type (openai, openai-compat, anthropic, google, azure, bedrock, mistral, xai, ollama, dashscope)",
"name": "client_type",
"in": "query"
}
@@ -2961,7 +2961,7 @@
"parameters": [
{
"type": "string",
"description": "Client type filter (openai, anthropic, google, ollama)",
"description": "Client type filter (openai, openai-compat, anthropic, google, azure, bedrock, mistral, xai, ollama, dashscope)",
"name": "client_type",
"in": "query"
}
@@ -3051,7 +3051,7 @@
"parameters": [
{
"type": "string",
"description": "Client type filter (openai, anthropic, google, ollama)",
"description": "Client type filter (openai, openai-compat, anthropic, google, azure, bedrock, mistral, xai, ollama, dashscope)",
"name": "client_type",
"in": "query"
}
@@ -4995,6 +4995,9 @@
"identities.ChannelIdentity": {
"type": "object",
"properties": {
"avatar_url": {
"type": "string"
},
"channel": {
"type": "string"
},
@@ -5175,14 +5178,24 @@
"openai-compat",
"anthropic",
"google",
"ollama"
"azure",
"bedrock",
"mistral",
"xai",
"ollama",
"dashscope"
],
"x-enum-varnames": [
"ClientTypeOpenAI",
"ClientTypeOpenAICompat",
"ClientTypeAnthropic",
"ClientTypeGoogle",
"ClientTypeOllama"
"ClientTypeAzure",
"ClientTypeBedrock",
"ClientTypeMistral",
"ClientTypeXAI",
"ClientTypeOllama",
"ClientTypeDashscope"
]
},
"providers.CountResponse": {
+18 -3
View File
@@ -791,6 +791,8 @@ definitions:
type: object
identities.ChannelIdentity:
properties:
avatar_url:
type: string
channel:
type: string
channel_subject_id:
@@ -911,14 +913,24 @@ definitions:
- openai-compat
- anthropic
- google
- azure
- bedrock
- mistral
- xai
- ollama
- dashscope
type: string
x-enum-varnames:
- ClientTypeOpenAI
- ClientTypeOpenAICompat
- ClientTypeAnthropic
- ClientTypeGoogle
- ClientTypeAzure
- ClientTypeBedrock
- ClientTypeMistral
- ClientTypeXAI
- ClientTypeOllama
- ClientTypeDashscope
providers.CountResponse:
properties:
count:
@@ -2850,7 +2862,8 @@ paths:
in: query
name: type
type: string
- description: Client type (openai, anthropic, google)
- description: Client type (openai, openai-compat, anthropic, google, azure,
bedrock, mistral, xai, ollama, dashscope)
in: query
name: client_type
type: string
@@ -3136,7 +3149,8 @@ paths:
description: Get a list of all configured LLM providers, optionally filtered
by client type
parameters:
- description: Client type filter (openai, anthropic, google, ollama)
- description: Client type filter (openai, openai-compat, anthropic, google,
azure, bedrock, mistral, xai, ollama, dashscope)
in: query
name: client_type
type: string
@@ -3332,7 +3346,8 @@ paths:
description: Get the total count of providers, optionally filtered by client
type
parameters:
- description: Client type filter (openai, anthropic, google, ollama)
- description: Client type filter (openai, openai-compat, anthropic, google,
azure, bedrock, mistral, xai, ollama, dashscope)
in: query
name: client_type
type: string