microsoft / microsoft/agent-framework
.NET: Add `ConversationStoreFactory` API for custom DevUI storage implementations
@westey-m is already working on this.
Since Jan 5, 2026.
- Dominant language
- Python
- Stars
- 13.6k
- Forks
- 2.3k
- Avg merge
- 2d 45m
- Merged PRs (30d)
- 358
Description
When using DevUI with a custom ChatMessageStoreFactory for persistent thread storage, conversations are not persisted across application restarts because there's no equivalent factory API for the conversation listing functionality.
The framework provides an elegant factory pattern for customizing thread message storage: However, DevUI's conversation listing (GET /v1/conversations?agent_id=X) relies on separate internal services IConversationStorage, IAgentConversationIndex that only have in-memory implementations and no equivalent factory API for customization.
UPDATE: The problem is more complex than initially expected.
Sub-Issue 1: Conversation ID
Is conversation preservation actually supported? When messages are saved to a custom store, there's no way for the store to know the associated Conversation ID. The store serialization is not used, nor is there another way to know the current thread from within the message store.
Sub-Issue 2: Application Restarts
Even if messages are persisted, there's no public or supported way to hook into the IConversationStorage interfaces - they're internal. This creates a disconnect: a message store can save messages, but when DevUI requests chat history, there's no API endpoint to attach to, so nothing responds.
I'd appreciate input here cause now I am questioning if this is even intended or just not yet implemented. It kind of feels like that attaching a message store is probably not the use-case at all for DevUI.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.