【开源软件】SimpleAI一款轻量级的桌面随身AI助手

今天推荐一款自己开发的开源软件 首先放链接 gitcode.com/qq_43025083... SimpleAI

你是否在为遇到一些小问题又不想浪费调用次数而烦恼?你是否遇到一些简单的问题而不想打开网页而忧心?👉simpleAI来了~

这是一个基于 pywebviewlangchain 构建的极简跨平台桌面AI应用,目的是用户可以在桌面快速利用快捷键调出桌面进行对话,且本应用预设了多个专业prompt,极度提高用户的对话体验。

截图

🚀 功能特性

  • 后台常驻运行: 应用在后台静默运行,不打扰您的工作流程。
  • 全局快捷键唤醒 : 随时随地通过自定义快捷键 (Ctrl+Shift+A 为默认) 召唤或隐藏主窗口。
  • 系统托盘管理 :
    • 应用图标会显示在系统托盘区,方便管理。
    • 右键菜单提供"显示/隐藏"、"设置"、"退出"等核心操作。
  • 窗口置顶: 主窗口总是在所有其他窗口之上,方便快速参考和交互。
  • 高度可配置 :
    • API 设置: 自由配置您的大语言模型名称、API Key 和 API Base URL。
    • 快捷键设置: 动态修改全局唤醒快捷键,无需重启。
    • 提示词管理 : 在设置界面中,可以轻松添加编辑删除自定义的AI角色(Prompts)。
  • 持久化聊天记录 : 对话历史会自动保存在本地的 chat_history.db (SQLite) 文件中,每个AI角色拥有独立的对话历史。

🛠️ 技术栈

  • 核心框架 :
    • pywebview: 用于将Web内容包装成桌面应用,并建立Python与JavaScript之间的双向通信。
    • langchain: 强大的语言模型框架,用于构建、管理和调用AI模型。
  • 后端 :
    • Python: 主要的后端逻辑语言。
    • pystray & Pillow: 实现系统托盘图标功能。
    • keyboard: 用于监听全局快捷键。
  • 前端 :
    • HTML / CSS / JavaScript: 构建用户界面和交互逻辑。
  • 数据库 :
    • SQLite: 轻量级的本地数据库,用于存储聊天历史。

🏃 如何运行

  1. 克隆项目

    bash 复制代码
    git clone https://github.com/Heyflyingpig/SimpleAI
    cd SimpleAI
  2. 安装依赖 项目依赖于一些Python库,你可以通过 pip 来安装它们:

    bash 复制代码
    pip install -r requirements.txt
  3. 配置 (首次运行) 首次运行前,请检查项目根目录下的 secrets.jsonprompts.json

    • secrets.json: 填入您的 API Key 等信息。
    • prompts.json: 您可以在此预先修改或添加提示词。 如果文件不存在,程序首次运行时会自动创建默认版本。
  4. 启动应用 一切准备就绪后,运行 main.py 即可启动应用:

    bash 复制代码
    python main.py

📖 使用指南

  1. 主窗口 : 启动后出现的主窗口是您的主要AI对话界面。您可以按 Ctrl+Enter 发送消息。
  2. 隐藏/显示: 点击窗口的关闭按钮或按快捷键,窗口会隐藏。再次按快捷键可重新显示。
  3. 系统托盘: 在电脑右下角找到应用图标。右键点击可进行设置或退出应用。
  4. 设置 :
    • API 设置: 配置连接AI模型所需的信息。
    • 快捷键设置: 点击输入框,然后按下您想设置的新快捷键组合,点击保存即可生效。
    • 提示词设置 :
      • 左侧是提示词列表,右侧是编辑区。
      • 点击列表中的项进行编辑。
      • 点击"清空表单"按钮可以进入新增模式。
      • 点击列表项右侧的"删除"按钮可删除自定义提示词(默认提示词无法删除)。

注意:如果您一开始没使用过该程序,一开始直接启动设置选项,需要修改api等相关设置,否则无法正常使用。

相关推荐
雨落倾城夏未凉36 分钟前
9.c++new申请二维数组
c++·后端
老顾聊技术38 分钟前
老顾深度解析【字节跳动的AI项目DeerFlow】源码之人工中断(四)
llm·agent
二闹39 分钟前
后端的请求体你选对了吗?
后端
lichenyang4531 小时前
Mongodb(文档数据库)的安装与使用(文档的增删改查)
后端
雨落倾城夏未凉1 小时前
8.被free回收的内存是立即返还给操作系统吗?为什么?
c++·后端
数新网络1 小时前
LevelDB 辅助工具类
后端
Code_Artist1 小时前
[Go]结构体实现接口类型静态校验——引用类型和指针之间的关系
后端·面试·go
onejason1 小时前
《利用 Python 爬虫获取 Amazon 商品详情实战指南》
前端·后端·python
雨落倾城夏未凉1 小时前
6.new和malloc的区别
c++·后端
程序员清风1 小时前
跳表的原理和时间复杂度,为什么还需要字典结构配合?
java·后端·面试