不建 Hugo、不用 Hexo,纯 Markdown 文件也能接入 Coco-AI!

之前我们介绍过如何通过 Coco-AI 检索 Hugo 和 Hexo 的文件结构。这种方式虽然适合博客类内容,但对于一些零碎的笔记或者并非建站类的 Markdown 文件,显然不够灵活。

为了解决这个问题,我写了一个适配器(connector),并发布了对应的 Docker 镜像,来实现任意 Markdown 文件目录的元数据整理与 API 暴露

👉 镜像地址:https://hub.docker.com/r/cloudsmithy/flask-markdown-connector


核心原理

该 connector 的主要逻辑是:

  1. 递归扫描目录及子目录下的 Markdown 文件
  2. 识别或补充元数据(即 YAML Front Matter);
  3. 通过 RESTful API 暴露这些 Markdown 的结构信息和元数据内容

如下图所示,我们会在每个 Markdown 文件开头添加或提取出 YAML 元数据:

元数据展示

阅读更多

Docker-Compose部署 EasySearch 异常问题排查

近期将原本运行在 macOS 上的 EasySearch、Console 和 Coco-server 等服务迁移至群晖 NAS 平台。在迁移过程中遇到了 EasySearch 容器无法正常启动或运行中意外终止的问题。本文记录了这些问题的具体表现及解决方案,旨在为后续类似部署提供参考。

基础部署配置

以下是官方推荐的 docker-compose 配置文件:
地址如下:

阅读更多

拓展 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 主题

安装 Hexo

1
2
3
4
pnpm install -g hexo-cli
hexo init my-blog
cd my-blog
pnpm install
阅读更多

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):

1
docker run -d --name cocoserver -p 9000:9000 infinilabs/coco:0.2.2-2000

此命令将在后台运行 Coco Server,并将 9000 端口 映射到本机,以便通过 Web UI 进行访问。

阅读更多

CoCo AI APP 初体验:开启智能知识管理新篇章

近日,极限科技的 Coco AI 正式发布。作为一款完全开源、跨平台的统一 AI 搜索与效率工具,Coco AI 能够无缝连接并搜索多种数据源,包括本地应用程序、文件以及云端平台如 Google Drive、Notion、语雀和 Hugo 等。通过集成 DeepSeek 等先进的大模型,Coco AI 不仅实现了智能化的个人知识库管理,还特别注重用户隐私,支持私有部署,帮助用户更快速、更智能地访问和管理信息。

Coco AI

本次发布的是 Coco AI 的首个预览版本,目前支持 MacOS 12 及以上操作系统。无论你是知识管理爱好者还是效率工具控,Coco AI 都值得一试。

Coco AI 分为客户端(APP)和服务端(Server),目前客户端仅提供 MacOS 版本,而服务端则支持 MacOS 和 Linux。今天,我们将重点体验客户端的使用。

下载与安装

首先,从项目主页或 GitHub 仓库下载 Coco AI 的安装包。安装过程简单直观,只需几步即可完成。

下载安装

阅读更多

Coco AI 全新升级:全图形化 RAG 配置,一键开启智能知识管理!

在《Coco AI APP 初体验:开启智能知识管理新篇章》和《打造智能语料库:通过 Coco AI Server 实现 Notion 笔记 RAG 检索功能》两篇文章中,我介绍了 Coco AI 的第一个版本。当时,我们需要手动调用服务端接口来添加数据源和配置登录信息,操作相对繁琐。而在 0.2 版本中,极限科技带来了全新的管理页面,让这些复杂的配置变得简单直观。

此外,这次更新还支持全平台运行。如果愿意,大家也可以自行编译源代码进行部署。

image-20250311084132109

轻松部署,告别繁琐配置

首先,我们用 Docker 启动服务端,仅需一行命令即可完成,无需额外传递复杂的命令行参数,也不必单独启动 Easysearch。

1
docker run -d --name cocoserver -p 9000:9000 infinilabs/coco:0.2.1-1998
阅读更多

飞牛OS虚拟机初体验

前段时间,飞牛 OS 上线了虚拟机功能,尽管目前仍处于公测阶段,但已经可以尝鲜体验。官方文档也相当详细,感兴趣的可以参考:虚拟机文档

阅读更多

Easysearch 中 PUT 和 POST 更新索引的区别及常见错误解析

Easysearch 中,PUTPOST 都用于创建或更新文档,但它们的使用方式和行为有所不同。理解这些区别并正确使用,可以避免常见的错误,并确保数据操作符合预期。


1. PUT 用于创建或完全替换文档

PUT 方法要求必须提供文档 ID,用于创建或完全替换已有文档。如果指定的文档 ID 不存在,则 PUT 会创建一个新文档;如果该 ID 已存在,则会完全覆盖原有数据,不会保留任何旧字段。

示例

1
2
3
4
PUT my_index/_doc/1
{
"myindex": 123
}

执行效果

  • 如果 ID 1 存在,原有文档会被完全覆盖,只保留 myindex 字段。
  • 如果 ID 1 不存在,则创建一个新文档。

常见错误

1
PUT my_index/_doc
阅读更多

Easysearch 使用 AWS S3 进行快照备份与还原:完整指南及常见错误排查

Easysearch 可以使用 AWS S3 作为远程存储库,进行索引的快照(Snapshot)备份和恢复。同时,Easysearch 内置了 S3 插件,无需额外安装。以下是完整的配置和操作步骤。


1. 在 AWS S3 上创建存储桶

  1. 登录 AWS 控制台,进入 S3 服务。
  2. 创建一个新存储桶(例如 easysearch-backups)。
  3. 启用版本控制(可选,但推荐)。
  4. 权限配置:确保 IAM 角色具有访问 S3 的权限。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
"Version": "2012-10-17",
"Statement": [
{
"Action": ["s3:ListBucket"],
"Effect": "Allow",
"Resource": ["arn:aws:s3:::s3-bucket-name"]
},
{
"Action": ["s3:GetObject", "s3:PutObject", "s3:DeleteObject"],
"Effect": "Allow",
"Resource": ["arn:aws:s3:::s3-bucket-name/*"]
}
]
}

2. 在 Console 上注册 S3 作为快照存储库

阅读更多

从 Flask 项目打包为多平台 Docker 镜像并上传 Docker Hub(含 GitHub Actions

🧱 1. 创建一个基础 Flask 项目

项目结构:

flask-demo/
├── app.py
├── requirements.txt
├── Dockerfile
├── start.sh
└── .github/
  └── workflows/
      └── docker.yml

app.py

from flask import Flask
app = Flask(name)

@app.route(‘/‘)
def hello():
   return “Hello from multi-arch Flask Docker in production mode!”

阅读更多