The Intelligent Terminal Calendar for Hackers.
Blending Vim-like efficiency with the power of LLMs.
TermCal is a TUI (Terminal User Interface) planner that understands natural language. Stop fiddling with date pickers—just type what you need to do, and let the AI handle the rest.
- 🧠 Natural Language Input: Just type
Meeting tomorrow at 3pmorStudy Rust for 2 hours. The AI parses intent, time, and duration automatically. - 🤖 AI Auto-Scheduling: Have a backlog of tasks? Press
Aand the AI will intelligently fit them into your schedule based on your free slots. - ⚡ Vim-Inspired Workflow: purely keyboard-driven. Navigate with
j/k(or arrows), delete withd, complete withc. - 📜 Daily Inspiration: Starts every session with a unique, AI-curated quote (in any language) to keep you motivated.
- 📊 Real-time Dashboard: Track your daily workload and pending tasks at a glance.
- Rust & Cargo (Modern stable version)
- An API Key for Volcengine Ark (Doubao Model)
-
Clone the repository
git clone https://github.com/yourusername/TermCal.git cd TermCal -
Configure Environment Create a
.envfile in the root directory:touch .env
Add your API configuration:
ARK_API_KEY=your_api_key_here ARK_MODEL=doubao-seed-1-6-251015 # Optional ARK_API_BASE=https://ark.cn-beijing.volces.com/api/v3 # Optional
-
Run
cargo run --release
| Key | Action |
|---|---|
: |
Command Mode (Type natural language requests here) |
A |
AI Auto-Schedule (Arranges backlog tasks into today's empty slots) |
Tab |
Switch focus (Calendar ↔ Agenda) |
d |
Delete selected event/task |
c |
Toggle completion status |
↑ / ↓ |
Navigate timeline or dates |
q |
Quit and save |
- Core: Rust 🦀
- UI Engine: Ratatui
- AI Client: Reqwest + Serde (handling OpenAI-compatible API)
- Time: Chrono
MIT
Built with ❤️ in Rust.