>_ DevTrendszh

语言

首页

语言

板块

前端 后端 移动端 DevOps AI / ML 游戏开发 区块链 嵌入式 安全
Go

IRIS — 终端自动补全的快速 Fig 替代方案

如果你曾在 macOS 终端中使用过 Fig 进行命令自动补全,你可能还记得 2024 年秋季的坏消息。该项目被关闭,相关工作被整合到 Amazon Q Developer 中,需要强制登录云端且界面笨重。

终端中的 IntelliSense 风格自动补全确实很有用。你很快就会习惯这种便利:开始输入一个工具名称,菜单就会弹出,显示参数、Git 分支或选项。

IRIS 项目作者决定从头重建这个概念。他们没有使用 Electron 和服务器依赖,而是创建了一个单一的 Go 二进制文件,直接在 TTY 中渲染弹出建议。

Ghostty terminal showcase

为什么 TTY 能改变一切

像 Fig 这样的传统图形覆盖层与特定的操作系统和图形终端紧密耦合。尝试将 Fig 的覆盖层转发到远程 Linux 服务器的 SSH 会话中,或在裸虚拟控制台中运行它——什么都行不通。

IRIS 采用了不同的方法。它直接注入终端输出(TTY),使其在各种环境中原生工作:

  • macOS 和 Linux 上的本地终端
  • 通过 SSH 的远程会话
  • tmux 内的会话
  • 没有图形界面的 Linux 虚拟控制台

在服务器上设置环境就像复制一个文件一样简单。无需为 Zsh 或 Fish 安装插件管理器,无需寻找主题,也无需下载数 GB 的依赖项。

内部结构和工作原理

IRIS 为你的别名和命令历史建立索引。当你开始输入时,该工具会从你的历史记录或命令规范中提取最相关的建议。

提供两种视觉样式:现代和经典。现代样式看起来更柔和,使用 Nerd Fonts 图标,而经典样式更简单,更接近传统的 TUI 界面。

Modern and Classic themes

一个突出的特点是神经网络支持。如果你想要上下文感知的建议,你可以在配置中启用 AI 提供商。开箱即用,它支持:

  1. Groq(通过云 API 工作,一个免费密钥即可)
  2. Ollama(适用于运行本地模型的用户,如 qwen2.5-coder

输入防抖由 debounce_ms 参数控制。如果你习惯快速打字,AI 不会在每次按键时都向你发送请求。

AI suggestions

配置文件使用简单的 TOML 结构,位于 ~/.config/iris/config.toml。更改会被即时获取,因此无需重启 shell。

[core]
mode = "last"
expand-alias = true

[ui]
style = "modern"
ghost-text = true
nerd-fonts = true

[ai]
enabled = false
provider = "ollama"

[ai.providers.ollama]
endpoint = "http://localhost:11434/v1/chat/completions"
model = "qwen2.5-coder"
timeout_ms = 5000

注意事项和安装提示

有多种方式可以安装该工具。AUR 有 iris-autocomplete 包,Homebrew 有 versenilvis/iris/iris formula。Nix Flakes 用户也可以找到预构建的包,以及 GitHub releases 中的常规 Debian .deb.rpm 包。

启动前,禁用你正在使用的任何现有自动补全插件。诸如 zsh-autosuggestionsatuin 之类的工具会拦截按键组合,并在屏幕上显示重复文本。

Windows 暂不支持。该操作系统的开发者需要在 WSL 内运行该工具。

菜单导航使用熟悉的快捷键:

  • Alt+1 — 隐藏或显示菜单
  • Alt+2 — 插入选定的命令
  • Alt+3 — 接受幽灵文本建议
  • Alt+4 — 切换模式(历史或规格)

在调试模式下,Alt+5 会记录你在控制台中输入的所有内容。提交错误报告时记住这一点,以避免意外泄露密码或私钥。

值得一试吗

如果你怀念 Fig,或者厌倦了在十几台服务器上配置相同的自动补全插件,IRIS 看起来是一个明智的选择。它不需要注册,轻量级,启动快速。

该项目采用 0BSD 许可证开源,这意味着代码可以完全免费用于任何用途。

相关项目