前述
下文详细介绍 OctopusWiki 的功能以及部署方式。木子已经很久没有更新文章了,主要是因为最近一直在与 AI “斗智斗勇”(😂),深入探索 Vibe Coding 和 Spec Coding。后续有时间,我会单独写一篇文章来分享这方面的心得与经验。
今天,我很高兴地宣布 OctopusWiki v1.0 正式版发布了!其各项功能已在企业和个人场景中稳定运行了半年。当然,系统难免还会存在一些 Bug,大家在使用过程中如果遇到任何问题,欢迎随时通过微信联系木子,或者在 GitHub 上提交 Issue。
下文将详细介绍 OctopusWiki 的功能特性以及部署方式。
OctopusWiki
让文档智能起来 — 一个集 Markdown 知识库、实时协作、AI 助手、日历、提醒事项、项目看板、社媒发布于一体的私有部署协作平台。
📖 它是什么
OctopusWiki 不是又一个 wiki。它把过去要装 6 个工具(Notion + Confluence + Trello + 提醒事项 + ChatGPT + 微信编辑器)才能凑齐的体验,装进了同一个登录态、同一份 ACL、同一台你自己的服务器:
- ✍️ Milkdown 协作编辑器 — 多人实时同改,字符级合并,永远不会冲突
- 🔍 双引擎混合检索 — SQLite FTS5(关键词) + LanceDB(向量)+ RRF 融合 + Rerank
- 🤖 Agentic AI 助手 — 12 个可治理工具 + 4 个创意工具,跨会话长期记忆
- 🎨 AI 配图 — OpenAI / Azure / Google Imagen / OpenRouter 一键生成
- 🗓️ CalDAV 日历提醒 — 内置 CalDAV 服务端,macOS / iOS / Thunderbird 直连
- 📋 项目看板 — 状态机 + 子任务进度卷积 + 评审工作流
- 🗒️ 无限白板 — Excalidraw 白板
- 🎯 无限画布 — Canvas 画板
- 📢 一键发布 — 微信公众号 + WordPress
- 🔐 企业级权限 — LDAP/AD + App Password + 路径继承 ACL
核心理念:数据始终留在你的服务器,不依赖任何外部 DB(没有 MySQL、没有 Redis、没有 Elasticsearch)。
三分钟看清能力
| 能力 | 你能做的事 |
|---|---|
| Markdown 编辑 | 数学公式(KaTeX)、Mermaid 流程图、PlantUML、Callout 高亮块、代码高亮、Wiki 双链 [[]]、任务列表、可视化表格 |
| 富媒体 | 拖拽上传图片/视频/PDF/Excel 自动生成卡片,Video.js 播放器内嵌,媒体源信息追踪 |
| AI 创作 | AI 润色、AI 翻译、AI 摘要自动生成、AI 配图(4 大 provider)、文生图 + 图生图 |
| AI 助手 | 知识库问答带引用、跨会话搜索、长期记忆、@提及文档作上下文、自然语言建提醒 |
| 协作 | 多光标实时同步、只读用户可在场、字符级合并、网络抖动自动重连 |
| 视图 | 文件树 / 资源管理器 / AI Chat / 项目看板 / Excalidraw 白板 / Canvas 无限画布 / 日历 / 7 种 |
| 版本 | 自动定时快照 + 手动快照 + 任意版本对比恢复 + 30 天回收站 |
| 分享 | 有效期可控(1天\~永久) + 可选密码 + 无需登录访问 |
| 发布 | 一键发布到微信公众号(自动压图改格式)+ WordPress(支持对象存储) |
| 同步 | 提醒事项直接同步到 iPhone / macOS Calendar(CalDAV) |
| 主题 | 浅色/深色 × Crepe/Nord/Frame = 6 种组合 + 3 语言(zh-CN/zh-TW/en-US) |
部份截图







