Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

allmonday/todoium

Open more actions menu

Repository files navigation

todoium

命令行树形 TODO 工具,支持 CLI 和 TUI 两种交互方式,内置番茄钟,支持 C/S 架构远程同步。

安装

需要 Python >= 3.10。

# 从 PyPI 安装
pip install todoium

# 或使用 pipx 隔离安装(推荐)
pipx install todoium

# 或使用 uv
uv tool install todoium

安装后 t 命令即可使用。

从源码安装(开发)

git clone https://github.com/allmonday/todoium.git
cd todoium
uv tool install .

# 代码改动后重新安装
uv cache clean todo_cli && uv tool install --force .

使用

t                        # 进入 TUI 交互界面
t -l                     # 树形列出所有任务
t -l --pending           # 仅未完成
t -l --done              # 仅已完成
t 任务内容                # 添加根任务
t 子任务 -p <id>         # 添加子任务
t -x <id>                # 切换完成状态
t --desc <id> -m "描述"  # 为任务添加描述

Server 模式

可以作为独立 HTTP 服务部署,供多端同步:

t --server --token <your-secret> --port 8000

远程连接

客户端通过配置文件 ~/.todoiumrc 或命令行参数连接远程 server:

# 命令行参数
t --remote https://your-server.com --token <token>

# 或写入配置文件 ~/.todoiumrc
remote=https://your-server.com
token=your-secret

也可以通过环境变量:TODO_REMOTE_URLTODO_REMOTE_TOKEN

TUI 快捷键

操作
j / k 上下移动
Space 切换完成状态(仅叶子节点)
h / l 折叠 / 展开
m 全部折叠 / 展开
a 添加根任务
o 添加同级任务
O 添加子任务
d 删除任务
q 退出

TUI 内置番茄钟功能(25 分钟专注 / 5 分钟休息 / 15 分钟长休息)。

数据存储

数据库文件默认 ~/.todo.db(SQLite,首次运行自动创建并执行迁移)。

可通过 --db 参数指定自定义路径:

t --db /path/to/my.db

开发

# 首次:初始化开发数据库
uv run alembic upgrade head

# 修改 ORM model 后生成迁移
uv run alembic revision --autogenerate -m "描述"
uv run alembic upgrade head

# 使用开发数据库运行
TODO_DB=dev.db uv run t

# 使用开发数据库运行(忽略 ~/.todoiumrc 中的 remote 配置)
TODO_DB=dev.db uv run t --remote ""

# 运行测试
uv run pytest

# 重置开发数据库
rm dev.db && uv run alembic upgrade head

About

todo in cli

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.