面向个人和 AI Agent 的轻量任务管理器。核心是通过 AI + MCP 管理个人任务,而不是把网页拖拽操作作为主要工作流。
公共服务:https://task.duojie.games
自托管:Docker 一条命令启动,数据保存在你自己的 SQLite 文件中。
- 面向个人管理:每个人管理自己的项目、版本、主任务和子任务;它不是团队协作套件。
- 版本生命周期清晰:创建 → 启动/锁定 → 完成 → 归档,适合阶段性交付。
- 智能排期:根据预计天数自动计算排期,并跳过周末和中国法定节假日。
- AI 交互优先:提供 REST API 和 MCP 工具,AI 助手可以直接创建、查询、推进和完成任务。
- 网页辅助查看:Web 界面用于查看任务状态、版本进度、排期和 Token 配置。
- 公共服务与自托管并存:可以直接使用
task.duojie.games,也可以部署到自己的服务器。 - 可自行扩展团队能力:如果需要团队流程、组织权限或多人协作,可以基于开源版本自行修改。
- 打开 task.duojie.games。
- 注册账号并创建项目。
- 创建版本和任务,或在设置页创建 Token 后接入 MCP。
公共服务适合快速开始和个人项目管理。如果你需要完全掌控数据,可以使用下面的 Docker 自托管方式;如果需要团队功能,需要基于项目自行扩展。
一条命令启动:
docker run -d --name oh-my-task \
-p 17173:17173 \
-v oh-my-task-data:/app/data \
ghcr.io/qq33357486/oh-my-task:latest使用 docker-compose.yml:
services:
oh-my-task:
image: ghcr.io/qq33357486/oh-my-task:latest
container_name: oh-my-task
ports:
- "17173:17173"
volumes:
- ./data:/app/data
environment:
- NODE_ENV=production
- DB_PATH=/app/data/data.db
restart: unless-stoppeddocker compose up -d访问 http://localhost:17173 打开 Web 界面。空库初始化时,首位注册用户会自动成为管理员。
# 安装依赖
npm install
cd web && npm install && cd ..
# 构建后端和前端
npm run build
cd web && npm run build && cd ..
# 启动统一服务
WEB_DIST_PATH=web/dist API_PORT=17173 npm startPowerShell:
$env:WEB_DIST_PATH = "web/dist"; $env:API_PORT = "17173"; npm start开发时也可以分别启动后端和 Vite:
npm run dev
cd web && npm run devVite 的 http://localhost:5173 仅用于前端热更新调试;正式入口、Docker 和功能 QA 都使用统一端口 17173。
在 Web 设置页创建 Token:右上角 → 设置 → 创建 Token。
oh-my-task 通过项目名称区分不同任务空间,推荐把 MCP 配置放在项目级文件中,例如 .cursor/mcp.json 或 .claude/mcp.json。
{
"mcpServers": {
"oh-my-task": {
"command": "npx",
"args": ["@qq33357486/oh-my-task"],
"env": {
"OMT_SERVER_URL": "https://task.duojie.games",
"OMT_TOKEN": "你的 Token",
"OMT_PROJECT_NAME": "当前项目名称"
}
}
}
}如果使用本地 Docker 服务,把 OMT_SERVER_URL 改为:
http://localhost:17173
| 工具 | 说明 |
|---|---|
init_project |
初始化项目 |
create_task |
创建任务 |
list_tasks |
列出任务 |
get_task |
获取任务详情 |
activate_task |
开始任务 |
complete_task |
完成任务 |
delete_task |
删除任务 |
create_version |
创建版本 |
list_versions |
列出版本 |
get_current_task |
获取当前进行中的主任务及子任务 |
auto_schedule |
自动排期并跳过节假日 |
创建版本:
创建版本 v1.0:用户系统
批量创建任务:
在 v1.0 下批量创建任务:
- 用户登录
- 登录表单
- 登录 API
- 商品列表
- 列表页面
推进任务:
开始做「用户登录功能」
「用户登录功能」做完了
当前在做什么?
自动排期:
给 v1.0 的任务自动排期,从下周一开始
| 变量 | 说明 | 默认值 |
|---|---|---|
API_PORT |
Web/API 统一服务端口 | 17173 |
DB_PATH |
SQLite 数据库路径 | ./data/data.db |
WEB_DIST_PATH |
前端构建产物目录 | web/dist |
FRONTEND_URL |
Vite 调试模式 CORS origin | http://localhost:5173 |
SESSION_SECRET |
Session 密钥 | omt-session-secret-change-in-production |
OMT_SERVER_URL |
MCP/API 服务地址 | http://localhost:17173 |
OMT_TOKEN |
MCP Bearer Token | 空 |
OMT_PROJECT_NAME |
MCP 默认项目名称 | 空 |
- 后端:Express.js + TypeScript + SQLite
- 前端:React 19 + Vite + TanStack Query + Tailwind CSS 4
- AI 交互:REST API + MCP stdio server
- 部署:Docker / Node.js 统一服务入口
