Ollama的基于文本的终端客户端。
项目描述
oterm
是Ollama的基于文本的终端客户端。
功能
- 直观简单的终端UI,无需运行服务器、前端,只需在您的终端中键入
oterm
。 - 多个持久聊天会话,与系统提示和参数定制一起存储在sqlite中。
- 可以使用Ollama中拉取的任何模型,或您自己的定制模型。
- 允许轻松自定义模型的系统提示和参数。
- 支持工具集成,为模型提供外部信息。
安装
使用MacOS的brew
brew tap ggozad/formulas
brew install ggozad/formulas/oterm
使用Arch Linux的yay
(或任何AUR助手)
yay -S oterm
使用pip
pip install oterm
使用
为了使用oterm
,您需要运行Ollama服务器。默认情况下,它期望在http://127.0.0.1:11434
上找到Ollama API。如果您在Docker中运行Ollama或在不同主机/端口上运行,请使用环境变量OLLAMA_HOST
来自定义主机/端口。或者,您可以使用OLLAMA_URL
来指定完整的http(s) URL。将OTERM_VERIFY_SSL
设置为False
将禁用SSL验证。
OLLAMA_URL=http://host:port/api
要启动oterm
,请执行以下操作
oterm
命令
通过按^ Ctrl+p,您可以访问命令面板,在那里您可以执行大多数聊天操作。以下命令可用
新建聊天
- 创建新的聊天会话编辑聊天参数
- 编辑当前聊天会话(更改系统提示、参数或格式)重命名聊天
- 重命名当前聊天会话导出聊天
- 将当前聊天会话导出为Markdown格式删除聊天
- 删除当前聊天会话重新生成最后一个Ollama消息
- 重新生成Ollama的最后一个消息(将覆盖特定消息的seed
为随机值)。如果您想更改系统提示或参数,或者只是想再次尝试,这很有用。拉取模型
- 拉取一个模型或更新现有模型。
键盘快捷键
以下键盘快捷键受支持
-
^ Ctrl+t - 在暗色/亮色主题之间切换
-
^ Ctrl+q - 退出
-
^ Ctrl+l - 切换到多行输入模式
-
^ Ctrl+i - 选择一张图片与下一条消息一起发送
-
↑ - 在之前的提示历史中导航
-
^ Ctrl+Tab - 打开下一个聊天
-
^ Ctrl+Shift+Tab - 打开上一个聊天
在多行模式下,您可以按Enter发送消息,或按Shift+Enter在光标处添加新行。
当Ollama正在推断下一条消息时,您可以按Esc取消推断。
请注意,某些快捷键可能在特定上下文中无法正常工作,例如在多行模式下按↑。
工具
从版本0.6.0
开始,oterm
支持与工具集成。工具是特殊的“函数”,可以向LLM模型提供它原本无法访问的外部信息。
以下工具目前受支持
date_time
- 以ISO格式提供当前日期和时间。current_location
- 提供用户当前的位置(经度、纬度、城市、地区、国家)。使用ipinfo.io确定位置。current_weather
- 提供用户当前位置的当前天气。使用OpenWeatherMap确定天气。您需要在OPEN_WEATHER_MAP_API_KEY环境变量中提供您的(免费)API密钥。shell
- 允许您运行shell命令,并将输出用作模型的输入。显然这很危险,所以请谨慎使用。
Ollama中的工具API目前不支持流式传输。当使用工具时,您将不得不等待工具和模型完成,才能看到响应。
请注意,工具集成是实验性的
,未来可能会发生变化。我特别欢迎对新工具的贡献,但请记住,任何关于依赖项或付费API使用的额外要求应尽量保持最小。
复制/粘贴
在终端应用程序中正确支持复制/粘贴很困难。您可以将块复制到剪贴板,如下所示
- 点击一条消息会将其复制到剪贴板。
- 点击代码块只会将代码块复制到剪贴板。
对于大多数终端,存在一个您可以使用的键修饰符,用于单击和拖动以手动选择文本。例如
iTerm
Option 键。Gnome Terminal
Shift 键。Windows Terminal
Shift 键。
自定义模型
在创建新的聊天时,您不仅可以选择模型,还可以自定义system
指令、使用的工具
以及传递给模型的参数
(例如上下文长度、seed、温度等)。有关所有受支持参数的列表,请参阅Ollama文档。勾选JSON输出
复选框将强制模型以JSON格式回复。您已拉取或创建的所有模型都将对oterm
可用。
您还可以“编辑”聊天以更改系统提示、参数或格式。注意,一旦聊天开始,就无法更改模型。
聊天会话存储
您所有的聊天会话都存储在本地sqlite数据库中。您可以通过设置环境变量OTERM_DATA_DIR
来自定义数据库存储的目录。
您可以通过运行oterm --db
来找到数据库的位置。
应用程序配置
应用程序配置存储在针对您操作系统的特定目录中,默认情况下
- Linux:
~/.local/share/oterm/config.json
- macOS:
~/Library/Application Support/oterm/config.json
- Windows:
C:/Users/<USER>/AppData/Roaming/oterm/config.json
如果您不确定,可以通过运行oterm --data-dir
来获取config.json
所在的目录。
您可以在配置文件中设置以下选项
{ "theme": "dark", "splash-screen": true }
theme
可以是dark
或light
。splash-screen
控制启动时是否显示启动画面。
屏幕截图
许可证
本项目采用MIT许可证授权。
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分布
构建分布
oterm-0.6.4.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a5e305bbb21c66a90a702e0bdc056055d407da031f2aaede5de525c21fcc50dd |
|
MD5 | da2cc25e10884ff2c3f43ccb9dc1455e |
|
BLAKE2b-256 | 065bf86d5409843f46853b2ee06b90cd367130b70df1d54ff86eec7707544890 |
oterm-0.6.4-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ade095b69c58802f63ed750ec8848350304e5eaa11fdd6ad628c016cd50ce593 |
|
MD5 | f5bedf970827660c9f9cb3964de4f9f9 |
|
BLAKE2b-256 | ff4787afa579234e918918bde6f44ea58ca1601ce5e6bc9460ba73a46ad53d62 |