AI聊天组件

一个革命性的PowerApps组件框架(PCF)控件,将AI驱动的对话界面直接集成到Microsoft Dataverse应用程序中,使用自然语言与数据进行交互,并让AI无缝处理复杂的Dataverse操作。

  • by rajatnagpal24
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 rajatnagpal24/DataverseMCP-PCF-Azure-AI

使用说明

Dataverse MCP PCF - 基于AI的聊天组件

一个革命性的PowerApps组件框架(PCF)控件,它将AI驱动的对话界面直接引入到Microsoft Dataverse应用程序中。您可以使用自然语言与数据进行对话,让AI无缝处理复杂的Dataverse操作。

🚀 功能特性

🤖 基于人工智能的对话

  • 自然语言查询用平实的英语提问,比如“给我列出前5个账户”或“列出所有表格”
  • GPT-5迷你版集成由OpenAI最新模型提供智能回复支持
  • 情境感知保持对话历史记录以便更好地理解

🔧 数据库操作

  • 模式探索描述表格,列出实体,探索关系
  • 数据查询使用自然语言执行复杂查询
  • 实时操作通过聊天界面执行创建、读取、更新操作
  • MCP协议使用模型上下文协议实现可靠的工具集成

💻 现代用户界面/用户体验(UI/UX)

  • 响应式设计在桌面和移动设备上无缝工作
  • 实时更新实时状态指示器和思考动画
  • Markdown 支持回复中的富文本格式化
  • 快速操作为常见操作预设快捷键

⚙️ 企业就绪

  • 可配置的通过OpenAI端点配置轻松设置
  • 安全基于令牌的身份验证,支持会话cookie
  • 可扩展的设计时注重性能和可靠性
  • 可扩展的易于添加新的MCP工具和功能

📋 快速入门

先决条件

  • Microsoft Dataverse 环境
  • OpenAI Azure 端点(GPT-5 迷你版部署)

配置

使用您的OpenAI设置配置该组件:

参数 描述 必需
openaiEndpoint 您的OpenAI Azure终端节点URL 是
openaiApiKey 用于身份验证的API密钥 是
openaiApiVersion API版本(例如,“2024-02-01”) 是
openaiDeployment GPT-5迷你版的部署名称 是
componentHeight 聊天界面的高度 否

🛠️ 使用方法

基本聊天操作

User: "List all tables in my environment"
AI: Here are all the tables in your Dataverse environment:
- account (Account)
- contact (Contact) 
- opportunity (Opportunity)
...

高级查询

User: "Show me accounts created this month with revenue > $100k"
AI: I'll query the accounts for you...

| Name | Revenue | Created On |
|------|---------|------------|
| Contoso Ltd | $150,000 | 2025-10-05 |
| Fabrikam Inc | $120,000 | 2025-10-08 |

模式探索

User: "Describe the account table"
AI: The account table has the following structure:
- accountid (Primary Key): Unique identifier
- name (Text): Account name
- revenue (Currency): Annual revenue
- createdon (DateTime): Record creation date
...

🏗️ 建筑学

┌─────────────────┐    ┌──────────────┐    ┌─────────────────┐
│   React UI      │    │  OpenAI      │    │   Dataverse     │
│   Components    │◄──►│  Agent       │◄──►│   MCP Server    │
└─────────────────┘    └──────────────┘    └─────────────────┘
         │                       │                    │
         ▼                       ▼                    ▼
┌─────────────────┐    ┌──────────────┐    ┌─────────────────┐
│   Chat          │    │  Tool        │    │   Web API       │
│   Interface     │    │  Execution   │    │   Operations    │
└─────────────────┘    └──────────────┘    └─────────────────┘

核心组件

  • DataverseChat.tsx 翻译为中文是:“数据宇宙聊天组件(或:数据宇宙聊天界面).tsx”。这里,“Dataverse”通常指的是一个数据宇宙或数据空间的概念,而“Chat”则表明这是一个聊天相关的组件或界面,“.tsx”是TypeScript的React组件文件扩展名带有消息历史记录的主聊天界面
  • **MCPClient.ts 翻译为中文是:“MCP客户端(TypeScript文件)”**工具集成的模型上下文协议客户端
  • **OpenAIAgent.ts(文件名或类名,可翻译为“OpenAI代理.ts”)**AI代理处理对话和工具调用
  • ChatMessage.tsx 翻译成中文可以是:“聊天消息组件(使用TypeScript编写)”。不过,这里的“ChatMessage.tsx”更准确地描述了一个使用React和TypeScript编写的组件文件名,直接翻译可能不完全传达其技术含义,但基于您的要求,上述翻译是一个较为贴近的表述。在实际开发语境中,我们通常会直接保留“ChatMessage.tsx”这样的文件名,因为它已经包含了技术上的信息支持Markdown的单条消息渲染
  • `StatusBar.tsx` 翻译成中文是“状态栏组件(使用TypeScript编写)”。不过,具体翻译可能根据上下文和项目命名习惯有所调整,但基本意思是描述一个用TypeScript编写的与状态栏相关的组件或文件实时状态和连接指示灯

可用的MCP工具

📚 文档

📄 许可证

这个项目遵循MIT许可证授权——详见 许可证 详情请参阅文件。

🙏 致谢

  • Microsoft Power Platform 团队(负责PCF框架)
  • OpenAI提供先进的AI能力
  • 模型上下文协议贡献者
  • 开源社区,灵感与工具的源泉

为微软Power平台社区倾心打造

如果你觉得这个仓库有帮助,请给它加个星⭐!