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

快速开始

安装
第一个知识库

AI 与 Agent

智能助手(AI)
Agent 开发闭环
CLI Token

核心概念

所见皆文件
工作空间
文档级邀请
无账户身份识别

使用指南

设置页面概览
Markdown 编辑
HTML 文档
流程图生成
知识图谱
草稿与同步
我的文章与邀请
文档收藏
文档评论
受限工作空间成员与模板
恢复码(兼容)

部署与配置

环境要求
配置文件
反向代理示例
客户端壳(Android / 桌面)
FAQ
更新日志
Previous Page所见皆文件
Next Page文档级邀请
mdocs

Write freely. Never lose a word.

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

#工作空间(Workspace)

文档和侧栏里的隔离单元叫工作空间。早期文案叫「域」,指的是同一件事。数据库和接口字段仍是 domain_id,那是实现名,不是给新用户看的概念。

#设计意图

工作空间是最顶层的逻辑边界,用来:

  • 让不同团队或项目的文档,在工作空间列表和侧栏树上彼此分开
  • 在不引入复杂权限系统的前提下,划出谁能进来
  • 给每个用户一个「个人工作空间」当私密区

一篇文档通过 domain_id 归属到某一个工作空间。

#三种类型

类型谁可以进入文档 permission 档位用途
public(公开)任何人(含未登录访客)仅 public_read(3)、public_write(4)开放协作,默认工作空间
restricted(受限)成员与创建者为完整入口;只被某篇文档邀请的访客是受限入口(能看相关文档,不能凭此在工作空间里任意新建)仅 domain_read(1)、domain_write(2)团队知识库
private(个人)仅创建者(domain_id 等于该访客的 visitor_id)0~4 全部档位私人笔记本

类型会约束里面的文档能选哪些 permission:公开工作空间不允许 private 档,受限工作空间不允许 public 档。

#五级文档权限

每篇文档有一个 permission(0~4),定义谁能读、谁能写(前提是对方已经能碰到这篇文档):

数值名称谁可读谁可写
0private仅 owner仅 owner
1domain_read工作空间成员仅 owner
2domain_write工作空间成员工作空间成员
3public_read任何人仅 owner
4public_write任何人任何人

domain_read / domain_write 是字段名,界面上对应「工作空间内可读 / 可编辑」。

#档位与类型的约束

类型允许的文档 permission说明
public仅 public_read(3)、public_write(4)公开工作空间里不能出现「仅成员」或「仅 owner」的文档
restricted仅 domain_read(1)、domain_write(2)文档不暴露给成员以外的人;外人要看,靠 邀请
private全部 0~4不设上限;个人工作空间里的文档也可以设成 public_write(4) 对外公开

#创建默认值

类型新建文档默认 permission
privateprivate(0)
restricteddomain_read(1)
publicpublic_read(3)

#邀请:单独一层

在五级权限之上,还有 邀请:文档创建者可以给任意一篇文档加人(read / edit),不受当前档位限制。

  • 邀请不是 0~4 里的一档
  • 邀请与工作空间成员互斥:已经是成员的人,不能再被邀请
  • 鉴权顺序:owner → 档位 → 邀请兜底

详见 文档级邀请。

#鉴权流程(概要)

读权限:
  1. owner → 放行
  2. 公开工作空间 → 3/4 档放行
  3. 受限工作空间 → 成员走 1/2 档;非成员走邀请
  4. 个人工作空间 → 按档位实际语义 + 邀请

写权限:
  1. owner → 放行
  2. 公开工作空间 → 仅 4 档放行
  3. 受限工作空间 → 仅 2 档且为成员;非成员走邀请
  4. 个人工作空间 → 按档位实际语义

#个人工作空间(Private)

  • 访客注册时自动创建一个个人工作空间,domain_id 等于该访客的 visitor_id
  • 库里的名字以「个人域」结尾(历史存储后缀),界面显示为「某某个人工作空间」
  • 只有创建者一人,不通过 domain_members 维护多人
  • 文档权限可以是 0~4 任意档;名为「个人」也可以把某一篇公开
  • 创建文档时默认权限为 private(0)

#列表 vs 直链

侧栏树、工作空间里的列表会按「能不能进这个工作空间」过滤。若某人拿着文档 ID 直链,读权限主要由文档档位 + 邀请决定。例如受限工作空间里一篇 domain_read 文档,非成员不可读(除非被邀请)。需要更强保密时,用 private(0)。

#设计取舍

  • 不引入团队 / 组织树:工作空间只是一块地方。小团队通常一个公开工作空间,再加每人一个个人工作空间就够
  • 数据库和磁盘都分开:每个工作空间在磁盘上有自己的目录(~/.mdocs/files/docs/{domain_id}/),查询用 domain_id 过滤。把文档挪到另一个工作空间,要改库并移动文件

操作说明(创建受限工作空间、维护成员、套用模板):见 受限工作空间成员与名单模板。

行为以 mdocs 应用代码与 SQLite schema 为准;随版本迭代本页会跟进。