| Crates.io | aion-seed |
| lib.rs | aion-seed |
| version | 0.1.0 |
| created_at | 2025-09-10 12:45:38.610743+00 |
| updated_at | 2025-09-10 12:45:38.610743+00 |
| description | A CLI TodoList tool written in Rust with task management, timed reminders, and background service support |
| homepage | https://github.com/Zephyruston/aion-seed |
| repository | https://github.com/Zephyruston/aion-seed |
| max_upload_size | |
| id | 1832476 |
| size | 120,994 |
「把未来种在当下」
Aion-Seed 是一个用 Rust 编写的命令行界面 (CLI) 待办事项列表 (TodoList) 工具。它提供了一个简单、高效且功能丰富的任务管理解决方案,特别适用于服务器环境和终端用户。
~/.aion-seed/tasks.json# 克隆仓库
git clone https://github.com/Zephyruston/aion-seed.git
cd aion-seed
# 编译项目
cargo build --release
# 安装到系统路径 (可选)
cargo install --path .
# 添加简单任务
aion-seed add "完成项目报告"
# 添加带截止时间的任务
aion-seed add "团队会议" -t "2025-09-11 09:00"
# 查看未完成的任务 (默认)
aion-seed list
# 查看所有任务 (包括已完成)
aion-seed list --all
# 只查看已完成的任务
aion-seed list --completed
# 标记任务为已完成
aion-seed edit <task-id> --done
# 标记任务为未完成
aion-seed edit <task-id> --undone
# 修改任务描述
aion-seed edit <task-id> -d "新的任务描述"
# 修改截止时间
aion-seed edit <task-id> -t "2025-09-12 10:00"
# 删除任务
aion-seed delete <task-id>
注意: <task-id> 可以是完整的 UUID 或前 8 个字符的简短 ID。
Aion-Seed 支持多种 Shell 的命令补全功能:
# 为 Bash 生成补全脚本
aion-seed completions bash
# 为 Zsh 生成补全脚本
aion-seed completions zsh
# 为 Fish 生成补全脚本
aion-seed completions fish
# 为 PowerShell 生成补全脚本
aion-seed completions powershell
# 为 Elvish 生成补全脚本
aion-seed completions elvish
要永久启用补全功能,请将生成的补全脚本添加到您的 Shell 配置中:
# 生成并保存补全脚本
aion-seed completions bash > ~/.aion-seed-completions.bash
# 在 ~/.bashrc 中添加以下行
source ~/.aion-seed-completions.bash
# 生成并保存补全脚本
aion-seed completions zsh > ~/.aion-seed-completions.zsh
# 在 ~/.zshrc 中添加以下行
source ~/.aion-seed-completions.zsh
# 生成补全脚本并保存到 Fish 的补全目录
aion-seed completions fish > ~/.config/fish/completions/aion-seed.fish
# 手动检查并显示过期任务
aion-seed check
# 安装开机自启动服务 (推荐先执行)
aion-seed service install
# 启动后台服务
aion-seed service start
# 停止后台服务
aion-seed service stop
# 查看服务状态
aion-seed service status
# 卸载开机自启动服务
aion-seed service uninstall
注意:
~/.config/systemd/user/)systemctl --user 命令直接管理服务任务数据存储在用户主目录下的 ~/.aion-seed/tasks.json 文件中。该文件包含所有任务的详细信息,包括:
Aion-Seed 的通知系统设计用于在无头服务器环境中工作:
~/.aion-seed/notifications.log 中记录通知历史# 添加一些任务
aion-seed add "检查服务器状态"
aion-seed add "备份数据库" -t "2025-09-11 02:00"
aion-seed add "更新系统补丁" -t "2025-09-12 01:00"
# 查看所有任务
aion-seed list
# 完成一个任务
aion-seed edit a1b2c3d4 --done
# 检查过期任务
aion-seed check
# 安装开机自启动服务
aion-seed service install
# 启动后台服务进行定时检查
aion-seed service start
# 查看服务运行状态
aion-seed service status
src/
├── main.rs # 主程序入口
├── cli.rs # CLI 命令定义
├── models.rs # 数据模型
├── storage.rs # 本地存储管理
├── commands.rs # 任务管理逻辑
└── service.rs # 后台服务和通知系统
clap: CLI 参数解析serde + serde_json: JSON 序列化/反序列化uuid: 唯一标识符生成chrono: 日期时间处理tokio: 异步运行时anyhow: 错误处理dirs: 系统目录获取tempfile: 测试中的临时文件管理本项目采用 MIT 许可证。详情请参阅 LICENSE 文件。
欢迎提交 Issue 和 Pull Request 来改进这个项目!
项目包含完整的测试套件:
cargo test --bin aion-seed
cargo test --test integration_tests
cargo test