kiri icon

kiri

kiri 是一款基于 Go 的本地植物养护终端应用,使用 SQLite 管理浇水提醒、养护历史,并支持命令行输出植物状态。

kiri

概述

kiri 是一款基于 Go 的植物养护跟踪终端用户界面。它将植物数据保存在轻量级 SQLite 数据库中,并结合浇水提醒、养护历史以及面向室外植物的天气感知调整。

该应用既适合交互式使用,也适合脚本化使用。在终端中,它提供标签页导航、日历任务视图以及鼠标/键盘支持;在 TUI 之外,它还能为系统状态栏和自定义脚本输出植物状态或 JSON。

核心功能

交互式 TUI 仪表盘

在终端界面中通过标签页导航、卡片网格、月历任务视图以及鼠标/键盘控制来跟踪浇水需求。

动态含水模型

随时间估算湿度下降,而不是使用固定的每日下降值,因此植物状态会在护理事件之间平滑更新。

基于天气的浇水计算

对于室外植物,在有天气数据时,kiri 会结合季节变化、实时气温以及来自 Open-Meteo 的降水信息进行浇水计算。

日历与历史日志

在同一应用内规划未来的浇水任务,并按时间顺序查看过去的操作记录。

可脚本化的命令行输出

使用内置标志,例如 --status、--summary 和 --json,为脚本、终端状态栏以及其他非交互式工作流输出植物信息。

透明终端模式

以透明模式运行应用,避免背景终端填充,让它更自然地融入自定义终端主题或平铺式窗口管理器。

常见使用场景

  • 本地植物跟踪

    适合希望用终端方式跟踪浇水计划、历史和待办任务,而不将数据迁移到单独 Web 服务中的植物主人。

  • 基于天气的养护规划

    适合管理室外植物的人,他们希望浇水计算能响应温度和降水,而不是使用固定提醒计划。

  • 终端自动化与仪表盘

    适合偏好 Shell 工作流的用户,因为 kiri 可以为脚本和终端状态栏输出状态、摘要行或 JSON。

  • 快速试用与界面查看

    适合想快速评估界面的人,因为首次运行可以用演示植物填充数据库,并立即显示日历和图表。

  • 主题化终端配置

    适合重视终端主题或平铺式窗口管理器设置、并希望应用通过透明模式融入自定义布局的用户。

Pros and Cons

Pros

  • 将植物数据保存在本地 SQLite 中,而不是依赖远程账户或云数据库。
  • 同时支持可视化 TUI 工作流和用于脚本及状态栏的非交互式命令行输出。
  • 为室外植物提供基于天气的逻辑,同时仍支持室内植物和回退计算。
  • 内置日历和历史日志,帮助用户规划未来浇水并回顾过去的护理记录。

Cons

  • README 说明,从源码运行需要 Go 1.22 或更高版本。
  • 基于天气的计算依赖可用的 Open-Meteo 数据;当天气信息不可用时,kiri 会回退到可配置的温度值。
  • 部分安装路径仍在推进中,包括 README 路线图/说明中提到的 Homebrew 支持和官方 AUR 软件包。

FAQ

我可以在不先添加植物的情况下试用 kiri 吗?

是。README 将 kiri 描述为一款用于植物养护的本地 TUI 辅助工具,首次运行时可以自动填充演示植物,让你无需手动设置即可试用界面。

运行 kiri 需要什么?

README 说明 kiri 由 Go 构建,使用本地 SQLite 数据库,并且从源码运行时需要 Go 1.22 或更高版本。它还指出该应用面向现代终端模拟器。

kiri 可以在交互式 TUI 之外使用吗?

可以。kiri 支持内置输出标志,例如 --status、--summary 和 --json,适用于脚本以及 Waybar、Polybar、i3blocks 和 tmux 等系统状态栏。

kiri 的数据和设置存储在哪里?

可以。项目将植物数据本地存储在 ~/.config/kiri/data.db 中,配置存储在 ~/.config/kiri/settings.toml 中,备份也位于相同的 XDG 配置位置。

kiri 可以如何安装?

仓库说明中提到,Releases 页面提供独立二进制文件和 .deb 包。它还文档化了源码构建、Nix、Go install 以及基于 Makefile 的安装方式。

Quick Facts

类别
开发者工具
主要界面
终端用户界面(TUI)
数据存储
本地 SQLite 数据库
天气来源
Open-Meteo API
定价形态
托管在 GitHub 上的开源项目;GitHub 为公开仓库提供免费方案,并为团队和企业提供付费方案
仓库域名
github.com