Skip to content

Viff v0.1.2

Choose a tag to compare

@github-actions github-actions released this 05 Nov 12:59
· 47 commits to main since this release
d8c8360

中文

Viff 0.1.2 是一次功能更新:新增只读的 Project 文件浏览与 Quick Open、图片 diff、界面与等宽字体设置、系统状态区图标,界面支持中英双语;提交面板加入变更树复选框、可折叠的说明输入区,并可选让模型按 Conventional Commits 生成提交说明。Viff 仍然是一个原生 Go 程序,不捆绑 Electron 或浏览器运行时。

下载

重点更新

这次更新的主线是把日常浏览与提交补完整:浏览工作区文件、直接看图片改动、用中文界面,以及更顺手的提交面板。

✨ 新功能

  • 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

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 ./viff after 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.

Full changelog

🙌 感谢贡献者

感谢 @1lck 与 @VedaChen 为本次发布作出的贡献。

🙌 Contributors

Thanks to @1lck and @VedaChen for contributing to this release.