桌面软件 活跃维护

colanode

colanode/colanode

开源和本地优先的 Slack 和 Notion 替代品,让你掌控自己的数据

5162
Stars 标星
327
Forks 分支
28
Watchers 关注
47
Open Issues
TypeScript
主要语言
Apache-2.0
开源协议
77.2 MB
仓库大小
6 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:colanode/colanode
git clone https://github.com/colanode/colanode.git
git clone git@github.com:colanode/colanode.git
README.md main

英文原文正文为项目原始 README(英文),本站后续会翻译为中文,当前仅剔除图片与无关章节并统一排版。

科拉诺德

开源且以本地优先的协作工作空间,可自行托管

Colanode 是一个一体化平台,便于轻松协作,旨在优先保障您的数据隐私和控制。采用本地优先的设计,它帮助团队进行沟通、组织和项目管理——无论在线还是离线。使用 Colanode,您可以享受现代协作工具的灵活性,同时拥有数据自主权带来的安心。

使用 Colanode 可以做什么?

  • 实时聊天: 通过即时消息保持团队和个人的联系。
  • 富文本页面: 使用直观的编辑器创建文档、维基和笔记,类似于 Notion。
  • 可自定义数据库: 通过结构化数据、自定义字段和动态视图(表格、看板、日历)组织信息。
  • 文件管理: 在安全工作空间内轻松存储、共享和管理文件。

Colanode 适用于个人和团队,无论您是在进行小型项目管理、管理团队,还是跨整个组织协作,它都能适应您的需求。通过自托管模式,您在享受功能丰富且完善体验的同时,仍然完全掌控自己的数据。

工作原理

Colanode 包括一个客户端应用程序(网页或桌面)和一个自托管服务器。你可以用一个应用程序连接多个服务器,每个服务器可以包含一个或多个 工作区,用于不同的团队或项目。登录后,你选择一个工作区开始协作——发送消息、编辑页面或更新数据库记录。

以本地为先的工作流程

你所做的所有更改首先会保存到本地 SQLite 数据库,然后同步到服务器。一个后台进程负责这个同步,因此即使你的计算机或服务器离线,你也可以继续工作。数据读取也在本地进行,确保能够立即访问你有权限查看的内容。

并发编辑

Colanode 依赖 无冲突复制数据类型 (CRDTs) —— 由 Yjs 提供支持 —— 来允许在页面或数据库记录等条目上进行实时协作。这意味着多人可以同时编辑,系统会优雅地合并每个人的更新。删除操作也会作为特殊事务进行跟踪。消息和文件操作不支持并发编辑,使用更简单的数据库表。

免费开始

使用 Colanode 最简单的方法是通过我们的网页应用,可立即访问 app.colanode.com。只需登录即可立即开始,无需安装。请注意,网页应用目前处于早期预览和测试阶段;在某些浏览器中您可能会遇到错误或兼容性问题。

为了获得最佳性能,您可以安装我们的桌面应用,可从我们的下载页面获取。网页应用和桌面应用都允许您连接到我们任何免费的 Beta 云服务器:

  • Colanode 云(欧盟) – 托管于欧洲。
  • Colanode 云(美国) – 托管于美国。

两台云服务器目前均处于 Beta 状态且免费使用;价格详情将很快公布。

自托管

如果您希望自行托管 Colanode 服务器,请查看 hosting/ 文件夹,其中包含 Docker Compose 文件和部署配置。对于 Kubernetes 部署,请查看 hosting/kubernetes/ 文件夹,其中包含 Helm Charts 和附加文档。以下是自行运行 Colanode 所需的内容:

  • Postgres,附带 pgvector 扩展。
  • Redis(任何兼容 Redis 的服务均可,例如 Valkey)。
  • 用户文件的存储后端。Colanode 默认使用本地文件系统存储,但您可以通过设置 STORAGE_TYPE 切换为 S3 兼容、Google 云存储 或 Azure Blob 存储 后端。
  • 提供为 Docker 镜像的 Colanode 服务器 API。

