Lua在windows下的安装及环境配置实用指南
2026-09-05
2026-09-11 0
真正理解fluid-calendar,要从它处理的任务开始:面向任务调度和日历管理的开源应用,提供智能排期、日历集成与可配置工作流,目前仍处于积极开发阶段。实际做软件开发时,经常会碰到依赖、接口和异常处理往往比主路径更影响采用,所以功能列表并不能代替验证。落地前可以在隔离分支完成一个可回滚的小任务,用安装步骤、接口契约、测试结果和错误信息判断它是否真的省事。它对需要可检查开发流程而非单次演示的工程师更有价值,但正式采用前仍要复查许可证、近期提交和问题区回应。
FluidCalendar
Motion 的开源替代方案,专为智能任务调度和日历管理而设计。 FluidCalendar 通过智能调度功能、日历集成和可定制的工作流程帮助您掌控任务。
⚠ WARNING: ACTIVE DEVELOPMENT VERY BUGGY - REPORT BUGS AND BE PATIENT ✌ ⚠
该项目正在积极开发中,目前包含许多错误和不完整的功能。尚不建议用于生产用途。如果您遇到问题:
您的错误报告有助于使 FluidCalendar 变得更好!感谢您在我们努力稳定平台过程中的耐心和贡献。
关于
FluidCalendar 专为想要完全控制其调度工作流程的人员而设计。它结合了自动任务调度的强大功能和开源软件的灵活性。请阅读我的博客系列 的 [第 1 部分,了解有关旅程和动机的更多信息。
如果您觉得 FluidCalendar 有用,请考虑支持其开发。您的赞助有助于确保持续的维护和新功能。
通过成为赞助商,您:
赞助商
NitroClaw - 您自己的 OpenClaw 助手,零 服务器麻烦
在 2 分钟内部署专用 OpenClaw AI 助手。选择您的 LLM,连接 T@elegrimm,然后 开始聊天 - 我们处理所有基础设施。 $100/month 包含 50 美元的 AI 积分。
开始使用
尝试SaaS版本
不想自行托管?我们目前正在 FluidCalendar.com 上对我们的托管版本进行 Beta 测试。注册候补名单,成为首批体验智能日历管理未来的人之一,拥有开源版本的所有功能以及:
付费自托管评论
尝试自己运行 FluidCalendar 并卡在数据库、OAuth 回调 URLs、Google/Outlook 范围、Docker 或生产环境值上?
首先使用 自托管设置清单。如果您想要第二双眼睛,您可以花费 12 美元 购买重点设置评论:
获取 FluidCalendar 设置审核
结账时会要求您提供存储库、部署 URL 或设置说明以及主要阻止程序。审核是对您的公共设置详细信息的简短手动传递,以及要尝试的下一个具体修复。请勿发送机密或私人 OAuth 凭证。
特点
技术堆栈
先决条件
.nvmrc中指定的版本)docker-compose.yml 使用 PostgreSQL 16;如果您将 DATABASE_URL 指向您自己的数据库,则它必须是 PostgreSQL 15+)谷歌云设置
要启用 Google 日历集成:
创建一个项目:
启用所需的APIs:
配置 OAuth 同意屏幕:
openidemailhttps://www.googleapis.com/auth/calendarhttps://www.googleapis.com/auth/calendar.eventshttps://www.googleapis.com/auth/userinfo.emailhttps://www.googleapis.com/auth/tasks (用于 Google 任务同步)创建 OAuth 2.0 凭证:
http://localhost:3000(用于开发)http://localhost:3000/api/auth/callback/google(用于开发)http://localhost:3000/api/calendar/google(用于开发)https://your-domain.com/api/auth/callback/google(用于生产)https://your-domain.com/api/calendar/google(用于生产)这些与应用内 设置 > 系统 面板为您的部署显示的两个重定向 URIs 相同,因此应用程序和这些说明相匹配。将主机替换为您打开 FluidCalendar 的确切 URL 。
配置凭证:
GOOGLE_CLIENT_ID="your-client-id.apps.googleusercontent.com"
GOOGLE_CLIENT_SECRET="your-client-secret"
排查 Google 连接问题
如果 Google 在您连接时返回 Error 400: redirect_uri_mismatch 或“无效重定向”:
NEXTAUTH_URL 必须与您在浏览器中打开的公共 URL 匹配。 OAuth 重定向主机源自 NEXTAUTH_URL(不是 NEXT_PUBLIC_APP_URL)。如果 NEXTAUTH_URL 仍然是 http://localhost:3000,但您通过不同的 URL 访问应用程序,则 Google 会被发送回 localhost,并且连接失败。将 NEXTAUTH_URL 设置为确切的公共 URL 并重新启动应用程序。…/api/auth/callback/google 和 …/api/calendar/google(请参阅上面的步骤 4)。http://192.168.1.150:3000)或 .local 主机名作为重定向 URIs(“必须以公共顶级域结尾”)。对于本地开发使用localhost;否则将应用程序公开在公共域(反向代理或隧道)上,并在 NEXTAUTH_URL 和 Google 重定向 URIs 中使用该域。注意:对于生产部署,您需要:
微软 Outlook 设置
要启用 Outlook 日历集成:
创建 Azure AD 应用程序:
配置平台设置:
http://localhost:3000/api/calendar/outlook(用于开发)https://your-domain.com/api/calendar/outlook(用于生产)添加 API 权限:
Calendars.ReadWriteTasks.ReadWriteUser.Readoffline_access创建客户端秘密:
配置凭证:
AZURE_AD_CLIENT_ID="your-client-id"
AZURE_AD_CLIENT_SECRET="your-client-secret"
AZURE_AD_TENANT_ID="your-tenant-id-or-common"
注意:对于生产部署:
安装
Docker 快速入门(推荐)
在你的机器上安装 Docker
克隆存储库(或仅下载 docker-compose.yml 文件):
git clone https://github.com/dotnetfactory/fluid-calendar.git
cd fluid-calendar
复制示例环境文件并配置它:
cp .env.example .env
编辑 .env 文件并至少设置以下值:
DATABASE_URL=postgresql://fluid:fluid@db:5432/fluid_calendar
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=your-random-secret-key
运行应用程序:
docker compose up -d
访问 http://localhost:3000
就是这样!该应用程序将使用自动配置的 PostgreSQL 数据库运行。 docker-compose.yml 文件已配置为使用预构建的 Docker 映像。
关于端口的说明: 容器侦听
0.0.0.0:3000,docker-compose.yml通过environment: PORT=3000和HOSTNAME=0.0.0.0进行引脚固定。在.env中设置PORT或HOSTNAME将不会更改应用程序绑定的位置(撰写会覆盖它们) - 这可以避免应用程序绑定到与发布的端口或环回地址不同的端口或环回地址。要在不同的主机端口上提供服务,请更改docker-compose.yml中ports映射的主机端(例如"8080:3000"以使用http://localhost:8080)并更新NEXTAUTH_URL(以及其他面向浏览器的 URLs -NEXT_PUBLIC_APP_URL、NEXT_PUBLIC_SITE_URL)将您的.env中的 host/port 更改为相同的 host/port,因为应用程序从NEXTAUTH_URL派生其 OAuth 重定向 URLs;在:8080上浏览时将其保留在:3000上会破坏登录和日历身份验证。
对于开发人员
如果要开发FluidCalendar:
克隆存储库:
git clone https://github.com/dotnetfactory/fluid-calendar.git
cd fluid-calendar
启动开发环境:
docker compose -f docker-compose.yml up -d
访问 http://localhost:3000
开发环境包括:
有用的 Docker 命令
# View logs
docker compose logs -f
# Stop the application
docker compose down
# Update to the latest version
docker pull eibrahim/fluid-calendar:latest
docker compose up -d
# Reset database (caution: deletes all data)
docker compose down -v
docker compose up -d
# Access database CLI
docker compose exec db psql -U fluid -d fluid_calendar
环境设置
.env.example 复制到 .env:cp .env.example .env
DATABASE_URL:您的数据库连接字符串NEXTAUTH_URL:您的应用程序 URLNEXTAUTH_SECRET:会话加密的随机字符串注意:Google 凭据和日志记录设置可以通过“设置”>“系统”中的 UI 进行管理。如果未配置系统设置,环境变量将用作后备。
开始使用
首先,运行开发服务器:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
用浏览器打开 http://localhost:3000 查看结果。
需要专业帮助吗?
不想自己处理迁移?我们为您提供完整的定制服务,包括:
请访问 portfolio.elitecoders.co/openproject,了解有关我们的托管 OpenProject 迁移服务的更多信息。
关于
该项目由 EliteCoders 构建,这是一家专门从事定制软件解决方案的软件开发公司。如果您需要帮助:
请通过 [email protected] 联系我们或访问我们的网站 www.elitecoders.co。
SAAS 开发
FluidCalendar 可作为开源自托管解决方案和托管 SAAS 服务。开源版本包含所有核心功能,而 SAAS 版本则包含额外的高级功能。
开源与 SAAS 特性
| 特点 | 开源 | SAAS |
|---|---|---|
| 日历管理 | ✅ | ✅ |
| 任务管理 | ✅ | ✅ |
| 谷歌日历集成 | ✅ | ✅ |
| Outlook 日历集成 | ✅ | ✅ |
| CalDAV 集成 | ✅ | ✅ |
| 计费和订阅管理 | ❌ | ✅ |
SAAS 开发设置
如果您是 SAAS 版本的贡献者,请按照以下步骤设置您的开发环境:
克隆私有 SAAS 存储库:
git clone https://github.com/dotnetfactory/fluid-calendar-saas.git
在您的环境中启用 SAAS 功能:
# .env.local
ENABLE_SAAS_FEATURES=true
运行开发服务器:
npm run dev
在存储库之间同步更改
要将更改从私有 SAAS 存储库同步到公共开源存储库:
使用提供的同步脚本:
./scripts/sync-repos.sh /path/to/private/repo /path/to/public/repo
查看公共存储库中的更改
提交更改并将其推送到公共存储库