Skip to content

slowpot/project-lingxi

Repository files navigation

灵犀 (LingXi) - LLM语音助手

灵犀Logo

一个基于Electron + React + TypeScript的PC端LLM语音助手,支持全局快捷键呼出、LLM对话、MCP工具调用和语音交互。

GitHub Release GitHub Issues GitHub License

功能特性

  • 🎯 全局快捷键 - 支持自定义快捷键快速呼出 (默认: 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:pack

项目结构

lingxi/
├── 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/              # 项目文档

MCP工具

系统工具

  • 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"]
      }
    ]
  }
}

开发指南

添加新的MCP工具

  1. electron/mcp/server.ts 中扩展功能
  2. 实现新的工具调用逻辑
  3. 在前端添加对应的UI组件

系统工具扩展

electron/tools/system.ts 中添加新的系统交互功能

构建配置

平台支持

  • Windows: .exe 安装包
  • macOS: .dmg 安装包
  • Linux: .AppImage.deb

构建配置

  • 应用ID: com.lingxi.app
  • 产品名称: 灵犀
  • 窗口大小: 400x600 (最小300x400)
  • 透明窗口支持
  • 系统托盘集成
  • 全局快捷键: Ctrl+Q

贡献

欢迎提交Issue和Pull Request!

  1. Fork 本仓库
  2. 创建功能分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启 Pull Request

许可证

本项目采用 MIT 许可证 - 查看 LICENSE 了解更多信息。

联系方式

项目链接: https://github.com/your-username/lingxi

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors