FlowTask

一个全面的任务管理平台,具有GitHub/Slack集成、通过MCP的AI代理功能和公共共享视图。采用Bun制造,性能超快。
特性
- 用看板图.具有可自定义状态的拖放任务管理。
- 智能视图.创建具有复杂查询条件的筛选视图。
- 公共共享。使用可选密码保护公开共享视图。
- GitHub集成.从GitHub issues/PR到FlowTask任务的单向同步。
- Slack集成。任务更新时从FlowTask到Slack频道的单向通知。
- AI代理.MCP服务器,配备AI驱动的任务管理工具。
- 实时更新原生Bun WebSocket+Redis发布/订阅,用于即时同步。
- 多工作空间.使用RBAC跨多个工作区组织项目。
技术栈
| 层 | 技术 |
|---|---|
| 运行时间 | 包子 |
| 前端 | React+TypeScript+Vite+顺风CSS |
| 后端 | Hono(在Bun上运行) |
| 数据库 | PostgreSQL+Drizzle ORM |
| 缓存/队列 | Redis |
| 身份验证 | 更好的身份验证 |
| 实时 | Bun WebSockets+Redis发布/订阅 |
先决条件
- 包子 1.1+ (https://bun.sh)
- 码头工人 和 Docker Compose (用于数据库)
- Git
______________________________________________________________________
开发设置
macOS/Linux
- 安装Bun (如果未安装)
curl -fsSL https://bun.sh/install | bash- 克隆存储库
git clone https://github.com/flowful-ai/tasksflow.git
cd tasksflow- 安装依赖项
bun install- 设置环境变量
cp .env.example .env编辑 .env 并配置:
# Database
DATABASE_URL=postgresql://flowtask:flowtask@localhost:5432/flowtask
# Redis
REDIS_URL=redis://localhost:6379
# Auth
BETTER_AUTH_SECRET=your-secret-key-min-32-chars
BETTER_AUTH_URL=http://localhost:3001
# Optional: OAuth providers
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
# Optional: Integrations
GITHUB_APP_ID=
GITHUB_APP_PRIVATE_KEY=
GITHUB_WEBHOOK_SECRET=
SLACK_BOT_TOKEN=
SLACK_SIGNING_SECRET=
# Optional: AI
OPENROUTER_API_KEY=
ENCRYPTION_KEY=your-32-byte-encryption-key- 启动基础设施服务
docker-compose up -d这将启动PostgreSQL、Redis和MinIO(S3兼容存储)。
- 运行数据库迁移
bun run db:generate
bun run db:migrate- 启动开发服务器
bun run dev- API服务器:http://localhost:3001 - WebSocket服务器:ws://localhost:3002/ws - Web应用程序:http://localhost:5173
视窗
- 安装Bun
powershell -c "irm bun.sh/install.ps1 | iex"或者使用WSL2(建议使用以获得最佳兼容性):
# In WSL2
curl -fsSL https://bun.sh/install | bash- 安装Docker桌面
- 下载自https://www.docker.com/products/docker-desktop/ - 在Docker桌面设置中启用WSL2后端
- 克隆和设置
git clone https://github.com/flowful-ai/tasksflow.git
cd tasksflow
bun install- 设置环境变量
copy .env.example .env编辑 .env 使用您喜欢的文本编辑器(与macOS/Linux相同的变量)。
- 启动基础设施服务
docker-compose up -d- 运行数据库迁移
bun run db:generate
bun run db:migrate- 启动开发服务器
bun run dev有用的开发命令
# Start all services in dev mode
bun run dev
# Start only the API
bun run --filter @flowtask/api dev
# Start only the web app
bun run --filter @flowtask/web dev
# Build all packages
bun run build
# Run type checking
bun run typecheck
# Run linting
bun run lint
# Generate new migration after schema changes
bun run db:generate
# Apply migrations
bun run db:migrate
# Open Drizzle Studio (database GUI)
bun run db:studio
# View logs from Docker services
docker-compose logs -f直接数据库访问
为了调试或运行即席查询,您可以直接对PostgreSQL容器执行SQL:
# Run a single SQL query
docker exec -i flowtask-postgres psql -U flowtask -d flowtask -c "SELECT * FROM users;"
# Run multiple queries
docker exec -i flowtask-postgres psql -U flowtask -d flowtask -c "
SELECT u.email,
CASE WHEN a.id IS NOT NULL THEN 'Yes' ELSE 'No' END as has_account
FROM users u
LEFT JOIN accounts a ON u.id = a.user_id;
"
# Open an interactive PostgreSQL shell
docker exec -it flowtask-postgres psql -U flowtask -d flowtask
# Execute SQL from a file
docker exec -i flowtask-postgres psql -U flowtask -d flowtask `)加上工具范围(`mcp:tool:create_task`, `mcp:tool:add_comment`等等)。
1. 仅限工作区 `owner` 和 `admin` 角色可以批准MCP OAuth访问。
1. MCP工具通过以下方式发现 `tools/list` (不是通过 `list_resources`).
______________________________________________________________________
## 贡献
1. 分叉存储库
1. 创建要素分支: `git checkout -b feature/my-feature`
1. 进行更改
1. 运行测试: `bun test`
1. 承诺: `git commit -m "Add my feature"`
1. 推: `git push origin feature/my-feature`
1. 打开拉取请求
______________________________________________________________________
## 许可证
MIT许可证。看 [许可证](LICENSE) 了解详情。