Token导航 LogoToken导航TokenDH.com
Demo Prep Assistant logo
办公协作未说明官方级别未说明来源级核验

Demo Prep Assistant

MCP Server

一款基于Electron的桌面应用,用于显示Microsoft Teams会议的每日时间线并提供完整转录,支持AI会议洞察和自然语言问答。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
JavaScript桌面应用自然语言处理

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

jrubiosainz

提供方

jrubiosainz

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

技术交付架构师

电子 桌面应用程序,以每天的时间线显示您最近的Microsoft Teams会议,并允许您阅读完整的逐字记录——所有这些都由 工作智商 通过MCP协议。 不需要Azure应用程序注册、客户端机密或Graph API权限。

Split-screen layout: transcript on the left, meeting timeline on the right

______________________________________________________________________

特性

  • 零应用注册 --身份验证由Azure CLI+Work IQ内部处理
  • Entra ID登录 --通过以下方式使用您的工作/学校Microsoft帐户 az login
  • 时间线侧栏 (右图)--按小时时段按天分组的会议,最新会议排在第一位
  • 完整成绩单查看器 (左面板)——从工作智商反应中解析出的说话者标记的对话块
  • AI会议见解 --通过Work IQ总结和行动项端点
  • 通用问答终点 --向Work IQ询问有关数据的任何自然语言问题
  • 流畅的用户界面 --简洁的微软设计语言,可拖动的标题栏,响应式布局
  • 强大的日期解析 --处理ISO 8601、AM/PM格式、unicode en破折号等

先决条件

在开始之前,请确保已安装以下内容:

需求版本如何检查安装链接
Node.js18岁或以后node --version
Azure命令行界面2.xaz --version安装Azure命令行界面
Work IQ命令行界面最新workiq --versionnpm install -g workiq
Git任何git --versiongit-scm.com

您还需要:

  • A. Microsoft 365工作/学校帐户 (输入 ID / Azure AD)
  • 团队会议 转录已启用 (因此存在可供提取的成绩单)

安装

1.克隆存储库

git clone https://github.com/jrubiosainz/demo-prep-assistant.git
cd demo-prep-assistant

2.安装依赖项

npm install

这将安装Electron、Express和dotenv——所有依赖项都列在 package.json.

3.登录Azure CLI

Work IQ使用Azure CLI会话进行身份验证。登录一次:

az login --allow-no-subscriptions

浏览器窗口将打开。使用您的账号登录 Microsoft 365工作/学校帐户。一旦通过身份验证,终端将确认您的帐户。

4.全局安装Work IQ(如果尚未安装)

npm install -g workiq

验证它是否可访问:

workiq --version

5.(可选)创建 .env 文件

.env 默认情况下,文件是必需的。如果要自定义Express服务器端口:

cp .env.example .env

编辑 .env 并设置 PORT=3000 (或您喜欢的任何端口)。Electron应用程序忽略了这一点,并自动选择一个随机端口。

运行应用程序

npm start

这将启动Electron桌面窗口。该应用程序将:

  1. 在随机端口上启动内部Express服务器
  2. 检查您的Azure CLI会话(az account show)
  3. 显示登录屏幕--单击 “使用Microsoft登录”az login 如有需要
  4. 通过身份验证后,将您最近的Teams会议加载到时间线侧栏中
  5. 单击任何会议→ 其完整记录显示在左侧面板中

开发模式

npm run dev

npm start 但通过 --dev 标记为Electron进行调试。

运作原理

┌─────────────────────────────────────────────────────────────┐
│                     Electron Main Process                    │
│  main.js — creates BrowserWindow, starts Express, IPC       │
├─────────────┬───────────────────────────────────────────────┤
│  preload.js │  contextBridge: getAuthStatus, login, logout  │
├─────────────┴───────────────────────────────────────────────┤
│                     Express API Server                       │
│  server.js — routes + static files on random port            │
├─────────────────────────────────────────────────────────────┤
│  auth/msalConfig.js    │  Azure CLI session management       │
│  lib/workiq.js         │  MCP JSON-RPC ↔ workiq mcp         │
│  routes/meetings.js    │  /api/meetings, /transcript, etc.   │
├─────────────────────────────────────────────────────────────┤
│                   Work IQ MCP Protocol                       │
│  Spawns `workiq mcp` → JSON-RPC initialize → tools/list     │
│  → tools/call (workiq_ask) → natural language answer         │
│  Auth handled internally by Work IQ (Entra ID / Azure CLI)  │
└─────────────────────────────────────────────────────────────┘