快速开始
用 Docker(推荐)
# 克隆仓库
git clone https://github.com/VebinLee/OctopusWiki-Docker.git
# 进入服务目录
cd OctopusWiki-Docker
# 启动服务
docker compose up -d
# 进入容器,导入提示词数据
docker exec -it octopuswiki bash
sqlite3 /app/data/db/config.db < /app/md/prompt_templates.sql
# 删除提示词SQL
rm -rf /app/md/prompt_templates.sql
# 退出容器
exit
# 访问 http://localhost:3000
# 默认管理员:admin / admin123(注意⚠️:进入后台管理后,立即修改超管密码)
# 如果需要 Word、PDF 等导入功能,需要启用 docconvert 服务
cd OctopusWiki-Docker/docconvert
cp .env.example .env
docker compose up -d
# Logo 设置
在后台管理--其它设置--上传 Logo 文件夹的 Logo 即可
数据存储一览
| 存储 | 路径 | 用途 | 可重建? |
|---|---|---|---|
config.db |
data/db/ |
用户 / 组 / ACL / App Password / 系统配置 | ❌ 必须备份 |
snapshots.db |
data/db/ |
文档版本快照 | ❌ 备份 |
chat.db |
data/db/ |
聊天会话 + 消息 + FTS5 召回索引 | ✅ 可重建(损失对话历史) |
memory.db |
data/db/ |
AI 长期记忆(双桶:用户画像 + 工作笔记) | ✅ |
calendar.db |
data/db/ |
日历事项 + CalDAV 订阅(密码 AES-256-GCM) | ⚠️ 含订阅密码 |
projects.db |
data/db/ |
看板项目 + 任务 + 评审 | ⚠️ 备份 |
search.db |
data/db/ |
全文 FTS5 索引(中文 jieba 分词) | ✅ 启动自愈重建 |
lancedb/ |
data/ |
向量索引(Apache Arrow) | ✅ 启动自愈重建 |
md/ |
项目根 | Markdown 源文件 + 附件 + Excalidraw + Canvas | ❌ 核心资产 |
💡 迁移很简单:把
data/+md/+plugins/复制到新机器即可。
主要功能模块
Markdown 编辑器
- KaTeX 数学公式:
$inline$与$$block$$ - Mermaid / PlantUML / Diagram-Code:代码块即图,实时渲染
- Callout 高亮块:
:::tip:::warning:::danger等 6 种风格 - Wiki 双链
[[]]:输入即弹搜索面板,文档改名自动同步 - 资源卡片化:图片/视频/文件全部升级为可操作卡片(复制/下载/原图)
- AI 摘要插件:文档顶部自动生成摘要,写入 frontmatter
- 30+ 语言代码高亮:Prism:.js 主题随编辑器主题切换
实时协作(Yjs CRDT)
- 文档 / Excalidraw / 无限画布共用同一 WebSocket 通道
- 字符级合并 — 永远不弹出"合并冲突"
- 只读用户可加入会话看光标,但服务器在 WS 层拦截写消息
- 协作消息上限 50 MB,适配大白板大画布
- 自定义
YjsService集成 ACL 校验
双引擎混合检索
查询 ─┬─ SQLite FTS5(BM25,关键词) ──┐
└─ LanceDB(余弦相似度,向量) ──┴─► RRF 融合(k=60) → Rerank → 返回 topK
- 中文分词:libsimple:(jieba)扩展自动加载,降级 unicode61
- 多模态图片检索:既能图向量搜图,也能 VLM 描述后做文本召回
- 增量更新:chokidar: 监控 + MD5 哈希去重,只重算改过的文件
- 可调参:
SEARCH_RRF_K/SEARCH_KEYWORD_WEIGHT/SEARCH_VECTOR_WEIGHT
AI 助手(Agentic Loop)
12 个 Agentic 工具(每个都可在后台启停):
| 工具 | 用途 |
|---|---|
knowledge_search |
混合检索知识库 |
knowledge_search_by_image |
多模态图片召回 |
read_document |
读完整文档 |
get_conversation_sources |
取本次对话引用 |
web_search / web_fetch |
联网搜索 / URL 抓取(默认关闭) |
session_search |
跨历史会话召回 + LLM 摘要 |
memory |
持久化用户偏好 |
create/list/update/delete_calendar_todo |
自然语言操作日历提醒 |
4 个创意工具:文本生图 / 图生图 / 文生视频 / 视频继续帧
SSE 事件类型:thinking / thinking_done / content / tool_status / sources / error / [DONE]
思考模型双兼容:OpenAI: reasoning_content + DeepSeek-R1 / QwQ <think> 标签解析
长期记忆 + 跨会话召回
- 独立
memory.db,清空对话不失忆 - 双桶设计:
user(画像/偏好)+memory(工作笔记) - 写入前 3 重安全扫描:零宽字符 / Prompt Injection / 超长行
- 跨会话搜索基于
chat_messages_fts+ LLM 摘要,不返回原始消息
认证与权限
- 4 种认证:Basic + LDAP/AD + App Password + Session
- LDAP StartTLS + 用户名严格转义,本地 admin 永远走 Basic 兜底
- App Password:供 CalDAV / iOS / Thunderbird 等外部客户端
- ACL 路径继承,
deny > manage > write > read,空 ACL 默认拒绝 - 4 级权限:
read/write/manage/deny
日历提醒(VTODO + RRULE + CalDAV)
- 6 个 RRULE 预设(每天/工作日/每周/每月/每年/自定义)
- 内建 CalDAV 服务端(RFC 4791/6578)— macOS / iOS / Thunderbird / DAVx⁵ 直连
- 订阅式 CalDAV 客户端:把外部企业日历定时拉到本地
- 凭据 AES-256-GCM 加密存储
项目看板
- 状态机:todo → doing → review → done
- 子任务进度自动卷积到父任务
- 评审工作流:
approve/send-back/reopen - 看板与文件夹绑定,ACL 复用(配权限一次,管两边)
- per-project SSE 实时广播
社媒发布
- 微信公众号:自动压图(2 MB / 5 MB 限额)、代码块重排、素材库上传
- WordPress:REST: API,选分类/标签/特色图
- 凭据 AES-256 加密存储
分享与导出
- 分享链接: 有效期 1 天、永久 、可选密码、一键失效
- 导出: Markdown、原件、单文件 HTML、PDF
- 导入: 基于 docconvert 微服务,导入 Word、Excel、PPT、PDF、HTML、EPUB → Markdown
许可证与授权
OctopusWiki 面向不同使用场景提供差异化授权方式:
- 个人使用/非商业用途:可免费使用与部署
- 企业使用/商业用途:需取得 OctopusWiki 的商业授权(包括但不限于:生产环境商用部署、对外提供服务、作为企业内部/对客户交付的系统组成部分、以及任何以营利或商业目的为导向的使用)
如需获取商业授权、报价与合作支持,请联系项目维护方。
联系
- 问题: GitHub Issues
- 商业合作 / 私有部署咨询:
- 微信:VebinLee
- Email: Vebinlee:@qq.com










