Skip to content

Conversation

@JaydonZhao
Copy link

@JaydonZhao JaydonZhao commented Oct 24, 2025

What this PR does

Revising and Enhancement of #10006

Before this PR:

  • Users could only @mention individual models one by one in chat
  • Managing multi-model conversations required repeatedly selecting the same set of models
  • No way to organize frequently used model combinations

After this PR:

  • Users can create named model groups in Settings → Model Groups
  • @mention a group to automatically include all models in that group
  • Combine @group mentions with individual @model mentions in the same message
  • Manage groups with create, edit, and delete operations
  • Groups are persisted across sessions via Redux store
2025-10-25.05-16-22.1.mp4

Fixes #[issue number if applicable]

Why we need it and why it was done in this way

This feature addresses the need for easier multi-model conversations by allowing users to pre-define groups of models they frequently use together. Instead of @mentioning models individually each time, users can create a group once and @mention it.

Tradeoffs made:

  • Groups expand at send time (not at selection time) to keep the UI responsive and avoid cluttering the input with many model tags
  • Group expansion happens silently - users see the group tag but the system sends to individual models
  • Used Redux for state management instead of a separate database table for simplicity

Alternatives considered:

  • Storing groups in a separate database table - decided against it to keep the feature lightweight
  • Expanding groups immediately in the UI - rejected to avoid overwhelming the input area with many tags
  • Making groups a first-class entity in the message format - kept it as a UI-only feature for backward compatibility

Breaking changes

None. This is a new feature that doesn't modify existing functionality.

Special notes for your reviewer

Key implementation details:

  1. Type definitions (src/renderer/src/types/index.ts): Added ModelGroup and ModelReference types
  2. Redux store (src/renderer/src/store/modelGroups.ts): Complete CRUD operations with auto-generated IDs and timestamps
  3. UI components (src/renderer/src/pages/settings/ModelGroupSettings/): 5 components following existing patterns
  4. Chat integration: Updated input bar components to support group mentions with folder icons (green) alongside model mentions (blue)
  5. Internationalization: Added complete English and Chinese translations

Testing focus areas:

  • Group creation with various model combinations
  • @group and @model combination in the same message
  • Persistence across app restarts
  • Edge cases: empty groups, deleted models in groups

Checklist

  • PR: The PR description is expressive enough and will help future contributors
  • Code: Write code that humans can understand and Keep it simple
  • Refactor: Left the code cleaner (followed existing component patterns and naming conventions)
  • Upgrade: No upgrade impact - new feature with no migration needed
  • Documentation: User-guide update not required yet (can be added based on user feedback)

Release note

New Feature: Model Groups

Users can now create model groups to simplify multi-model conversations:
- Navigate to Settings → Model Groups to create and manage groups
- Give each group a name and select multiple models from any provider
- Use @groupname in chat to mention all models in that group
- Combine @group mentions with individual @model mentions

This feature makes it easier to work with multiple models without repeatedly selecting the same models.
@JaydonZhao JaydonZhao requested a review from 0xfullex as a code owner October 24, 2025 22:13
@EurFelux
Copy link
Collaborator

The feature PR won't be merged before v2, as v2 will involve a major data architecture refactoring.

@JaydonZhao
Copy link
Author

The feature PR won't be merged before v2, as v2 will involve a major data architecture refactoring.

How long until the v2 release?

@EurFelux
Copy link
Collaborator

It's expected in next month

@JaydonZhao
Copy link
Author

JaydonZhao commented Oct 25, 2025

Note

This issue/comment/review was translated by Claude.

It's expected in next month

Thanks for the heads-up about the v2 release.

After some fixing and modifying on the original PR (#10006), I was directed to move the group functionality into the Settings page. So in this new PR, I then completely refactored the work again based on that feedback.

I understand the data architecture refactoring is a major priority.

That said, it's a bit uncomfortable to hear that cannot merge again, as this feature represents a substantial effort, with workload of two full PRs.

Given that this work is already complete, I'd appreciate it if the team could reconsider and explore any possibility of prioritizing this merge, or perhaps finding a path to integrate it before the full v2 release.


Original Content

It's expected in next month

Thanks for the heads-up about the v2 release.

After some fixing and modifying on the original PR (#10006), I was directed to move the group functionality into the Settings page. So in this new PR, I then completely refactored the work again based on that feedback.

I understand the data architecture refactoring is a major priority.

That said, it's a bit uncomfortable to hear that cannot merge again, as this feature represents a substantial effort, with workload of two full PRs.

Given that this work is already complete, I'd appreciate it if the team could reconsider and explore any possibility of prioritizing this merge, or perhaps finding a path to integrate it before the full v2 release.

@DeJeune
Copy link
Collaborator

DeJeune commented Oct 25, 2025

You can change the base branch to v2 and see what other modifications might be needed. Let's discuss this issue together; my idea is to move it to the assistant settings.

@EurFelux
Copy link
Collaborator

EurFelux commented Oct 25, 2025

I realized I overlooked the discussion related to #10006; perhaps I simply forgot about it at the time. Additionally, since we didn't prominently announce our plans to the community, you ended up wasting effort writing unnecessary code, and for that, I must apologize to you as well.

Well, the functionality intended for #10006 should have been merged before 1.6.0, as we decided in principle not to merge any PRs affecting data after 1.6.0. So, it's somewhat delayed now. After a quick look at the changes in this PR, I noticed it involves entirely new data types. Therefore, as @DeJeune mentioned, you can rebase these changes onto the v2 branch.

However, since the user data architecture portion of the v2 branch hasn't been fully designed yet, I suggest postponing this matter. If you're eager to use this feature, you're certainly welcome to build your own version.

@JaydonZhao
Copy link
Author

JaydonZhao commented Oct 25, 2025

Note

This issue/comment/review was translated by Claude.

I'm definitely eager to use this model group feature, to reduce the substantial daily effort of manually selecting models. But this time you guys provide timely responses which make good sense. I understand that data architecture refactoring will be the priority.

Hopefully the team can remember this feature, I'm still very hopeful to get this feature as soon as v2 is ready. I'll also try to see if I can squeeze time at weekends to attempt to have a look


Original Content

我确实很想使用这个模型分组功能,以减少手动选择模型的日常工作量。但这次你们提供了及时且合理的回应。我理解数据架构重构将成��优先事项。

希望团队能记住这个功能,我仍然非常有希望在 v2 准备好时尽快获得这个功能。我也会试着看看是否能在周末挤出时间来看看

@EurFelux
Copy link
Collaborator

Thank you for your understanding.

@EurFelux EurFelux added the Blocked: v2 The PR is blocked until v2 released label Oct 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Blocked: v2 The PR is blocked until v2 released

3 participants