Repository navigation
Viff v0.3.0
中文
Viff 0.3.0 让 AI 生成的提交说明按你自己写的规则来,并记住窗口所在的位置,Update Project 也可以不再每次都问。
下载
- 项目主页
- macOS Apple Silicon · DMG
- macOS Intel · DMG
- Windows x64 · 安装 EXE
- Windows x64 · 便携 ZIP
- Linux x64 · DEB
- Linux x64 · 便携包
- SHA-256 校验值
- 全部下载文件
重点更新
这一版处理两处「每次都得重复一遍」的摩擦:提交说明的格式不再写死在程序里,窗口的位置也不再每次重开都丢掉。
✨ 新功能
- 提交信息规则:右键 AI 按钮可以按项目选择规则、新建或编辑规则文本,随时切回内置规则;规则保存在与设置同目录的 prompts.json 里。
- 记住窗口位置:窗口在哪个屏幕、哪个位置关闭,下次就在那里打开。
- Update Project 不再询问:更新对话框新增「不再询问」,勾选后快捷键按上次记住的方式直接更新,并通知用了哪个远端、哪种方式。
⚡ 改进
- AI 按钮的提示会显示当前生效的规则名;右键菜单里还有一个默认开启的「生成前先确认」开关,发送 diff 前先问一次。
- 自定义规则生效时,发给模型的上下文把最近提交标为命名参考,不再当作格式范例,避免历史提交盖过你写的规则。
- 设置 → Git 页新增「询问更新方式」,作为勾选「不再询问」之后的撤销入口。
升级说明
- 从 v0.2.x 升级:可以在应用内检查更新,也可以手动下载安装包;设置文件仍是同一格式版本,旧设置直接沿用。
- macOS:按机型选择 Apple Silicon 或 Intel 的 DMG,退出旧版后打开 DMG,将 Viff.app 拖入“应用程序”并替换旧版。
- Windows:退出旧版后运行 x64 安装器;也可以解压便携 ZIP 后运行
viff.exe。 - Windows 便携包:解压后进入新目录执行
viff.exe,不写入安装信息。 - Debian/Ubuntu:执行
sudo apt install ./viff-v0.3.0-linux-amd64.deb。 - Linux 便携包:解压后进入新目录执行
./viff,并自行安装所需系统库。 - Git 需单独安装并加入
PATH,Linux 系统库要求见发布指南。
兼容性与已知问题
- macOS 包要求 macOS 13 及以上,Apple Silicon 与 Intel 机型均可安装;Linux 需要可用的图形会话。
- macOS 应用使用 ad-hoc 签名,尚无 Developer ID 签名或公证;Windows 安装器尚无 Authenticode 签名,系统可能显示安全提示。
- 窗口位置只记录普通窗口几何:最大化状态不单独保存,副屏拔掉后由平台把窗口回退到主屏可见区域。
- 勾选「不再询问」后,Update Project 按记住的方式直接执行 pull,属于写操作;需要恢复询问时到设置 → Git 页打开「询问更新方式」。
- AI 生成提交说明仍默认关闭;启用后会把分支名、最近五条提交、变更文件、diff 以及你写的规则文本发送到你自己配置的端点,边界见隐私说明。
- 自定义规则不做校验:模型回答原样填入提交框,程序不解析结构、不静默改写,空回答仍报错。
- 撤销只在当前会话、当前仓库生效,保留最近 20 条,也没有 redo。
- 网页链接不登录、不调用服务 API;Git LFS 只检测不管理;Copy for AI 只写系统剪贴板。
- 中英双语覆盖主要界面;Git 命令与输出、文件路径与哈希、快捷键、日志字段与诊断 issue 模板保持英文。
- 应用内更新继续使用 HTTPS 与 SHA-256 校验,不做系统签名校验;下载来源是本项目 GitHub Releases。
- 输入法、外部编辑器与各类显卡环境仍需在实际桌面环境继续验收。
仅安装来自本项目发布页且已核对校验值的文件;若系统拦截,请先确认来源,再使用系统提供的允许打开选项。
English
Viff 0.3.0 lets the AI commit message follow rules you write, remembers where the window was, and stops asking about Update Project every time.
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
This release removes two frictions that had to be repeated every time: the shape of a commit message is no longer hardcoded in the program, and the window position is no longer lost on every start.
✨ New features
- Commit message rules: right-click the AI button to choose the rules a repository uses, write or edit your own rules text, and switch back to the built-in rules at any time; the rules live in prompts.json next to the settings file.
- Remembered window position: Viff reopens on the screen and at the position where it was closed.
- Update Project without a question: the update dialog gains "Do not ask again"; once ticked, the shortcut updates the way it last remembered and reports which remote and which mode it used.
⚡ Improvements
- The AI button's tooltip names the rule in use, and its context menu carries an "Ask before generating" switch, on by default, that asks once before the diff is sent.
- With custom rules, the context sent to the model labels recent commits as naming reference instead of format examples, so the history does not outweigh your own rules.
- Settings → Git gains "Ask how to update", the way back after ticking "Do not ask again".
Upgrade instructions
- Upgrading from v0.2.x: check for updates inside the app or download a package; the settings file is still the same format version, 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. - Windows portable: extract the archive, enter its directory, and run
viff.exe; no installation information is written. - Debian/Ubuntu: run
sudo apt install ./viff-v0.3.0-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 window position covers normal window geometry only: the maximized state is not stored separately, and when a secondary display goes away the platform moves the window back onto the main display.
- After ticking "Do not ask again", Update Project runs the remembered pull directly, which is a write; to get the question back, open "Ask how to update" on the settings Git page.
- AI commit messages remain off by default; when enabled, they send the branch name, the last five commits, the changed files, their diffs and the rules text you wrote to the endpoint you configure. See the privacy guide.
- Custom rules are not validated: the model's answer goes into the commit box as it is, Viff does not parse the structure or silently rewrite it, and an empty answer is still an error.
- Undo is limited to the current session and repository, keeps the last 20 entries, and has no redo.
- Web links never sign in or call a service API; Git LFS is detected but not managed; Copy for AI writes to the system clipboard only.
- English and Simplified Chinese cover the main windows; Git commands and output, paths and hashes, shortcuts, log fields and the diagnostics issue template stay English.
- 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.