一个基于Electron + React + TypeScript的PC端LLM语音助手,支持全局快捷键呼出、LLM对话、MCP工具调用和语音交互。
- 🎯 全局快捷键 - 支持自定义快捷键快速呼出 (默认: Ctrl+Q)
- 🗣️ 语音交互 - 基于Web Speech API的语音输入识别和文字转语音
- 🔧 MCP工具 - 集成系统工具、媒体控制、应用管理
- 🎨 现代化UI - 基于shadcn/ui的优雅界面
- 🔌 插件扩展 - 支持动态加载插件
- ⚡ 高性能 - Node.js后端确保系统级性能
- 框架: React 18 + TypeScript 5.x
- UI库: shadcn/ui (基于Radix UI + Tailwind CSS)
- 状态管理: Zustand
- 动画: Framer Motion
- 构建工具: Vite
- 框架: Electron 37.x
- 系统交互: Node.js系统API
- 全局快捷键: Electron globalShortcut
- MCP协议: Node.js MCP服务器实现
- Node.js 18+
- npm 8+
npm install# 启动开发服务器
npm run electron:dev
# 仅启动前端开发服务器
npm run dev# 构建生产版本
npm run electron:build
# 打包为目录
npm run electron:packlingxi/
├── electron/ # Electron主进程
│ ├── main.ts # 主进程入口
│ ├── preload/ # 预加载脚本
│ ├── mcp/ # MCP实现
│ └── tools/ # 系统工具
├── src/ # 前端源码
│ ├── components/ # React组件
│ │ ├── ui/ # shadcn/ui组件
│ │ ├── chat/ # 对话组件
│ │ ├── voice/ # 语音组件
│ │ └── settings/ # 设置组件
│ ├── hooks/ # 自定义Hooks
│ ├── stores/ # 状态管理
│ ├── services/ # API服务
│ ├── utils/ # 工具函数
│ └── styles/ # 样式文件
├── public/ # 静态资源
└── docs/ # 项目文档
system_screenshot- 屏幕截图system_file- 文件操作system_info- 系统信息system_command- 系统命令执行
system_media- 系统级媒体控制
app_launch- 应用启动和切换window_manage- 窗口管理
配置文件通过Electron存储,包含以下配置项:
{
"general": {
"theme": "dark",
"language": "zh-CN",
"autoStart": true
},
"hotkeys": {
"toggle": "CmdOrCtrl+Q"
},
"llm": {
"provider": "siliconflow",
"apiKey": "your-api-key",
"model": "Qwen/Qwen3-7B",
"baseURL": "https://api.siliconflow.cn/v1"
},
"voice": {
"inputDevice": "default",
"outputDevice": "default",
"language": "zh-CN"
},
"mcp": {
"servers": [
{
"name": "filesystem",
"command": "npx",
"args": ["@modelcontextprotocol/server-filesystem", "/path/to/allowed/directory"]
}
]
}
}- 在
electron/mcp/server.ts中扩展功能 - 实现新的工具调用逻辑
- 在前端添加对应的UI组件
在 electron/tools/system.ts 中添加新的系统交互功能
- Windows:
.exe安装包 - macOS:
.dmg安装包 - Linux:
.AppImage和.deb包
- 应用ID:
com.lingxi.app - 产品名称: 灵犀
- 窗口大小: 400x600 (最小300x400)
- 透明窗口支持
- 系统托盘集成
- 全局快捷键: Ctrl+Q
欢迎提交Issue和Pull Request!
- Fork 本仓库
- 创建功能分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
本项目采用 MIT 许可证 - 查看 LICENSE 了解更多信息。