👉 详情请访问网站 http://www.github-ai.cn/
👉 网站实现解读,请前往 用两天搭出GitHub智能搜索工具:从构思到实现

告别低效编程!我用RAGflow+MCP半天打造专属AI编程助手
白嫖党狂喜!爆肝一下午搞定 URL 转 HTML 幻灯片神器,ISlide 9900 资源点从此是路人
👉 欢迎评论点赞、关注、转发。

挖到宝!100%开源的Cal.diy:MIT许可无商业锁,自托管完全掌控你的日程调度
cal.diy 是一个开源的、可自托管的日程安排与会议调度工具。简单讲,它能帮你轻松创建个人日程链接,让别人一键预约你的可用时间,自动同步日历,避免时间冲突。适用人群:开发者、自由职业者、远程团队等需要高效安排会议的人群。
项目地址:https://github.com/calcom/cal.diy
主要语言:TypeScript
stars: 43.2k
项目概述
Cal.diy 是一个由社区驱动的完全开源的调度平台,它是 Cal.com 的一个分支,移除了所有企业/商业代码。该项目采用 100% MIT 许可,没有专有的“企业版”功能,适合想要完全控制自己调度基础设施且无商业依赖的个人和自托管者使用。需要注意的是,Cal.diy 是一个自托管项目,没有托管或管理版本,需用户在自己的基础设施上运行。
主要优势
-
无企业功能:移除了团队、组织、洞察、工作流、SSO/SAML 等企业版特有的功能。 -
无需许可证密钥:开箱即用,无需 Cal.com 账户或许可证。 -
完全开源:整个代码库都遵循 MIT 许可,没有“开放核心”的分割。 -
社区维护:欢迎贡献,贡献内容会直接进入该项目。
技术栈
-
Next.js -
tRPC -
React.js -
Tailwind CSS -
Prisma.io -
Daily.co
开发环境搭建
-
前提条件:需要 Node.js(版本 >=18.x)、PostgreSQL(版本 >=13.x),推荐使用 Yarn。若要启用可用的集成,可能需要为每个集成获取额外的凭证。 -
设置步骤 -
克隆仓库: git clone https://github.com/calcom/cal.diy.git(Windows 用户需在 Git Bash 中以管理员权限运行git clone -c core.symlinks=true https://github.com/calcom/cal.diy.git)。 -
进入项目文件夹: cd cal.diy。 -
安装依赖: yarn。 -
设置 .env文件:复制.env.example为.env,使用openssl rand -base64 32生成密钥并添加到NEXTAUTH_SECRET,使用openssl rand -base64 24生成密钥并添加到CALENDSO_ENCRYPTION_KEY。Windows 用户需替换packages/prisma/.env符号链接为真实副本。 -
设置 Node:若 Node 版本不满足要求,可使用 nvm管理版本,nvm use或nvm install && nvm use。 -
快速启动:使用 yarn dx可快速启动本地 Postgres 实例和一些测试用户,默认提供了不同角色的测试用户凭证,可在 http://localhost:3000 登录。 -
开发提示 -
可通过 export NODE_OPTIONS="--max-old-space-size=16384"增加 Node 进程的内存限制。 -
通过设置 NEXT_PUBLIC_LOGGER_LEVEL={level}控制日志详细程度,{level}可选值为 0 - 6。 -
Gitpod 设置:点击 Open in Gitpod 可在浏览器中打开一个完全配置好的工作区。 -
手动设置 -
配置 .env文件中的DATABASE_URL,可创建本地数据库或使用第三方服务(如 railway.app、Northflank、render)。 -
复制 DATABASE_URL到.env.appStore。 -
根据环境运行数据库迁移命令:开发环境使用 yarn workspace @calcom/prisma db-migrate,生产环境使用yarn workspace @calcom/prisma db-deploy。 -
运行 mailhog 查看开发期间发送的邮件。 -
启动开发模式: yarn dev。 -
设置第一个用户 -
方法一:使用 yarn db-studio打开 Prisma Studio,添加用户记录,加密密码后保存,然后在 http://localhost:3000 登录。 -
方法二:在 packages/prisma目录下运行yarn db-seed填充本地数据库。
端到端测试
确保设置 NEXTAUTH_URL 为正确值(本地运行时为 http://localhost:3000),使用 yarn test-e2e 进行测试,使用 yarn playwright show-report test-results/reports/playwright-html-report 打开最后一次的 HTML 报告。若遇到测试浏览器未安装的问题,可运行 npx playwright install 解决。
版本升级
-
拉取最新版本: git pull。 -
检查依赖变化: yarn。 -
根据环境运行数据库迁移命令。 -
检查 .env变量变化:yarn predev。 -
启动服务器:开发环境使用 yarn dev,生产环境使用yarn build和yarn start。
部署方式
-
Docker -
克隆仓库: git clone --recursive https://github.com/calcom/cal.diy.git。 -
进入目录: cd cal.diy。 -
准备配置:复制 .env.example为.env,生成并设置NEXTAUTH_SECRET、CALENDSO_ENCRYPTION_KEY、NEXT_PUBLIC_VAPID_PUBLIC_KEY和VAPID_PRIVATE_KEY。 -
可选:预拉取镜像: docker compose pull。 -
启动 Cal.diy:根据需求选择不同的启动命令,首次运行会有设置向导。 -
要求:确保服务器/系统安装了 docker和docker compose。 -
运行步骤 -
更新步骤:停止 Cal.diy 栈,拉取最新更改,更新环境变量,重新启动栈。 -
从源码构建:克隆仓库,设置 .env文件,根据情况配置数据库,构建并启动 Cal.diy。 -
配置:分为运行时变量和构建时变量,需根据要求设置。 -
故障排除:针对 SSL 边缘终止、用户创建失败、 CLIENT_FETCH_ERROR等问题提供了解决方法。 -
其他部署平台:支持 Railway、Northflank、Vercel、Render、Elestio 等平台,各平台有相应的部署按钮和相关文档。
内容安全策略
设置 CSP_POLICY="non-strict" 环境变量可启用 Strict CSP,但 style-src 中允许 unsafe-inline。目前严格 CSP 仅在登录页面启用,其他 SSR 页面以报告模式启用,SSG 页面尚不支持。
集成
提供了获取 Google API 凭证、Microsoft Graph 客户端 ID 和密钥、Zoom 客户端 ID 和密钥、Daily API 凭证、Basecamp 客户端 ID 和密钥、HubSpot 客户端 ID 和密钥、Webex 客户端 ID 和密钥、ZohoCRM 客户端 ID 和密钥、Zoho 日历客户端 ID 和密钥、Zoho Bigin 客户端 ID 和密钥、Pipedrive 客户端 ID 和密钥的详细步骤。还支持使用 Unkey 进行速率限制,可根据需要选择是否启用。
JS圈炸了!比Node.js快10倍的Bun火出圈:一站式搞定运行、打包、测试,内存直接省一半
[bun] 是一个 用Rust编写的高性能JavaScript运行时 的 工具。简单讲,它是一个比Node.js更快的JS执行环境,集成了打包、转译等功能。适用人群:前端开发者、追求性能优化的JavaScript/TypeScript工程师
项目地址:https://github.com/oven-sh/bun
主要语言:Rust
stars: 91.7k
核心功能
-
一体化工具包:Bun 是一个用于 JavaScript 和 TypeScript 应用的一体化工具包,以单个可执行文件 bun形式发布。 -
高性能运行时:其核心是 Bun 运行时,这是一个快速的 JavaScript 运行时,旨在作为 Node.js 的直接替代品。它用 Zig 编写,底层由 JavaScriptCore 驱动,能显著减少启动时间和内存使用。 -
内置工具丰富: bun命令行工具实现了测试运行器、脚本运行器和与 Node.js 兼容的包管理器,可替代众多node_modules,且内置工具比现有选项快很多,能在现有 Node.js 项目中使用,无需太多更改。
安装与升级
-
支持平台:支持 Linux(x64 和 arm64)、macOS(x64 和 Apple Silicon)和 Windows(x64 和 arm64)。Linux 用户建议内核版本 5.6 或更高,x64 用户若遇到“非法指令”等错误,需检查 CPU 要求。 -
安装方式:提供多种安装方式,如使用安装脚本(推荐)、npm、Homebrew、Docker 等。
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line# 安装脚本(推荐)curl -fsSL https://bun.com/install | bash# Windowspowershell -c "irm bun.sh/install.ps1 | iex"# npmnpm install -g bun# Homebrewbrew tap oven-sh/bunbrew install bun# Dockerdocker pull oven/bundocker run --rm --init --ulimit memlock=-1:-1 oven/bun
-
升级方式:升级到最新版本可运行 bun upgrade,升级到最新的 canary 版本可运行bun upgrade --canary。
功能模块
-
模板:提供 bun init和bun create命令,用于项目初始化和创建模板。 -
运行时:支持 bun run运行代码,涵盖文件类型处理、JSX 支持、环境变量管理、Bun API 和 Web API 等功能,还具备插件、热重载、模块解析、自动安装等特性。 -
包管理器:提供 bun install、bun add、bun remove等命令,支持全局缓存、工作区、生命周期脚本等功能。 -
打包器:通过 Bun.build进行打包,支持多种加载器、插件、宏,可生成单文件可执行文件,具备 CSS 处理、HTML 静态站点生成、热模块替换等功能。 -
测试运行器:使用 bun test运行测试,支持编写测试用例、生命周期钩子、模拟、快照测试等功能。 -
包运行器: bunx用于执行包。 -
API:提供丰富的 API,包括 HTTP 服务器、路由、错误处理、WebSocket、文件 I/O、数据库连接(SQLite、PostgreSQL、Redis)等。
优势
-
性能优越:启动时间短,内存使用少,能显著提升开发和运行效率。 -
功能集成:集多种工具于一身,减少开发过程中对多个工具的依赖。 -
兼容性好:与 Node.js 兼容,可在现有 Node.js 项目中轻松使用。
应用场景
-
Web 开发:可用于构建各种类型的 Web 应用,如前端框架(React、Vue 等)的开发和测试。 -
脚本编写:快速编写和运行 JavaScript 和 TypeScript 脚本。 -
服务器端开发:构建高性能的服务器端应用,如 HTTP 服务器、WebSocket 服务器等。 -
自动化测试:使用内置的测试运行器进行单元测试、集成测试等。
关注公众号,后台回复【OpenClaw完全使用手册】,领取OpenClaw完全使用手册.pdf学习资料,更多学习资源敬请期待。

