Skip to content

Latest commit

 

History

History
121 lines (91 loc) · 5.18 KB

README_CN.md

File metadata and controls

121 lines (91 loc) · 5.18 KB

Smartinput

License Releases Commit PR


We're rolling out the macOS app to Plus users starting today, and we will make it more broadly available in the coming weeks. We also plan to launch a Windows version later this year.

这是GPT-4o的介绍页面中关于桌面客户端的一段,当然没Linux任何事情...因此我决定尝试自己做一个!并且使其对更多的模型有更好的支持。其旨在在本地模型上运行,但是也兼容在线API。

Note

如无特殊说明,展示的所有视频或者图片均使用3060M移动端显卡,在ollama上运行llama3-8B,并且视频没有进行加速或倍速处理

新功能

  • 船新的显示窗口,流式显示输出并且能直接编辑最终文本(见GIF):

    New_window

  • 支持Windows(⚠️注意:Windows暂时仅支持监听剪切板)

    Win

  • 新增监听模式

    Select

  • 新增处理模式:直接处理/弹窗二次确认

    Go

功能

坐键点击窗口拖拽,中键点击窗口复制内容,右键点击窗口隐藏,托盘菜单进行模式切换。

目前仅实现了全局划线取词并翻译或解释,请看视频,注意视频中我将程序以及目标语言都设置为了英文:

2024-05-17.23-56-30.mp4

托盘图标 一个翻译的示范 代码解释

支持的模型

支持多种模型!只要模型的API与OpenAI格式兼容就能用,只要更改配置文件中APIKEYllm_modelendpoint就行。包括但不限于(加粗的是验证过的,虽然其他的理论上也没问题):

  • Ollama
  • Groq
  • Deepseek
  • OpenAI
  • 零一万物
  • 智谱
  • 月之暗面

当然,使用one-api接入的也完全支持。

配置

默认情况下配置文件会保存在$HOME/.config/Smartinput/config中。

  • APIKEY:密匙,默认情况下为空。
  • llm_model:模型名字,默认
  • max_tokens:模型单次回复的最大token,默认4000
  • temperature:模型的温度,默认为0.3
  • endpoint:模型请求
  • proxies:目前还没实现,只是放在这儿而已
  • timeout:请求超时时长,默认60秒
  • max_retry:最大重试次数,默认3次
  • font:使用的字体,默认为DejaVu Sans
  • font_size:使用的字号,默认为12
  • lang:检测的语言环境,第一次启动时会自动识别。你也可以在其后进行更改,软件界面和回答目标语言会遵循这个设置。

使用

Important

由于使用了xclip,其不支持读取wayland窗口中选中的文本!此外使用前请先安装xclip

Ubuntu/Debian:sudo apt install xclip

Arch/Manjaro:sudo pacman -S xclip

releases下载打包好的二进制文件,配置文件在首次运行后自动存放在$HOME/.config/Smartinput/config

Linux

解压后运行Refresh_Desktopfile.sh即可,会自动安装到系统桌面中

Windows

解压后运行main.exe即可

或者你也可以克隆源代码进行使用,请参照:

conda create -n smart_input python=3.12
conda activate smart_input
pip install -r requirements.txt
python main.py

TODO

  • 改进流畅度
  • 允许自定义提示词
  • 快捷键绑定
  • Wayland支持
  • 完成进一步问答界面
  • 利用RAG对文件进行读取

参考与学习

代码中参考了很多其他优秀项目中的设计,是这些项目给我了灵感以及思路,感谢无私的开发者们!顺序不分先后:

https://github.com/bianjp/popup-dict

https://github.com/binary-husky/gpt_academic