核心用法
Linear Todos 是一款以 Python 源码形式运行的 CLI 工具,通过调用 Linear 官方 GraphQL API 实现待办事项的创建、管理、提醒与归档。用户可通过 uv run python main.py 执行各类命令,主要功能包括:
- 智能创建:
create命令支持--when day|week|month相对日期或--date绝对日期(兼容自然语言如 "next Monday"、"in 3 days") - 优先级管理:五级优先级(Urgent/High/Normal/Low/None)映射 Linear 原生优先级
- 状态流转:
done完成任务,snooze智能延期 - 日回顾:
review命令按逾期/今日/高优/本周/本月/无日期六维度组织任务视图
显著优点
1. 自然语言日期解析:内置 dates.py 模块,支持口语化时间表达("tomorrow"、"in 2 weeks"),降低输入成本
2. 环境变量优先设计:LINEAR_API_KEY 可通过环境变量注入,避免配置文件残留敏感信息
3. 源码可审计:完整 Python 源码交付(api.py、cli.py 等),HTTPS 请求仅发往 api.linear.app,无第三方遥测
4. 配置层级清晰:默认 → 配置文件 → 环境变量 → CLI 参数,适应不同部署场景
潜在缺点与局限性
- API 密钥平文存储风险:若运行
setup命令,密钥以 0o600 权限写入~/.config/linear-todos/config.json平文 JSON,虽受限文件权限但仍属本地敏感信息暴露 - 源码执行依赖:需
uv包管理器及 Python 运行时,非独立二进制,环境配置成本高于纯可执行文件 - Linear 平台绑定:功能深度耦合 Linear 工作流,无 Jira/Notion/Asana 等竞品适配
- 无自动权限提升:
always: false设计意味着每次可能需手动确认,交互频次高时体验下降
适合人群
- 已使用 Linear 作为项目管理工具的技术团队
- 偏好 CLI 工作流、习惯终端操作的开发者
- 需要程序化批量创建/同步待办事项的自动化场景
- 对数据流向敏感、要求可审计代码的安全意识用户
常规风险
| 风险项 | 说明 | 缓解建议 |
|--------|------|----------|
| 密钥泄露 | 配置文件或环境变量被意外提交至代码仓库 | 使用专属 API key、gitignore 配置路径、优先环境变量注入 |
| 供应链攻击 | `uv` 或依赖包被篡改 | 锁定 `uv` 版本、校验 checksum、在隔离环境首次运行 |
| 误操作数据丢失 | `done`/`snooze` 直接修改 Linear 生产数据 | 操作前执行 `list` 确认、在低优先级测试团队验证 |
| 网络中间人 | HTTPS 请求被拦截(极低概率) | 校验 `api.linear.app` 证书、避免在不可信网络配置密钥 |