logo
mdocs
首页
特性
开始
文档
GitHub
首页
特性
开始
文档
GitHub
logo
mdocs

快速开始

安装
第一个知识库

核心概念

所见皆文件
域隔离
文档级邀请
无账户身份识别

使用指南

设置页面概览
Markdown 编辑
流程图生成
草稿与同步
我的文章与邀请
文档收藏
文档评论
受限域成员与模板
CLI Token
恢复码与身份找回

部署与配置

环境要求
配置文件
反向代理示例
FAQ
更新日志
Previous Page域隔离
Next Page无账户身份识别
mdocs

Write freely. Never lose a word.

MIT License
产品
功能特性竞品对比更新日志
资源
文档安装指南
社区
GitHub问题反馈
© 2026 mdocs · Made with ♥ by xuhuafeifei

#文档级邀请

#设计意图

传统文档协作需要先注册账户、加入团队、然后才能编辑——门槛太高。mdocs 的邀请机制只针对「文档」这个最小粒度,且被邀请者不需要预先注册。

#工作流程

文档所有者 → 添加受邀者(填写对方的访客 ID)→ 选择权限 → 受邀者刷新后即可访问

邀请记录存储在数据库中,关联了文档 ID、访客 ID 和权限等级。

#权限等级

权限说明
只读(read)可查看文档内容,不可编辑
编辑(edit)可编辑文档内容

#设计要点

  1. 基于访客 ID,而非邮箱:mdocs 没有用户账户系统,所以邀请的载体是访客 ID——每个浏览器注册后获得的唯一标识
  2. 文档级粒度:不是整个域或整个项目,而是单篇文档。适合「这篇文档需要给某人看一下」的场景
  3. 与档位解耦:邀请不是权限档位——它独立于文档的五级权限(0~4)之上。任何档位的文档都可以叠加 invite,不受限制
  4. 所有者和受邀者的关系在数据库中存储:
document_invites 表
├── document_id    → 文档 ID
├── visitor_id     → 被邀请的访客 ID
└── permission     → "read" 或 "edit"

邀请仅由文档所有者管理。所有者可以随时撤销邀请。

#与域成员互斥

一条重要约束:已是某域成员的人,不能再被该域内文档邀请。域成员已经拥有域内文档的读/写权限(取决于档位),invite 是给域外人员的通道。

  • restricted 域:域成员直接走 domain_read(1) / domain_write(2) 档位语义,不需要也不应该被 invite
  • private 域:域内仅有域主一人,实际效果相同——无法 invite 域主
  • public 域:public 域没有域成员概念,invite 不会因此被拦截

#invite 在各域类型中的角色

域类型invite 的作用
public对非 owner 补充写权限(public_read(3) 档文档默认仅 owner 可写);public_write(4) 档下用不到 invite
restricted非域成员通过 invite 获得某篇文档的读/写能力,同时在服务端呈现「经文档邀请」的域入口(不足以在域内任意新建文档;在域内随意创建内容需成为 domain_members 成员)
private非 owner 能否访问取决于文件档位 + invite 叠加。例如 private(0) 档文档,非 owner 只能通过 invite 进入