大数跨境

【GitHub每日速递 20260525】挖到宝!100%开源的Cal.diy:MIT许可无商业锁,自托管完全掌控你的日程调度

【GitHub每日速递 20260525】挖到宝!100%开源的Cal.diy:MIT许可无商业锁,自托管完全掌控你的日程调度 AI Tech研习社
2026-05-27
21

👉 详情请访问网站 http://www.github-ai.cn/

👉 网站实现解读,请前往 用两天搭出GitHub智能搜索工具:从构思到实现

 告别低效编程!我用RAGflow+MCP半天打造专属AI编程助手

【MCP学习教程】FastMCP框架—Tool工具实战详解

白嫖党狂喜!爆肝一下午搞定 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_SECRETCALENDSO_ENCRYPTION_KEYNEXT_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 installbun addbun 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学习资料,更多学习资源敬请期待。




#github


【声明】内容源于网络
0
0
AI Tech研习社
聚焦​​AI Agent技术研发与应用​​的深度学习社区,致力于打造​​从理论到产业落地的全链路知识平台​​,助力开发者、企业与研究者探索智能体的无限可能。
内容 145
粉丝 0
AI Tech研习社 聚焦​​AI Agent技术研发与应用​​的深度学习社区,致力于打造​​从理论到产业落地的全链路知识平台​​,助力开发者、企业与研究者探索智能体的无限可能。
总阅读451
粉丝0
内容145