Repository navigation
Viff v0.1.2
中文
Viff 0.1.2 是一次功能更新:新增只读的 Project 文件浏览与 Quick Open、图片 diff、界面与等宽字体设置、系统状态区图标,界面支持中英双语;提交面板加入变更树复选框、可折叠的说明输入区,并可选让模型按 Conventional Commits 生成提交说明。Viff 仍然是一个原生 Go 程序,不捆绑 Electron 或浏览器运行时。
下载
- 项目主页
- macOS Apple Silicon · DMG
- macOS Intel · DMG
- Windows x64 · 安装 EXE
- Windows x64 · 便携 ZIP
- Linux x64 · DEB
- Linux x64 · 便携包
- SHA-256 校验值
- 全部下载文件
重点更新
这次更新的主线是把日常浏览与提交补完整:浏览工作区文件、直接看图片改动、用中文界面,以及更顺手的提交面板。
✨ 新功能
- Project 工具窗口:只读浏览工作区的已跟踪与未跟踪文件,按目录折叠、按路径过滤、按 Git 状态着色,⌘1 或左侧文件夹图标打开。
- Quick Open:⇧⌘O 按路径片段模糊匹配任意文件,回车在只读查看器中打开。
- 只读查看器支持用鼠标或键盘选择文本并复制。
- 图片 diff:PNG、JPEG、GIF 的改动并排显示图片、格式与像素尺寸,不再只显示“二进制文件不同”。
- 界面字体:设置里可选择界面使用的字体,保存后立即生效。
- 等宽字体:diff、控制台与提交哈希使用的等宽字体可以单独选择。
- 状态区图标:Viff 常驻系统状态区,点击图标把窗口带回前台,菜单里可以退出。
- 中英双语:设置 → General → Language 在英文与简体中文之间切换,默认英文,旧设置文件的行为不变。
- 变更树复选框:勾选单个文件、目录或整组,暂存、取消暂存、回滚、查看 diff 等批量操作作用于勾选的文件。
- 折叠提交说明:提交面板底部的说明区可一键折叠,把空间让给变更树,折叠状态在会话内保留。
- AI 生成提交说明:可选功能,按 Conventional Commits 生成,内置 OpenAI、Anthropic、DeepSeek、OpenRouter、Ollama 等预设,结果只填入输入框、不自动提交。
⚡ 改进
- 设置对话框分为 General、Git 与 AI 三页,AI 页可以填端点、密钥、模型并获取模型列表。
- 语言、界面字体与等宽字体保存在设置文件里,保存后立即生效。
🛠 修复
- 修复在设置里切换页面后,打开的下拉菜单没有关闭的问题。
- 修复变更文件计数把数量传了两次、显示成
6 files%!(EXTRA int=6)的问题。
升级说明
- 从 v0.1.1 升级:可以在应用内检查更新,也可以手动下载安装包;本次没有设置文件格式变化,旧设置直接沿用。
- macOS:按机型选择 Apple Silicon 或 Intel 的 DMG,退出旧版后打开 DMG,将 Viff.app 拖入“应用程序”并替换旧版。
- Windows:退出旧版后运行 x64 安装器;也可以解压便携 ZIP 后运行
viff.exe。 - Debian/Ubuntu:执行
sudo apt install ./viff-v0.1.2-linux-amd64.deb。 - Linux 便携包:解压后进入新目录执行
./viff,并自行安装所需系统库。 - Git 需单独安装并加入
PATH,Linux 系统库要求见发布指南。
兼容性与已知问题
- macOS 包要求 macOS 13 及以上,Apple Silicon 与 Intel 机型均可安装;Linux 需要可用的图形会话。
- macOS 应用使用 ad-hoc 签名,尚无 Developer ID 签名或公证;Windows 安装器尚无 Authenticode 签名,系统可能显示安全提示。
- 中英双语覆盖主要界面;Git 命令与输出、文件路径与哈希、快捷键、日志字段与诊断 issue 模板保持英文,少量相对时间提示(如“Moments ago”“Today 14:30”)仍是英文。
- AI 生成默认关闭;启用后会把当前改动的分支名、最近五条提交、变更文件与 diff 发送到你自己配置的端点,单文件最多 4000 字符、最多 8 个文件,跳过 lock 文件与二进制 diff,详见隐私说明。
- 应用内更新继续使用 HTTPS 与 SHA-256 校验,不做系统签名校验;下载来源是本项目 GitHub Releases。
- 输入法、外部编辑器与各类显卡环境仍需在实际桌面环境继续验收。
仅安装来自本项目发布页且已核对校验值的文件;若系统拦截,请先确认来源,再使用系统提供的允许打开选项。
English
Viff 0.1.2 is a feature release: a read-only project browser with Quick Open, picture diffs, interface and fixed-pitch font settings, a status-area icon, and an English/Chinese interface. The commit panel gains checkboxes in the changes tree, a collapsible message editor, and an optional model-written commit message following Conventional Commits. Viff remains a native Go application without Electron or a bundled browser runtime.
Downloads
- Project homepage
- macOS Apple Silicon · DMG
- macOS Intel · DMG
- Windows x64 · Setup EXE
- Windows x64 · Portable ZIP
- Linux x64 · DEB
- Linux x64 · Portable archive
- SHA-256 checksums
- All downloads
Highlights
The theme of this release is finishing the everyday browsing and committing paths: browsing working-tree files, seeing picture changes directly, using the interface in Chinese, and a smoother commit panel.
✨ New features
- Project tool window: browse tracked and untracked working-tree files read-only, folded by directory, filtered by path, and coloured by Git status; open it with ⌘1 or the folder icon in the left stripe.
- Quick Open: ⇧⌘O matches any file by path fragment and opens it in the read-only viewer.
- The read-only viewer supports selecting text with the mouse or keyboard and copying it.
- Picture diffs: PNG, JPEG and GIF changes show side by side with format and pixel dimensions instead of “binary files differ”.
- Interface font: choose the font the interface uses in Settings; it applies as soon as the dialog is saved.
- Fixed-pitch font: the family used by diffs, the console and commit hashes is chosen separately.
- Status-area icon: Viff stays in the system status area; pressing the icon brings the window forward and its menu can quit.
- English and Chinese: switch between them in Settings → General → Language; English is the default and existing settings files keep working.
- Changes-tree checkboxes: check a file, a directory or a whole group; stage, unstage, roll back and show diff act on the checked files.
- Collapsible commit message: the message area at the bottom of the commit panel folds away and gives its space to the changes tree; the state is kept for the session.
- AI commit message: optional, follows Conventional Commits, ships presets for OpenAI, Anthropic, DeepSeek, OpenRouter, Ollama and others, and only fills the message box without committing.
⚡ Improvements
- Settings is split into General, Git and AI pages; the AI page holds the endpoint, key, model and model discovery.
- Language, interface font and fixed-pitch font are stored in the settings file and take effect on save.
🛠 Fixes
- Fixed a dropdown staying open after switching pages in Settings.
- Fixed the changed-file count printing its number twice, as in
6 files%!(EXTRA int=6).
Upgrade instructions
- Upgrading from v0.1.1: check for updates inside the app or download a package; the settings file format is unchanged, so existing settings carry over.
- macOS: choose the Apple Silicon or Intel DMG, quit the old version, open the DMG, and replace Viff.app in Applications.
- Windows: quit the old version and run the x64 installer, or extract the portable ZIP and run
viff.exe. - Debian/Ubuntu: run
sudo apt install ./viff-v0.1.2-linux-amd64.deb. - Linux portable: extract the archive, enter its directory, and run
./viffafter installing the required system libraries. - Install Git separately on
PATH, and check the release guide for Linux dependencies.
Compatibility and known issues
- The macOS package requires macOS 13 or later on both Apple Silicon and Intel; Linux needs a working graphical session.
- The macOS app is ad-hoc signed without Developer ID signing or notarization, and the Windows installer is not Authenticode signed, so the operating system may show a security prompt.
- The bilingual interface covers the main windows; Git commands and output, paths and hashes, shortcuts, log fields and the diagnostics issue template stay English, and a few relative-time labels (“Moments ago”, “Today 14:30”) are still English.
- AI generation is off by default; when enabled it sends the branch name, the last five commits, the changed files and their diffs to the endpoint you configure, at most 4000 characters per file and 8 files, skipping lock files and binary diffs. See the privacy guide.
- In-app updates keep using HTTPS and SHA-256 rather than operating-system signature verification; downloads come from this project’s GitHub Releases.
- Input methods, external editors and graphics configurations still need acceptance on real desktops.
Install only files from this project's release page after checking their checksums; if blocked, verify the source before using the operating system's option to allow the app.
🙌 感谢贡献者
感谢 @1lck 与 @VedaChen 为本次发布作出的贡献。
🙌 Contributors
Thanks to @1lck and @VedaChen for contributing to this release.