一个终端看板应用,灵感来自 Helix 编辑器的键位设计。

特别适合与 AI 协作:基于 Markdown 文件存储,一键复制任务内容(Y),快速将任务目录和内容分享给 AI 助手,让 AI 帮你规划和管理任务。

预览

Kanban TUI 截图

核心特性

  • 📁 基于文件存储 - Markdown + TOML,易于版本控制,AI 可直接读取项目目录
  • 📋 快速复制 - 一键复制任务到剪贴板 (Y),方便分享给 AI
  • 🪟 窗口管理 - 垂直/水平分屏、最大化,自动保存和恢复工作区布局
  • ⌨️ Helix 风格键位 - 符合直觉的键盘快捷键,命令模式支持
  • 🎯 多项目支持 - 全局项目 + 本地项目(.kanban/
  • 📝 编辑器集成 - 支持外部编辑器 (Vim/Neovim/VSCode/Helix 等)
  • 🔍 Markdown 预览 - 内置预览和外部预览工具支持

安装

从 crates.io 安装

cargo install helix-kanban

从源码构建

git clone https://github.com/menzil/helix-kanban.git
cd helix-kanban
cargo build --release

快速开始

首次运行会显示欢迎对话框,自动检测系统编辑器和 Markdown 预览器:

hxk

配置管理

查看当前配置:

hxk config show

设置编辑器:

hxk config editor nvim
hxk config editor "code --wait"

设置 Markdown 预览器:

hxk config viewer glow
hxk config viewer "open -a Marked 2"

键位绑定

基础导航

键位 功能
j /  下一个任务
k /  上一个任务
h /  左边的列
l /  右边的列
q 退出程序
ESC 取消/返回
: 命令模式
? 显示帮助
Space 打开命令菜单

任务操作

键位 功能
a 创建新任务
e 编辑任务标题
E 用外部编辑器编辑任务
v 预览任务(TUI 内)
V 用外部工具预览任务
d 删除任务
Y 复制任务到剪贴板
H 任务移到左列
L 任务移到右列
J 任务在列内下移
K 任务在列内上移

项目管理

键位 功能
n 新建本地项目 [L]
N 新建全局项目 [G]
Space f 快速切换项目
Space p o 打开项目
Space p n 创建新项目
Space p d 删除项目
Space p r 重命名项目
Space r 重新加载当前项目
Space R 重新加载所有项目

窗口管理

键位 功能
Space w w 下一个窗口
Space w v 垂直分屏
Space w s 水平分屏
Space w q 关闭窗口
Space w m 最大化/恢复窗口
Space w h 聚焦左面板
Space w l 聚焦右面板
Space w j 聚焦下面板
Space w k 聚焦上面板

命令模式

按 : 进入命令模式,支持的命令:

  • :q / :quit - 退出应用
  • :open / :po - 打开项目
  • :new / :pn - 创建新项目(全局)
  • :new-local / :pnl - 创建新项目(本地)
  • :add / :tn - 创建新任务
  • :edit / :te - 编辑任务
  • :view / :tv - 预览任务
  • :reload / :r / :refresh - 重新加载当前项目
  • :reload-all / :ra / :refresh-all - 重新加载所有项目
  • :vsplit / :sv - 垂直分屏
  • :hsplit / :sh - 水平分屏
  • :maximize / :max - 最大化/恢复窗口
  • :reset-layout - 重置窗口布局
  • :help / :h - 显示帮助

数据存储

全局项目

全局项目存储在用户主目录下:

~/.kanban/projects/

本地项目

在任何目录下按 n 创建本地项目,会在当前目录的 .kanban/ 下存储:

your-project/
├── .kanban/
│   └── kanban-project/
│       ├── .kanban.toml
│       ├── todo/
│       ├── doing/
│       └── done/
└── ... (你的其他文件)

项目结构

project-name/
├── .kanban.toml          # 项目配置
├── todo/                 # Todo 任务
│   ├── 001.md
│   └── 002.md
├── doing/                # 进行中任务
│   └── 003.md
└── done/                 # 完成的任务
    └── 004.md

任务文件格式

任务以 Markdown 格式存储:

# 任务标题

created: 2025-12-10T10:30:00+08:00
priority: high

任务的详细描述内容...

## 子任务

- [ ] 子任务 1
- [x] 子任务 2

配置文件

应用配置存储在:

~/.kanban/config.toml

配置示例:

editor = "nvim"
markdown_viewer = "glow"

# 隐藏的全局项目列表(软删除)
hidden_projects = ["old-project", "archived-project"]

状态自动保存

应用会自动保存窗口布局和工作状态,下次启动时恢复:

保存内容

  • 分屏结构(垂直/水平分割)
  • 每个面板打开的项目
  • 当前选中的列和任务
  • 聚焦的面板

保存位置~/.kanban/state.json

使用场景

  • 经常需要同时查看多个项目?设置好分屏布局后,下次启动自动恢复
  • 关闭应用后重新打开,无需重新配置窗口布局
  • Space w m 最大化窗口专注单个项目,需要时快速恢复多窗口视图

开发

# 运行开发版本
cargo run

# 运行测试
cargo test

# 构建 release 版本
cargo build --release

致谢

许可证

MIT OR Apache-2.0

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