配置模型

  • 服务器镜像现在附带完整的 config.json,因此大部分默认设置无需调整环境变量即可使用。
  • 配置文件是唯一的可信来源。使用 env://VAR_NAME 从环境变量中获取敏感值,或使用 file://path/to/secret.pem 将挂载文件的内容内联(附上 ? 可设为可选)。默认情况下,唯一必需的为 POSTGRES_URL 和 REDIS_URL。
  • 要自定义设置:
    1. 复制 apps/server/config.json,编辑后在使用 Docker Compose 时挂载/绑定它(参见 hosting/docker/docker-compose.yaml)。
    2. 对于 Helm,启用 colanode.configFile.enabled,并通过 --set-file colanode.configFile.data=./config.json 传入您的文件(详情见 hosting/kubernetes/README.md)。
    3. 将密钥保留为环境变量,这样您无需将其写入 JSON;加载器在运行时解析 env:// 指针。

环境变量不再覆盖常规配置字段—仅读取明确标记为 env:// 的值。有关挂载说明和必需少量密钥,请参考 hosting/docker/docker-compose.yaml 和 hosting/kubernetes/README.md。

本地运行

要在本地开发模式下运行 Colanode:

  1. 克隆仓库:

    git clone https://github.com/colanode/colanode.git
    cd colanode
  2. 在项目根目录安装依赖项:

    npm install
  3. 启动您想要本地运行的应用程序:

    服务器

    cd apps/server
    
    # Copy the environment variable template and adjust values as needed
    cp .env.example .env
    
    npm run dev

    要使用 Docker Compose 启动本地依赖(Postgres、Redis 和邮件服务器)——默认使用文件系统存储——请从项目根目录运行此命令:

    docker compose -f hosting/docker/docker-compose.yaml up -d

    当您更喜欢在本地使用兼容 S3 的后端时,请使用 s3 配置启用可选的 MinIO 服务:

    docker compose -f hosting/docker/docker-compose.yaml --profile s3 up -d

    Compose 文件包含一个 server 服务。当你想使用 npm run dev 在本地运行 API 时,注释掉(或覆盖)该服务,以便只启动支持服务。

    网页

    cd apps/web
    npm run dev

    桌面

    cd apps/desktop
    npm run dev

测试

Colanode 包含服务器和网页的测试。

服务器测试

From apps/server:

npm run test

服务器测试使用 Testcontainers 来测试 Postgres 和 Redis,因此必须运行 Docker。详情请参见 apps/server/README.md。

网页测试

From apps/web:

npm run test

许可

Colanode 在 Apache 2.0 许可证 下发布。

本站来源与版权声明
  • 本文标题:colanode - 开源和本地优先的 Slack 和 Notion 替代
  • 本文链接:https://www.cn121.com/desktop/colanode-colanode.html
  • 原项目:colanode/colanode 版权归原作者 colanode 及贡献者所有
  • 收录信息:本站于 2026-10-10 收录本项目,本页所列协议与仓库指标均为收录当时的状态;该日期之后原项目的版本更新与协议变更,本页不作同步。
  • 开源协议:收录时本项目采用 Apache-2.0(查看 LICENSE 原文),本站转载其原始文档(未改动文字,仅剔除图片与无关章节);使用、修改、分发请以该仓库 LICENSE 原文为准。本站对原文仅作排版与图片地址适配, 并保留原项目的 NOTICE 与署名要求。
  • 站点出处:本文首发于 OneTwoOne,收录自 GitHub 开源项目 colanode/colanode。
  • 内容说明:本页正文为原项目 README 原文(英文),本站后续会翻译为中文(当前尚未译出,仅将二级标题译为中文,便于按栏目定位;标题原文可在下方原仓库中查看),仅剔除了图片与赞助等无关章节、并把相对链接改为绝对地址;页首简介为机器翻译自仓库描述。
  • 引用声明:商业转载、第三方聚合或 AI 检索训练引用时,请务必保留以上来源出处、本文永久链接,以及原项目的版权声明与许可信息。
  • 下架通道:若原项目此后变更或收紧了许可协议、或作者/权利人认为本站的收录方式(译文、排版适配、简介翻译等)超出其授权范围,请通过 xyd3302001@163.com 发送下架通知,并附上项目地址与本页链接。本站核实后将第一时间删除本页内容,或改为不复制原文的目录性收录;署名更正等其他要求可一并提出。