GoForum🌐 V2EX

我用 AI 在过年期间开发了一个文档在线管理系统

lifei6671 · 2026-03-01 20:32 · 0 次点赞 · 0 条回复

我是原 MinDoc 的作者,是刚开始学 Golang 时开发一个项目,后面因为工作忙没时间维护了。

今年 Vide Coding 大火,过年期间使用 Codex 耗费 两个账号的双倍流量终于开发了一个新项目。

PlainDoc 是一个真正可落地的文档平台,而不是“仅能写 Markdown 的编辑器”。

我们希望它帮助团队实现三件事:

  • 用 Markdown 快速搭建团队知识库/技术文档库
  • 提供“编辑、阅读、管理”一体化能力,而不是单纯编辑器
  • 以最低维护成本长期运行(单体部署、权限治理、可观测)

适用场景:

  • 团队内部知识沉淀
  • 技术文档中心
  • 小中型项目文档门户
  • 运维手册/流程文档管理

核心功能与亮点

功能

  • 空间与文档树:支持空间、目录、文档的层级组织
  • Markdown 编辑:左树 + 中间编辑 + 右侧预览的工作台体验
  • 阅读系统:独立阅读页(/r/:spaceId/:docId),适合分享与访问
  • 权限模型:owner / collaborator / reader 多角色访问控制
  • 版本能力:文档版本号、冲突检测、修订记录
  • 图片链路:上传、鉴权、静态回源、Markdown 直接渲染
  • 后台治理:用户、空间、文档、主题、系统配置、审计管理

亮点

  • 轻量但完整:一套系统同时覆盖编辑、阅读、权限与后台治理
  • 单体部署体验:Go 主服务 + Node SSR Worker 子进程,无需独立 Node SSR 服务
  • 渲染一致性:阅读 SSR 与编辑器预览复用同一套 Markdown 渲染链路
  • 双 SSR 架构:
    • 首页/分类页:Go 模板 SSR
    • 阅读页:React SSR (由 Go 调度 Worker )
  • 开发和生产都顺手:前端统一走后端 API 模式(http),联调与生产一致
  • 工程化可维护:统一响应协议、错误码体系、Docker + Compose 开箱部署

技术栈

后端(apps/server

  • Go 1.26
  • Gin 1.11
  • GORM 1.31
  • 数据库驱动:SQLite / MySQL / PostgreSQL
  • 默认 SQLite 驱动:modernc.org/sqlite

前端(apps/web

  • React 19
  • Vite 7
  • TypeScript 5.9
  • CodeMirror 6
  • React Markdown + remark/rehype 渲染链
  • Mermaid / KaTeX / 语法高亮

SSR

  • 首页/分类页:Go html/template
  • 阅读页:Go 通过 stdin/stdout 调用 Node SSR Worker (非独立 Node 服务)

项目地址: https://github.com/lifei6671/plaindoc 官网: https://www.iminho.me

0 条回复
添加回复
你还需要 登录 后发表回复

登录后可发帖和回复

登录 注册
主题信息
作者: lifei6671
发布: 2026-03-01
点赞: 0
回复: 0