Decentralization? We're still early!

只需三步,技术小白也能用macOS实现开源AI知识管理系统

你是否想拥有一套私人的知识管理和创作系统,既有AI助手支持,又能自动处理日常工作,还能记录和组织知识?本文专为Mac用户(尤其是技术小白)打造,介绍两种超简单的方法,帮你三步搭建一套包含AI聊天、自动化工作流、笔记系统和内容管理的全能知识中心。

这套系统能为你做什么

这套系统由四个强大的开源工具组成,它们协同工作,构建你的知识管理生态系统:

  • OpenWebUI:✨ 私人AI助手平台,可连接ChatGPT等大模型,帮你解答问题、生成内容
  • n8n:🔄 智能工作流工具,自动收集信息、处理数据,节省大量重复工作
  • Trilium:📝 强大的个人知识库,记录笔记、整理资料,支持知识图谱
  • WordPress:🌐 世界上最流行的知识管理系统,轻松发布和分享你的见解

你还需要在浏览器上安装Trilium Web Clipper,从而方便地把任何网页收藏到Trilium知识库。Brave还会在后续的文章/课程中,提供将n8n与OpenWebUI、Trilium、WordPress连接的方法,如何使用Trilium WP插件在WordPress中策展Trilium知识库,以及如何使用WordPress的AI辅助编辑插件。这是一套完全开源、所有功能用户自主可控的个人知识管理系统。

方法一:简单直接版(推荐小白用户)

第一步:安装Orbstack

你可以直接访问 https://orbstack.dev/download 下载Orbstack的安装包,如果你是苹果芯片,选择Apple Silicon版本。

安装完成后,双击安装即可。在应用程序文件夹中找到并点击Orbstack图标启动。

第二步:创建服务配置文件

这一步我们只需创建一个文本文件,里面包含所有服务的设置。别担心,只需复制粘贴即可!

  1. 打开终端,创建一个新文件夹:
   mkdir -p ~/我的知识系统
   cd ~/我的知识系统
  1. 使用文本编辑器创建配置文件:
   nano docker-compose.yml
  1. 复制粘贴以下内容(这是各个服务的配置信息,可以按需配置,DYOR):
# 项目名称
name: my-ai-stack

# 服务定义
services:
 # Open WebUI服务
 open-webui:
   image: ghcr.io/open-webui/open-webui:main
   container_name: open-webui
   ports:
     - "3000:8080"
   volumes:
     - ./data/open-webui:/app/backend/data
   extra_hosts:
     - "host.docker.internal:host-gateway"
   restart: always
   healthcheck:
     test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
     interval: 30s
     timeout: 10s
     retries: 3
     start_period: 40s
   networks:
     - app_network

 # Trilium笔记应用
 trilium:
   image: zadam/trilium
   container_name: trilium
   ports:
     - "8080:8080"
   volumes:
     - /home/knight/app/trilium:/home/node/trilium-data
   environment:
     - TRILIUM_DATA_DIR=/home/node/trilium-data
   restart: always
   healthcheck:
     test: ["CMD", "curl", "-f", "http://localhost:8080/"]
     interval: 30s
     timeout: 10s
     retries: 3
     start_period: 40s
   networks:
     - app_network

 # MariaDB数据库(用于WordPress)
 db:
   image: mariadb:10.6.4-focal
   container_name: wordpress-db
   command: --default-authentication-plugin=mysql_native_password
   volumes:
     - db_data:/var/lib/mysql
   restart: always
   environment:
     - MYSQL_ROOT_PASSWORD=somewordpress
     - MYSQL_DATABASE=wordpress
     - MYSQL_USER=wordpress
     - MYSQL_PASSWORD=wordpress
   expose:
     - 3306
   healthcheck:
     test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-p${MYSQL_ROOT_PASSWORD}"]
     interval: 30s
     timeout: 10s
     retries: 3
     start_period: 60s
   networks:
     - wordpress_network

 # WordPress网站
 wordpress:
   image: wordpress:latest
   container_name: wordpress
   depends_on:
     - db
   volumes:
     - wp_data:/var/www/html
   ports:
     - "80:80"
   restart: always
   environment:
     - WORDPRESS_DB_HOST=db
     - WORDPRESS_DB_USER=wordpress
     - WORDPRESS_DB_PASSWORD=wordpress
     - WORDPRESS_DB_NAME=wordpress
   healthcheck:
     test: ["CMD", "curl", "-f", "http://localhost:80"]
     interval: 30s
     timeout: 10s
     retries: 3
     start_period: 40s
   networks:
     - wordpress_network
     - app_network

 # n8n自动化工具
 n8n:
   image: n8nio/n8n:latest
   container_name: n8n
   ports:
     - "5678:5678"
   volumes:
     - n8n_data:/home/node/.n8n
   environment:
     - N8N_PORT=5678
     - N8N_PROTOCOL=http
     - NODE_ENV=production
     - WEBHOOK_URL=https://your-domain.com  # 替换为您的实际域名
     - GENERIC_TIMEZONE=Asia/Shanghai  # 根据需要调整时区
   restart: always
   healthcheck:
     test: ["CMD", "curl", "-f", "http://localhost:5678/healthz"]
     interval: 30s
     timeout: 10s
     retries: 3
     start_period: 40s
   networks:
     - app_network

# 卷定义
volumes:
 db_data:
   name: wordpress_db_data
 wp_data:
   name: wordpress_files
 n8n_data:
   name: n8n_data

# 网络定义
networks:
 app_network:
   name: app_network
   driver: bridge
 wordpress_network:
   name: wordpress_network
   driver: bridge
  1. 保存并退出:按Ctrl+X,然后按Y确认,最后按Enter

第三步:一键启动所有服务

  1. 在终端中执行以下命令:
   cd ~/我的知识系统
   docker compose up -d
  1. 首次运行时,系统会自动下载所需的程序(这可能需要几分钟,取决于你的网速)
  2. 下载完成后,打开Orbstack,点击左侧Containers菜单,即可看到并通过链接访问你的知识系统各个组件。你现在使用的是Orbstack自定义的本地域名。

🎉 恭喜! 你已成功搭建了自己的AI赋能知识管理系统!接下来,你需要进一步学习如何配置和使用各个软件。

方法二:进阶版(使用Utunbtu虚拟机)

这个方法使用了专门的Ubuntu虚拟机来管理相关服务,并使用Dockge直观地管理所有服务。略微复杂一点,但理解了这种方法后,你可以进一步探索如何用专门的本地服务器来部署,体验Linux之美。

第一步:安装Orbstack并创建Ubuntu系统

  1. 安装Orbstack(同方法一)
  2. 启动Orbstack后,点击界面上的”新建”按钮
  3. 选择”Ubuntu”选项并点击创建
  4. 等待Ubuntu系统创建完成(约1-2分钟)
  5. 双击进入Ubuntu的命令行工具

第二步:在Ubuntu中安装必要工具

1. 在Ubuntu终端中,复制粘贴以下命令一次性安装Docker:

sudo apt install apt-transport-https ca-certificates curl software-properties-common -y

sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt update

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

sudo docker --version

2. 安装Dockge(可视化管理工具):

# Create directories that store your stacks and stores Dockge's stack
sudo mkdir -p /opt/stacks /opt/dockge
cd /opt/dockge

# Download the compose.yaml
sudo curl https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml --output compose.yaml

# Start the server
sudo docker compose up -d

# If you are using docker-compose V1 or Podman
# sudo docker-compose up -d

3. 访问Dockge Web界面

Dockge部署完成后,可以通过以下URL访问Web界面:

http://localhost:5001

第三步:使用Dockge进行服务部署和管理

  1. 打开浏览器访问:http://localhost:5001 (这是Dockge管理界面)
  2. 完成初始设置后,点击”添加新Stack”按钮
  3. 填写:
  • 名称:我的知识系统
  • 路径:/opt/stacks/my-knowledge-system

4. 在编辑器中粘贴以下配置代码:

version: "3.8"
services:
  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    ports:
      - 3000:8080
    volumes:
      - ./data/open-webui:/app/backend/data
    extra_hosts:
      - host.docker.internal:host-gateway
    restart: always

  trilium:
    restart: always
    image: zadam/trilium
    ports:
      - 8080:8080
    volumes:
      - /home/knight/app/trilium:/home/node/trilium-data
    environment:
      - TRILIUM_DATA_DIR=/home/node/trilium-data

  db:
    image: mariadb:10.6.4-focal
    command: --default-authentication-plugin=mysql_native_password
    volumes:
      - db_data:/var/lib/mysql
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=somewordpress
      - MYSQL_DATABASE=wordpress
      - MYSQL_USER=wordpress
      - MYSQL_PASSWORD=wordpress
    expose:
      - 3306
      - 33060

  wordpress:
    image: wordpress:latest
    volumes:
      - wp_data:/var/www/html
    ports:
      - 80:80
    restart: always
    environment:
      - WORDPRESS_DB_HOST=db
      - WORDPRESS_DB_USER=wordpress
      - WORDPRESS_DB_PASSWORD=wordpress
      - WORDPRESS_DB_NAME=wordpress

  n8n:
    image: n8nio/n8n:latest
    restart: always
    ports:
      - 5678:5678
    volumes:
      - n8n_data:/home/node/.n8n
    environment:
      - N8N_PORT=5678
      - N8N_PROTOCOL=http
      - NODE_ENV=production
      - WEBHOOK_URL=https://your-domain.com  # 替换为您的实际域名
      - GENERIC_TIMEZONE=Asia/Shanghai  # 根据需要调整时区

volumes:
  db_data:
  wp_data:
  n8n_data:

networks:
  default:

5. 现在可以通过浏览器访问所有服务:

  • AI助手界面: http://localhost:8080
  • 自动化工作流: http://localhost:5678
  • 笔记知识库: http://localhost:8000
  • WordPress知识管理: http://localhost (直接访问,无需输入端口号)
  • 服务管理界面: http://localhost:5001

使用指南:打造你的知识管理工作流

搭建完成后,如何将这些工具组合使用,构建一个完整的知识管理系统?

🧠 知识获取流程

  1. 使用OpenWebUI向AI提问,获取信息和创意
  2. 将有价值的AI回答保存到Trilium笔记中
  3. 使用n8n创建自动化工作流,定期从网站、RSS等收集信息
  4. 将收集到的信息自动存入笔记或发布到WordPress

📚 知识整理流程

  1. Trilium中建立知识结构,整理笔记和想法
  2. 使用n8n自动处理和分类信息
  3. 用AI助手(OpenWebUI)帮助总结和提炼知识点

📣 知识分享流程

  1. 将成熟的知识从Trilium转移到WordPress
  2. OpenWebUI帮助优化内容和排版
  3. 通过n8n自动在社交媒体分享新发布的内容

常见问题解答

基础问题

问:我完全没有技术基础,能搭建成功吗?
答:能!我们设计的方法一特别适合技术小白,只需复制粘贴几个命令即可。

问:这套系统会占用我多少电脑资源?
答:相比传统虚拟机,Orbstack非常轻量。一般8GB内存的Mac就能流畅运行。不用时可以一键关闭所有服务。

问:我的数据安全吗?会不会丢失?
答:所有数据都存储在你的Mac上,不会上传到云端。数据存在Docker卷中,即使重启电脑也不会丢失。

问:80端口无法访问怎么办?
答:如果无法使用80端口(比如显示”权限被拒绝”或”端口已被占用”),可以修改配置文件中WordPress的端口映射为”8888:80″,这样就可以通过http://localhost:8888访问WordPress了。

使用问题

问:如何启动和关闭系统?
答:

  • 启动:cd ~/我的知识系统 && docker compose up -d
  • 关闭:cd ~/我的知识系统 && docker compose down

问:如何更新各个服务?
答:

  • 方法一:cd ~/我的知识系统 && docker compose pull && docker compose up -d
  • 方法二:在Dockge界面点击”拉取&更新”按钮

问:如何查看某个服务的日志?
答:docker logs 服务名称 例如:docker logs openwebui

两种方法如何选择?

👶 适合纯小白:方法一

  • 更简单直接,只需复制粘贴几个命令
  • 使用Orbstack进行管理,简单且轻量
  • 适合直接使用服务,不需要频繁调整配置的用户

👨‍💻 适合进阶小白:方法二

  • 使用Ubuntu系统,便于进行进阶拓展
  • 更接近真实服务器环境,便于学习
  • 适合喜欢尝试不同设置、享受探索过程的用户

无论你选择哪种方法,这套知识管理系统都能帮你将想法、资料和知识整合起来,借助AI的力量提升工作和学习效率。最重要的是,所有数据都存储在你自己的电脑上,完全掌握在你手中!

开始行动吧! 只需三步,打造属于你的AI赋能知识管理系统!

作为非营利站点,基地的建设离不开大家的捐助支持。在Cardano钱包(如Lace、Eternl 等)中输入 ADA Handle 名称$brave2049,即可为基地提供小额捐助。为支持Cardano治理和基地建设,亦欢迎将Cardano链上治理权限委托给Brave(Brave的Cardano链上治理DRep信息)

回复