数据流

  1. npm start → 电子靴→ 在端口0上启动Express(随机)→ 打开浏览器窗口
  2. 应用程序检查是否 az account show 返回有效用户。如果没有,则显示登录覆盖。
  3. 加载会议GET /api/meetings → 生成 workiq mcp 子进程→ 发送一个JSON-RPC查询,以标记表的形式询问团队会议的最后7天
  4. 前端 解析markdown表 (主题、开始/结束日期、组织者)并呈现 每日时间表 每小时有时段
  5. 单击会议GET /api/meetings/transcript?subject=...&date=... → Work IQ获取完整的逐字记录(长时间会议超时10分钟)
  6. 前端解析扬声器线路(> Speaker: textSpeaker: text)并将其呈现为带有说话者标签的对话块

API终点

方法路径描述
GET/api/me检查身份验证状态(返回 { authenticated, name })
GET/api/meetings通过Work IQ获取最近团队会议(过去7天)
GET/api/meetings/transcript?subject=...&date=...获取特定会议的完整逐字记录
GET/api/meetings/insights?subject=...&date=...获取会议的AI摘要+行动项
POST/api/ask向Work IQ发送任何问题({ "question": "..." })
GET/auth/logout注销(清除Azure CLI会话)

项目结构

demo-prep-assistant/
├── main.js                    # Electron main process — window + IPC
├── preload.js                 # Secure bridge (contextBridge) for renderer
├── server.js                  # Express API server (started by Electron)
├── auth/
│   └── msalConfig.js          # Azure CLI auth: login, logout, status
├── lib/
│   └── workiq.js              # Work IQ MCP JSON-RPC client
├── routes/
│   ├── auth.js                # Legacy auth status/logout routes
│   └── meetings.js            # Meeting list, transcript, insights, ask
├── public/
│   ├── index.html             # App shell — split layout + login overlay
│   ├── css/
│   │   └── styles.css         # Fluent-inspired responsive styles
│   └── js/
│       └── app.js             # Frontend: timeline, transcript parser, UI
├── .env.example               # Optional config template
├── .gitignore                 # Excludes node_modules/ and .env
├── package.json               # Dependencies: electron, express, dotenv
└── README.md                  # This file

故障排除

“未通过身份验证”错误

请确保您已登录到Azure CLI:

az account show

如果未登录,请运行 az login --allow-no-subscriptions.

会议显示为“其他”,没有时间段

Work IQ有时会以意外的格式(unicode连字符、不同的日期布局)返回日期。该应用程序具有强大的日期解析功能,但如果解析失败,会议将以平面列表的形式出现在“其他”部分。它们仍然可以点击。

成绩单为空或已截断

  • Work IQ有内部内容政策,可能会限制长时间会议的成绩单输出。
  • 该应用程序对成绩单查询使用10分钟的超时。如果会议很长,查询可能仍然会超时。
  • 试着再次询问成绩单——不同跑步者的工作智商反应可能有所不同。

workiq 命令未找到

确保Work IQ在全球范围内安装:

npm install -g workiq
workiq --version

在Windows上,应用程序会查找 workiq.cmd%APPDATA%\npm\.

电子窗打不开

杀死所有挥之不去的Electron进程,然后重试:

# Windows
Get-Process -Name "electron*" | Stop-Process -Force

# macOS / Linux
pkill -f electron

然后运行 npm start 再一次。

许可证

私人项目——未获得重新分发许可。

目录标签

目录标签

JavaScript桌面应用自然语言处理会议管理本地部署转录服务AI洞察

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明session部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP