Skip to content

多模型服务商支持 - #25

Merged
MayueCif merged 9 commits into
mainfrom
feature/multi-provider-support
Aug 22, 2026
Merged

MayueCif merged 9 commits into
mainfrom
feature/multi-provider-support

Conversation

@MayueCif

@MayueCif MayueCif commented Aug 5, 2026

Copy link
Copy Markdown
Member

No description provided.

…rvice runtime

- Implement tests for MarketAnalysisWorkflow to ensure concurrent runs are isolated and handle empty run IDs correctly.
- Create tests for MarketChatSession to verify message streaming behavior and cancellation handling.
- Add tests for McpServiceRuntime to validate configuration fingerprinting, connection management, and tool retrieval.
- Enhance middleware tests for conversation compression and token tracking, ensuring proper functionality under various conditions.
- Introduce structured output tests to validate JSON schema generation and criteria handling in investment selection strategies.
- Update project file to include demo documents for testing purposes.
- Refactor file path handling in vector tests to ensure test documents are correctly located.
- 升级多项 NuGet 依赖,移除未用包
- 投资选择流程重构为 Agent Framework Workflows 新模式,Executor 统一接口,支持事件驱动与异常处理
- 资产选择、收藏、首页等页面提升键盘可用性,卡片/列表项支持聚焦与键盘激活
- 优化 UI 聚焦样式与布局,提升可见性和适配性
- 移除未用转换器及相关资源,文档与测试同步更新
- 增强实盘切换确认逻辑,集中判断防止误操作
- 注册 AdaptiveCard 解析器至 DI,便于扩展
- 优化代码风格、命名、注释及命名空间顺序
- 移除 IModelProviderAdapter,统一通过官方 SDK 创建 IChatClient/IEmbeddingGenerator
- ModelProvider 增加协议、端点覆盖、鉴权等能力描述
- 新增 ModelDiscoveryService,支持匿名/端点覆盖模型发现
- StructuredOutputOptions 支持 Text/JsonObject/JsonSchema 三模式
- 分析师代理、执行器统一结构化输出配置,自动适配服务商能力
- 优化依赖注入,精简工厂注册,提升可维护性
- 设置页支持端点覆盖、API Key 可选、模型列表刷新与错误提示
- 增强分析链路日志与异常诊断,完善测试用例
- 移除冗余测试,优化断言与代码风格
- 提升多服务商兼容性、扩展性与用户体验
重构 ModelDiscoveryService,移除 OllamaSharp 和 OpenAI SDK 依赖,统一使用原生 HttpClient 通过 OpenAI 兼容接口获取模型列表。支持 Bearer 鉴权和匿名请求,兼容多种响应结构(data/models/根数组,id/name/model 字段或字符串元素)。接口行为由 ModelProvider 配置控制,新增 ModelListingUrlPath 字段,Ollama 本地服务商自动适配 /api/tags 路径。删除不再支持的服务商(如 Perplexity、HuaweiCloud),修正 MiniMax 等服务商的 API Base URL。测试用例同步更新,覆盖鉴权、响应结构兼容、异常处理等场景,确保服务商目录一致性。
模型服务商
- 删除 UserSetting.ModelId/Endpoint 单值字段,ProviderModelIds/ProviderEndpoints/ProviderApiKeys 为唯一事实源,取消旧配置迁移。
- 新增 ModelProvider.ResolveEndpoint 统一端点解析,ChatClientFactory/ModelDiscoveryService 复用。
- 删除未使用的 DefaultContextWindowTokens/ModelContextWindowTokens 字段与 ChatClientFactory 错误缓存,简化创建路径。

AI 分析
- AIAgentFailureIsolation 将分析师异常/空输出转为 [ANALYST_FAILURE] 标记消息,Fan-In 聚合器按作者去重并降级为维度缺失说明,全失败时跳过协调员。
- 压缩阈值统一上调至 128K,移除依赖上下文窗口字段的 CreateForContextWindow。

交易
- TradeExecutor 按失败类型填充 TradeFailureCategory(拒绝/网络/其他);MarketMonitor 据此分级:拒绝->暂停策略并通知,网络->短冷却快速重试,成功->清除冷却。
- 新增 TradeConfirmationService:全局 HITL 确认(60s 超时 fail-closed、Interlocked 串行防误批),脱离监控页生命周期。
- AISignalStrategyExecutor 硬边界先校验真实持仓,try/finally 恢复方向,平仓成功即结束策略。

基建与安全
- 应用退出时释放 DI 容器(ChatClientFactory 缓存等);Core 增加 SQLitePCLRaw 覆盖(CVE-2025-6965)。
- IUserSettingService 新增 UpdateSetting 线程安全变更入口。

测试
- 新增 AIAgentFailureIsolation/AnalysisAggregatorExecutor/MarketAnalysisDegradation/AISignalHardBoundary/TradeExecutorConcurrency/TradeFailurePolicy 测试,更新模型服务商相关测试。
@MayueCif
MayueCif merged commit e7f9879 into main Aug 22, 2026
3 checks passed
@MayueCif
MayueCif deleted the feature/multi-provider-support branch August 22, 2026 12:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant