不建 Hugo、不用 Hexo,纯 Markdown 文件也能接入 Coco-AI!
之前我们介绍过如何通过 Coco-AI 检索 Hugo 和 Hexo 的文件结构。这种方式虽然适合博客类内容,但对于一些零碎的笔记或者并非建站类的 Markdown 文件,显然不够灵活。 为了解决这个问题,我写了一个适配器(connector),并发布了对应的 Docker 镜像,来实现任意 Markdown 文件目录的元数据整理与 API 暴露: 👉 镜像地址:https://hub.docker.com/r/cloudsmithy/flask-markdown-connector 核心原理该 connector 的主要逻辑是: 递归扫描目录及子目录下的 Markdown 文件; 识别或补充元数据(即 YAML Front Matter); 通过 RESTful API 暴露这些 Markdown 的结构信息和元数据内容。 如下图所示,我们会在每个 Markdown 文件开头添加或提取出 YAML 元数据: 一键部署使用以下命令即可快速拉起服务: 12345docker run -d --name markdown-connector \ -p 1313:5000...
Docker-Compose部署 EasySearch 异常问题排查
近期将原本运行在 macOS 上的 EasySearch、Console 和 Coco-server 等服务迁移至群晖 NAS 平台。在迁移过程中遇到了 EasySearch 容器无法正常启动或运行中意外终止的问题。本文记录了这些问题的具体表现及解决方案,旨在为后续类似部署提供参考。 基础部署配置以下是官方推荐的 docker-compose 配置文件:地址如下: https://docs.infinilabs.com/easysearch/main/docs/getting-started/install/docker-compose/ 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273version: "3"services: easysearch-node1: user: "602:602" im...
拓展 Coco AI 功能 - 智能检索 Hexo 博客
在之前的文章中,我们成功让 Coco AI 检索 Hugo 博客,这对于博客作者来说是一大福音。然而,从 Hexo 迁移到 Hugo 的成本不容小觑,毕竟大多数开发者对 Node.js 更熟悉,而 Golang 相对陌生。那么,既然 Coco AI 官方尚未支持 Hexo,是否有办法让它兼容 Hexo 呢? 当然可以!💡 既然 Coco AI 依赖的是 Hugo 生成的 index.json 进行检索,那我们干脆在 Hexo 中实现 **相同结构的 index.json**,这样就可以直接复用 Hugo 的数据结构,避免字段不兼容导致的潜在 Bug。 接下来,我们将从 0 到 1 实现 Hexo 的智能检索功能! 🚀 📌 1. 安装 Hexo 并切换到 Next 主题首先,我们需要安装 Hexo 并设置 Next 主题。 安装 Hexo1234pnpm install -g hexo-clihexo init my-blogcd my-blogpnpm install 启动本地服务器: 1pnpm hexo s 访问 http://localhost:4000/,确...
Coco AI 智能检索 Hugo Blog 集成指南
在此前的文章中,我们介绍了如何使用 Coco Server 连接 Notion,实现智能内容检索。本次,我们将进一步探索如何在 Coco Server 最新版本 中集成 Hugo Site,以便对 Hugo 站点 进行高效检索。 Coco Server 部署方式要在本地或服务器上运行 Coco Server,可以借助 Docker 进行快速部署。 1. 直接运行 Coco Server(默认配置)执行以下命令,快速启动 Coco Server(版本 0.2.2-2000): 1docker run -d --name cocoserver -p 9000:9000 infinilabs/coco:0.2.2-2000 此命令将在后台运行 Coco Server,并将 9000 端口 映射到本机,以便通过 Web UI 进行访问。 2. 启用数据持久化(推荐)如果希望数据在容器重启或删除后仍然保留,建议启用 数据持久化,操作步骤如下: (1)创建数据目录并设置权限12mkdir -p $(pwd)/cocoserver/{data,logs}sudo c...
CoCo AI APP 初体验:开启智能知识管理新篇章
近日,极限科技的 Coco AI 正式发布。作为一款完全开源、跨平台的统一 AI 搜索与效率工具,Coco AI 能够无缝连接并搜索多种数据源,包括本地应用程序、文件以及云端平台如 Google Drive、Notion、语雀和 Hugo 等。通过集成 DeepSeek 等先进的大模型,Coco AI 不仅实现了智能化的个人知识库管理,还特别注重用户隐私,支持私有部署,帮助用户更快速、更智能地访问和管理信息。 Coco AI本次发布的是 Coco AI 的首个预览版本,目前支持 MacOS 12 及以上操作系统。无论你是知识管理爱好者还是效率工具控,Coco AI 都值得一试。 项目主页: https://coco.rs/ 开源地址: 桌面应用端: https://github.com/infinilabs/coco-app/ 服务端: https://github.com/infinilabs/coco-server Coco AI 分为客户端(APP)和服务端(Server),目前客户端仅提供 MacOS 版本,而服务端则支持 MacOS 和 Linux。今天,我们将...
Coco AI 全新升级:全图形化 RAG 配置,一键开启智能知识管理!
Coco AI 再升级,全图形化配置 RAG在《Coco AI APP 初体验:开启智能知识管理新篇章》和《打造智能语料库:通过 Coco AI Server 实现 Notion 笔记 RAG 检索功能》中,我介绍了 Coco AI 的第一个版本 ,我们我需要调用服务端的接口来手动添加数据源和配置登录信息,见那么在 0.2 的版本中,极限科技又开发了一个管理页面用来处理这些繁琐的信息。 同时这次更新也带来了全平台的支持,当然如果你愿意也可以自己编译源代码。 我们先来用 Docker 启动服务端,一行命令搞定,不需要再传递负载的命令行参数,也无需在启动 Easysearch。 1docker run -d --name cocoserver -p 9000:9000 infinilabs/coco:0.2.1-1998 服务启动在 9000 端口,那么在浏览器中打开欢迎页面: 创建账户,选择模型,和之前一样,我还是选择本地部署的 ollama 并且使用 deepseek 模型。 设置完成后我们看到主页面,我们的目的是添加数据源,这样就不用使用复杂的请求。 可以进一步设置...
飞牛OS虚拟机初体验
前段时间,飞牛 OS 上线了虚拟机功能,尽管目前仍处于公测阶段,但已经可以尝鲜体验。官方文档也相当详细,感兴趣的可以参考:虚拟机文档。 公测声明官方的公测声明如下: 通俗来说,这个虚拟机功能可以看作是一个精简版的 PVE(Proxmox Virtual Environment)。在使用时,磁盘和网卡建议选择 virtio,这是一种半虚拟化方案,能够提供更好的性能和兼容性。 配置磁盘和网卡磁盘部分推荐选择 virtio 驱动,以获得更好的 I/O 性能: 网卡同样支持 半虚拟化,可以在创建虚拟机时选择: Windows 虚拟机驱动安装由于 Windows 默认不包含 virtio 驱动,因此需要手动下载并安装:VirtIO 官方下载地址 安装后,需要手动选择对应的驱动,这样才能正确识别到磁盘: 如果安装过程中未能识别到网卡驱动,可以在进入系统后再安装: Guest-tools 安装ISO 镜像中包含 Guest-tools,相当于虚拟机的 agent,需要安装,以提升性能和兼容性: 安装方式很简单,可以直接从 ISO 镜像里安装,里面包含所有必要的驱动和工具...
Easysearch 中 PUT 和 POST 更新索引的区别及常见错误解析
在 Easysearch 中,PUT 和 POST 都用于创建或更新文档,但它们的使用方式和行为有所不同。理解这些区别并正确使用,可以避免常见的错误,并确保数据操作符合预期。 1. PUT 用于创建或完全替换文档PUT 方法要求必须提供文档 ID,用于创建或完全替换已有文档。如果指定的文档 ID 不存在,则 PUT 会创建一个新文档;如果该 ID 已存在,则会完全覆盖原有数据,不会保留任何旧字段。 ✅ 示例1234PUT my_index/_doc/1{ "myindex": 123} 执行效果 如果 ID 1 存在,原有文档会被完全覆盖,只保留 myindex 字段。 如果 ID 1 不存在,则创建一个新文档。 ❌ 常见错误1PUT my_index/_doc 错误返回1234{ "error": "Incorrect HTTP method for uri [/my_index/_doc] and method [PUT], allowed: [POST]", &qu...
Easysearch 使用 AWS S3 进行快照备份与还原:完整指南及常见错误排查
Easysearch 可以使用 AWS S3 作为远程存储库,进行索引的快照(Snapshot)备份和恢复。同时,Easysearch 内置了 S3 插件,无需额外安装。以下是完整的配置和操作步骤。 1. 在 AWS S3 上创建存储桶 登录 AWS 控制台,进入 S3 服务。 创建一个新存储桶(例如 easysearch-backups)。 启用版本控制(可选,但推荐)。 权限配置:确保 IAM 角色具有访问 S3 的权限。 123456789101112131415{ "Version": "2012-10-17", "Statement": [ { "Action": ["s3:ListBucket"], "Effect": "Allow", "Resource": ["arn:aws:s3:::s3-bucket-name"] ...
从 Flask 项目打包为多平台 Docker 镜像并上传 Docker Hub(含 GitHub Actions
🧱 1. 创建一个基础 Flask 项目项目结构: flask-demo/├── app.py├── requirements.txt├── Dockerfile├── start.sh└── .github/ └── workflows/ └── docker.yml app.pyfrom flask import Flaskapp = Flask(name)@app.route(‘/‘)def hello(): return “Hello from multi-arch Flask Docker in production mode!” requirements.txtflaskgunicorn start.sh#!/bin/bash start.sh 默认使用 4 个 Gunicorn workerWORKERS=${WORKERS:-4}echo “🚀 Starting Gunicorn with $WORKERS workers…” 启动 Flask 应...
