要不要也来分享分享一下啊

INFINI Labs 产品更新 | Coco AI v0.6 发布 - 插件商店上线

资讯动态INFINI Labs 小助手 发表了文章 • 0 个评论 • 73 次浏览 • 13 小时前 • 来自相关话题

![release](https://infinilabs.cn/img/blog/release/banner.png)

INFINI Labs 产品更新发布!此次更新涵盖 Coco AI 、Easysearch 等产品多项重要升级,其中 Coco AI 新增插件商店,方便用户安装和卸载插件,重构了搜索 API,优化聊天展示等,进一步提升 AI 搜索能力、易用性。

以下为详细更新介绍:

Coco AI v0.6


Coco AI 是一款完全开源、专注于混合云平台的企业级 AI 搜索与智能助手系统。它通过统一搜索入口,连接企业内外部的异构数据源,颠覆了企业访问和获取信息的方式和途径;同时 Coco AI 利用大模型能力和机器学习技术,能够为每个用户创建个性化知识图谱,进而优化个人及公司决策协作流程。

Coco AI 本次详细更新记录如下:

Coco AI 客户端 v0.6


功能更新


  • 添加插件商店 #699
    ![](https://infinilabs.cn/img/blog ... /1.png)

    ![](https://infinilabs.cn/img/blog ... /2.png)

  • 历史列表支持快捷键操作(选择、删除等) #700
  • 添加 「检查更新」按钮 #701
  • 添加 app 索引重建按钮来索引最新的 app #719

    问题修复


  • 快速 AI 状态进行同步 #693
  • 打开/关闭插件应该也设置/取消快捷键 #691
  • 在 refresh 时,将在线的 Coco server 重新添加会搜索列表 #696
  • 输入框支持空格输入进行检索 #709
  • 搜索右键菜单失效问题 #713
  • 搜索窗口在搜索界面,底边栏提示消息错误的问题 #722

    优化改进


  • 插件的唯一标识变更为「作者 ID/插件 ID」 #643
  • 重构了搜索 API #679
  • 继续聊天展示优化 #690
  • 服务器列表支持快捷键 enter 选择 #692
  • 添加最新版本检查消息展示 #703
  • 在日志中记录插件命令的执行结果 #718

    Coco AI 服务端 v0.6


    问题修复


  • 从 assistant search 中移除 manually_renamed_title

    INFINI Easysearch v1.13.1


    INFINI Easysearch 是一个分布式的搜索型数据库,实现非结构化数据检索、全文检索、向量检索、地理位置信息查询、组合索引查询、多语种支持、聚合分析等。Easysearch 可以完美替代 Elasticsearch,同时添加和完善多项企业级功能。Easysearch 助您拥有简洁、高效、易用的搜索体验。

    Easysearch 本次更新如下:

    功能更新


  • 插件模块新增 dependencyModule 配置项,用于声明共享的 common 模块依赖

    问题修复


  • 修复了前缀查询请求在只包含一个字符时的空指针错误

    优化改进


  • 精简了部署后的 modules 和 plugins 大小

    INFINI Framework v1.1.9


    INFINI Framework 是 INFINI Labs 基于 Golang 的产品的核心基础,已开源。该框架以开发者为中心设计,简化了构建高性能、可扩展且可靠的应用程序的过程。

    Framework 本次更新如下:

    问题修复


  • 没有响应体的 response 不允许携带 trailers(#158)

    优化改进


  • 重构错误处理逻辑 (#157)
  • 更新 Makefile (#156)

    更多详情请查看以下详细的 Release Notes 或联系我们的技术支持团队!

  • [Coco AI App](https://docs.infinilabs.com/co ... notes/)
  • [Coco AI Server](https://docs.infinilabs.com/co ... notes/)
  • [INFINI Easysearch](https://docs.infinilabs.com/ea ... earch/)
  • [INFINI Console](https://docs.infinilabs.com/co ... notes/)
  • [INFINI Gateway](https://docs.infinilabs.com/ga ... notes/)
  • [INFINI Agent](https://docs.infinilabs.com/ag ... notes/)
  • [INFINI Loadgen](https://docs.infinilabs.com/lo ... notes/)
  • [INFINI Framework](https://docs.infinilabs.com/fr ... notes/)

    期待反馈


    欢迎下载体验使用,如果您在使用过程中遇到如何疑问或者问题,欢迎前往 INFINI Labs Github(<https://github.com/infinilabs>;) 中的对应项目中提交 Feature Request 或提交 Bug。

    下载地址: <https://infinilabs.cn/download>;

    邮件hello@infini.ltd

    电话(+86) 400-139-9200

    Discord:<https://discord.gg/4tKTMkkvVX>;

    也欢迎大家微信扫码添加小助手(INFINI-Labs),加入用户群一起讨论交流。

    ![](https://infinilabs.cn/img/blog ... us.png)

    关于极限科技(INFINI Labs)


    ![INFINI Labs](https://infinilabs.cn/img/blog ... bs.png)

    极限科技,全称极限数据(北京)科技有限公司,是一家专注于实时搜索与数据分析的软件公司。旗下品牌极限实验室(INFINI Labs)致力于打造极致易用的数据探索与分析体验。

    极限科技是一支年轻的团队,采用天然分布式的方式来进行远程协作,员工分布在全球各地,希望通过努力成为中国乃至全球企业大数据实时搜索分析产品的首选,为中国技术品牌输出添砖加瓦。

    官网:<https://infinilabs.cn>;

一键启动:使用 start-local 脚本轻松管理 INFINI Console 与 Easysearch 本地环境

EasysearchINFINI Labs 小助手 发表了文章 • 0 个评论 • 100 次浏览 • 13 小时前 • 来自相关话题

系列回顾与引言


在我们的 INFINI 本地环境搭建系列博客中:

  1. 第一篇《[搭建持久化的 INFINI Console 与 Easysearch 容器环境](https://infinilabs.cn/blog/202 ... docker)》,我们深入探讨了如何使用基础的 docker run 命令,一步步构建起 Console 和 Easysearch 服务,并重点解决了数据持久化的问题。
  2. 第二篇《[使用 Docker Compose 简化 INFINI Console 与 Easysearch 环境搭建](https://infinilabs.cn/blog/202 ... ompose)》,我们学习了如何利用 Docker Compose 的声明式配置,将多容器应用的定义和管理变得更加简洁高效。

    虽然 Docker Compose 已经极大地提升了便利性,但在实际的开发和测试流程中,我们可能还需要处理版本选择、初始配置复制、多节点配置、指标采集开启等更细致的需求。为了进一步封装这些复杂性,提供真正的一键式体验,我们精心打造了一个强大的 Shell 脚本 [start-local](https://github.com/infinilabs/ ... cal.sh) 。

    本篇文章将带你领略 start-local 的魅力,看看它是如何将 Console 和 Easysearch (本文仍以 Console 1.29.6 和 Easysearch 1.13.0 为例) 的本地环境搭建与管理提升到一个全新的便捷高度——只需一行命令,即可拥有一个功能完备、数据持久的本地 INFINI Console 运行环境。

    start-local:您的 INFINI Console 本地环境瑞士军刀


    start-local 脚本(灵感来源于 [elastic/start-local](https://github.com/elastic/start-local))集成了环境搭建的诸多最佳实践,旨在提供极致的易用性。它在后台仍然依赖 Docker 和 Docker Compose,但为用户屏蔽了底层的复杂配置细节。

    核心功能:

    • 智能版本管理:自动获取 INFINI Console 和 Easysearch 的最新稳定版(或你指定的版本)作为默认镜像标签。
    • 动态配置生成:根据用户提供的命令行选项(如节点数、密码、版本等)自动生成 .envdocker-compose.yml 文件。
    • 初始配置自动处理:在首次启动或本地配置目录不存在时,自动从 Docker 镜像中提取并设置初始配置文件。
    • 一键式生命周期管理:通过简单的命令 (up, down, logs, clean) 管理整个应用的启动、停止、日志查看和彻底清理。
    • 持久化内置:默认将所有关键数据(配置、索引数据、日志)持久化到本地的 ./startlocal 目录(可配置)。
    • 集成 Agent 指标采集:通过 --metrics-agent 选项,轻松启用 Easysearch 的指标收集并自动配置其指向 INFINI Console。
    • 跨平台设计:主要针对 Linux 和 macOS 环境。

      如何获取和使用 start-local


      获取和执行 start-local 最便捷的方式是通过 curl 将脚本内容直接通过管道传递给 sh 执行:

      ```bash

      启动默认配置 (Console + 1 个 Easysearch 节点)

      curl -fsSL http://get.infini.cloud/start-local | sh -s

      想要更丰富的体验?试试这个:

      启动 3 个 Easysearch 节点,设置密码,并开启 Agent 指标采集

      curl -fsSL http://get.infini.cloud/start-local | sh -s -- up --nodes 3 --password "MyDevPass123." --metrics-agent
      ``<br /> <br /> _(请将http://get.infini.cloud/start-local替换为脚本的实际官方获取地址)_<br /> <br /> sh -s --部分确保脚本从标准输入读取,并且后续参数能正确传递给脚本。<br /> <br /> 脚本执行后,所有操作文件和持久化数据都会在当前目录下的./startlocal` (默认) 子目录中创建和管理。

      start-local 命令和选项概览


      通过 help 命令可以查看所有支持的功能:

      bash<br /> curl -fsSL <a href="http://get.infini.cloud/start-local" rel="nofollow" target="_blank">http://get.infini.cloud/start-local</a> | sh -s -- help<br />

      以下是一些最常用的命令和选项:

      命令 (COMMAND):

    • up: 核心命令。创建并启动定义的服务。自动处理初始配置。
    • down: 停止服务,移除容器、网络和相关匿名卷。本地持久化数据不受影响。
    • logs [服务名...]: 实时查看指定服务或所有服务的日志。
    • clean: 彻底清理。执行 down 后,删除整个工作目录 (./startlocal 及其所有内容)。
    • help: 显示帮助信息。

      常用选项 (OPTIONS) (主要用于 up 命令):

    • -cv TAG, --console-version TAG: 指定 Console 镜像版本 (例如 1.29.6)。
    • -ev TAG, --easysearch-version TAG: 指定 Easysearch 镜像版本 (例如 1.13.0)。
    • -n N, --nodes N: Easysearch 节点数量 (默认 1)。
    • -p PASSWORD, --password PASSWORD: Easysearch admin 用户初始密码 (默认 ShouldChangeme123.)。
    • --services s1[,s2,...]: 指定要启动的服务 (可选值: console, easysearch)。如果未指定,默认启动两者。
    • --metrics-agent: 启用 Easysearch 指标收集代理。
    • -wd PATH, --work-dir PATH: 自定义工作目录,替代默认的 ./startlocal

      实际操作示例


      让我们通过几个示例来感受 start-local 的便捷:

      1. 启动一个标准的开发环境 (Console + 1 个 Easysearch 节点,开启指标)

      bash<br /> curl -fsSL <a href="http://get.infini.cloud/start-local" rel="nofollow" target="_blank">http://get.infini.cloud/start-local</a> | sh -s<br />

      脚本会自动完成所有后台工作:检查依赖、确定版本、创建工作目录、生成配置文件、复制初始配置、生成 docker-compose.yml,最后启动服务并打印访问地址。

      2. 启动一个 3 节点的 Easysearch 集群,并指定版本和密码

      bash<br /> curl -fsSL <a href="http://get.infini.cloud/start-local" rel="nofollow" target="_blank">http://get.infini.cloud/start-local</a> | sh -s -- up \<br /> --nodes 3 \<br /> --password "ComplexP@ssw0rd." \<br /> --console-version 1.29.6 \<br /> --easysearch-version 1.13.0 \<br /> --services easysearch,console<br />

      脚本会智能处理多节点配置和持久化目录结构。

      3. 查看所有服务的日志

      bash<br /> curl -fsSL <a href="http://get.infini.cloud/start-local" rel="nofollow" target="_blank">http://get.infini.cloud/start-local</a> | sh -s -- logs<br />

      4. 停止运行环境(慎重操作)

      bash<br /> curl -fsSL <a href="http://get.infini.cloud/start-local" rel="nofollow" target="_blank">http://get.infini.cloud/start-local</a> | sh -s -- down<br />

      这将停止运行的所有容器。

      4. 删除运行环境(慎重操作)

      bash<br /> curl -fsSL <a href="http://get.infini.cloud/start-local" rel="nofollow" target="_blank">http://get.infini.cloud/start-local</a> | sh -s -- clean<br />

      这将移除所有相关的 Docker 资源以及本地的 ./startlocal 目录。

      持久化:数据安全无忧


      start-local 脚本的核心设计之一就是确保数据的持久化。所有重要的配置、数据和日志都会映射到宿主机的 ./startlocal (或你通过 -wd 指定的) 目录下的结构化子目录中:

    • Console: ./startlocal/console/{config,data,logs}/
    • Easysearch (单节点): ./startlocal/easysearch/{config,data,logs}/
    • Easysearch (多节点): ./startlocal/easysearch/node-X/{config,data,logs}/

      这意味着你可以随时 downup 你的环境,而不用担心丢失任何工作。

      访问服务


      启动成功后,脚本会打印出访问地址:

    • INFINI Console: <a href="http://localhost:9000" rel="nofollow" target="_blank">http://localhost:9000</a> (默认主机端口)
    • INFINI Easysearch: <a href="https://localhost:9200" rel="nofollow" target="_blank">https://localhost:9200</a> (默认主机端口,用户 admin,密码为你设置的或默认值)

      总结:从复杂到简单,专注核心价值


      从繁琐的 docker run 命令,到结构化的 docker-compose.yml,再到如今便捷的 start-local 脚本,我们一步步简化了 INFINI 本地环境的搭建和管理过程。start-local 将所有底层的复杂性封装起来,让你能够通过一行命令就拥有一个功能齐全、数据持久的本地环境,从而更专注于应用本身的功能测试、开发和学习。

      这正是良好工具的价值所在——让复杂的事情变简单,让我们能更高效地创造。

      希望这个 [start-local](https://github.com/infinilabs/ ... cal.sh) 脚本能成为你日常工作中得力的助手!如果你有任何建议或发现问题,欢迎通过项目仓库反馈。

      关于 INFINI Console


      ![](https://infinilabs.cn/img/blog ... 2x.png)

      INFINI Console 是一款开源的非常轻量级的多集群、跨版本的搜索基础设施统一管控平台。通过对流行的搜索引擎基础设施进行跨版本、多集群的集中纳管,企业可以快速方便的统一管理企业内部的不同版本的多套搜索集群。INFINI Console 还可以对集群内的索引及数据进行操作管理,可以配置灵活的告警规则,可以指定统一的安全策略,可以查看各个维度的日志和审计信息,真正实现企业级的搜索服务平台化建设和运营。

      官网文档:<https://docs.infinilabs.com/console/main/>;
      开源地址:<https://github.com/infinilabs/console>;

      作者:罗厚付,极限科技(INFINI Labs)云上产品设计与研发负责人,拥有多年安全风控及大数据系统架构经验,主导过多个核心产品的设计与落地,日常负责运维超大规模 ES 集群(800+节点/1PB+数据)。
      原文:http://localhost:1313/blog/202 ... ocal/

使用 Docker Compose 简化 INFINI Console 与 Easysearch 环境搭建

EasysearchINFINI Labs 小助手 发表了文章 • 0 个评论 • 90 次浏览 • 13 小时前 • 来自相关话题

前言回顾


在上一篇文章《[搭建持久化的 INFINI Console 与 Easysearch 容器环境](https://infinilabs.cn/blog/202 ... ocker/)》中,我们详细介绍了如何使用基础的 docker run 命令,手动启动和配置 INFINI Console (1.29.6) 和 INFINI Easysearch (1.13.0) 容器,并实现了关键数据的持久化,解决了重启后配置丢失的问题。

手动操作虽然能让我们深入理解 Docker 的核心机制,但在管理多个容器、网络和卷时,命令会变得冗长且容易出错。这时,Docker Compose 就派上了用场。它允许我们使用一个 YAML 文件来定义和运行多容器 Docker 应用程序。

本篇文章将演示如何将上一篇的手动步骤转换为使用 Docker Compose,让你更轻松地管理和维护这套本地开发测试环境。

Docker Compose 的优势


使用 Docker Compose 带来了诸多好处:

  • 声明式配置:在一个 docker-compose.yml 文件中定义所有服务、网络和卷,清晰明了。
  • 一键式管理:使用简单的命令(如 docker compose up, docker compose down)即可启动、停止和重建整个应用环境。
  • 简化网络和服务连接:Compose 会自动处理服务间的网络设置和依赖关系。
  • 易于共享和版本控制docker-compose.yml 文件可以轻松地与团队共享并通过版本控制系统(如 Git)进行管理。

    准备工作


    与上一篇类似,你需要:

  • 操作系统: macOS (本文示例)
  • Docker 环境: OrbStack ([https://orbstack.dev/](https://orbstack.dev/)) 或 Docker Desktop for Mac。
  • 确保 Docker Compose V2 (docker compose) 或 V1 (docker-compose) 已安装并可用。

    查看 docker compose 版本

    bash<br /> docker compose version<br /> Docker Compose version v2.24.5<br />

    步骤一:项目目录结构


    我们将继续使用上一篇文章中创建的目录结构。如果你还没有创建,或者想重新开始,可以在你的项目根目录(例如 ~/infini_compose_lab)下创建如下结构:

    ```bash

    1. 创建项目根目录

    mkdir -p ~/infini_compose_lab
    cd ~/infini_compose_lab

    2. 为 Console 和 Easysearch 创建持久化子目录

    这些目录将用于存储配置、数据和日志

    mkdir -p console/config console/data console/logs
    mkdir -p easysearch/config easysearch/data easysearch/logs
    ```

    步骤二:提取初始配置文件


    这一步与上一篇完全相同。你在首次启动时使用从镜像中提取的默认配置,请执行以下操作。如果这些目录中已存在配置文件(例如从上一篇博客的操作中保留下来的),Docker Compose 在挂载时会直接使用它们。

    1. INFINI Console (1.29.6) 初始配置
    (容器内配置路径: /config)

    ```bash

    确保在 ~/infini_compose_lab 目录下

    docker pull infinilabs/console:1.29.6
    docker run --rm \
    -v $PWD/console/config:/temp_host_config \
    infinilabs/console:1.29.6 \
    sh -c "cp -a /config/. /temp_host_config/ && chmod -R ugo+rw /temp_host_config/"
    <br /> <br /> **2. INFINI Easysearch (1.13.0) 初始配置**<br /> (容器内配置路径: `/app/easysearch/config`,初始密码: `INFINILabs01`)<br /> <br /> **重要提示:请务必为 Easysearch 设置安全的密码。**<br /> <br /> bash

    确保在 ~/infini_compose_lab 目录下

    docker pull infinilabs/easysearch:1.13.0
    docker run --rm \
    -e EASYSEARCH_INITIAL_ADMIN_PASSWORD="INFINILabs01" \
    -v $PWD/easysearch/config:/temp_host_config \
    infinilabs/easysearch:1.13.0 \
    sh -c "cp -a /app/easysearch/config/. /temp_host_config/ && chmod -R ugo+rw /temp_host_config/"
    ```

    步骤三:创建 docker-compose.yml 文件


    这是核心步骤。在你的项目根目录 ~/infini_compose_lab 下,创建一个名为 docker-compose.yml 的文件,并填入以下内容。这个文件定义了我们的服务、它们如何运行以及它们如何交互。

    ```bash
    cat < docker-compose.yml
    services:
    easysearch:
    image: infinilabs/easysearch:1.13.0
    container_name: infini-easysearch
    environment:

    • cluster.name=infini_compose_cluster
    • node.name=node-01
    • cluster.initial_master_nodes=node-01
    • "ES_JAVA_OPTS=-Xms1g -Xmx1g"
    • EASYSEARCH_INITIAL_ADMIN_PASSWORD=INFINILabs01
      ports:
    • "9200:9200"
    • "9300:9300"
      volumes:
    • ./easysearch/config:/app/easysearch/config
    • ./easysearch/data:/app/easysearch/data
    • ./easysearch/logs:/app/easysearch/logs
      ulimits:
      memlock: {soft: -1, hard: -1}
      nofile: {soft: 65536, hard: 65536}
      networks:
    • infini_app_net

      console:
      image: infinilabs/console:1.29.6
      container_name: infini-console
      ports:
    • "9000:9000"
      volumes:
    • ./console/config:/config
    • ./console/data:/data
    • ./console/logs:/log
      networks:
    • infini_app_net

      networks:
      infini_app_net:
      driver: bridge
      EOF
      ``<br /> <br /> **docker-compose.yml` 文件关键点:**

  • services: 定义了 easysearchconsole 两个服务。
  • image: 指定了每个服务使用的 Docker 镜像和版本。
  • container_name: 为容器指定一个易于识别的名称。
  • environment: 设置容器的环境变量。
  • Easysearch 单节点配置: 注意 cluster.initial_master_nodes 设置为节点自身的名称。
  • ports: 将容器的端口映射到宿主机的端口。
  • volumes: 实现持久化的核心。将宿主机当前目录 (./) 下的 console/*easysearch/* 子目录分别映射到容器内对应的路径。
  • networks: 将两个服务都连接到我们定义的 infini_app_net 网络。这使得 console 服务可以通过服务名 easysearch (例如 <a href="https://easysearch:9200" rel="nofollow" target="_blank">https://easysearch:9200</a>) 来访问 easysearch 服务。

    步骤四:使用 Docker Compose 启动环境


    现在,所有配置都在 docker-compose.yml 文件中了。启动整个环境只需要一条命令。
    ~/infini_compose_lab 目录下(包含 docker-compose.yml 文件),执行:

    bash<br /> docker compose up -d<br />

  • docker compose (V2) 或 docker-compose (V1)。
  • up: 创建并启动在 docker-compose.yml 中定义的所有服务。
  • -d: 后台模式运行。

    首次运行时,如果本地没有对应的镜像,Docker Compose 会自动拉取。

    常用 Docker Compose 命令:

  • 查看服务状态:

    bash<br /> docker compose ps<br />

  • 查看所有服务的实时日志:

    bash<br /> docker compose logs -f<br />

  • 查看特定服务的日志:

    bash<br /> docker compose logs -f console<br /> docker compose logs -f easysearch<br />

  • 停止所有服务(保留数据):

    bash<br /> docker compose stop<br />

  • 停止并移除所有容器、网络和匿名卷(保留通过 volumes 映射的本地数据):

    bash<br /> docker compose down<br />

    步骤五:验证和使用


    1. 访问 Console: 浏览器打开 <a href="http://localhost:9000" rel="nofollow" target="_blank">http://localhost:9000</a>
    2. 进行配置: 在 Console 中连接 Easysearch (<a href="https://easysearch:9200" rel="nofollow" target="_blank">https://easysearch:9200</a>,因为它们在同一个 Docker 网络中,可以直接使用服务名),创建用户,查看监控等。
    3. 测试持久化:

      ```bash
      docker compose down # 停止并移除容器

      稍等片刻

      docker compose up -d # 重新启动
      ``<br /> <br /> 再次访问http://localhost:9000`,你会发现之前的配置都还在!

      操作截图

      ![](https://infinilabs.cn/img/blog ... 01.png)

      ![](https://infinilabs.cn/img/blog ... 02.png)

      ![](https://infinilabs.cn/img/blog ... 03.png)

      ![](https://infinilabs.cn/img/blog ... 04.png)

      彻底清理,包括删除命名卷(如果使用了的话)和本地数据(可选)

      ```bash

      -v 移除命名卷

      docker compose down -v

      然后手动删除本地持久化目录

      rm -rf ~/infini_compose_lab/console
      rm -rf ~/infini_compose_lab/easysearch
      ```

      总结


      通过 Docker Compose,我们用一个简洁的 docker-compose.yml 文件取代了之前冗长的 docker run 命令,极大地简化了 INFINI Console 和 Easysearch 本地环境的搭建和管理过程。同时,通过正确的卷挂载配置,我们依然确保了数据的持久化,解决了重启后配置丢失的问题。

      对于开发、测试和快速原型验证,Docker Compose 无疑是一个强大而高效的工具。希望本教程能帮助你更轻松地使用 INFINI Console 进行本地实验和开发!

      关于 INFINI Console


      ![](https://infinilabs.cn/img/blog ... 2x.png)

      INFINI Console 是一款开源的非常轻量级的多集群、跨版本的搜索基础设施统一管控平台。通过对流行的搜索引擎基础设施进行跨版本、多集群的集中纳管,企业可以快速方便的统一管理企业内部的不同版本的多套搜索集群。INFINI Console 还可以对集群内的索引及数据进行操作管理,可以配置灵活的告警规则,可以指定统一的安全策略,可以查看各个维度的日志和审计信息,真正实现企业级的搜索服务平台化建设和运营。

      官网文档:<https://docs.infinilabs.com/console/main/>;
      开源地址:<https://github.com/infinilabs/console>;

      作者:罗厚付,极限科技(INFINI Labs)云上产品设计与研发负责人,拥有多年安全风控及大数据系统架构经验,主导过多个核心产品的设计与落地,日常负责运维超大规模 ES 集群(800+节点/1PB+数据)。
      原文:https://infinilabs.cn/blog/202 ... pose/

如何搭建持久化的 INFINI Console 与 Easysearch 容器环境

EasysearchINFINI Labs 小助手 发表了文章 • 0 个评论 • 97 次浏览 • 13 小时前 • 来自相关话题

背景介绍


许多用户在使用 Docker 部署 INFINI Console(本文使用 1.29.6 版本)时,可能会遇到一个常见问题:重启容器后,之前在 INFINI Console 中所连接的系统集群配置会丢失。这个问题通常源于未能正确配置 Docker 的数据持久化。原本通过 Docker 运行 INFINI Console 只是一个简单的测试示例,并未考虑多次重启使用,现官方文档也进行了更新,参考:[容器部署](https://docs.infinilabs.com/co ... ocker/)

接下来我们本地测试一下。

理解核心问题:Docker 容器与数据持久化


默认情况下,Docker 容器的文件系统是临时的。当容器被停止并删除后,容器内部所做的任何未被持久化的更改都会丢失。INFINI Console 的配置存储在其容器内部的特定目录中。为了在容器重启或重建后保留这些信息,我们必须将这些关键目录映射到宿主机(你的电脑)上的持久化存储位置。

准备工作


  • 操作系统: macOS (本文示例)
  • Docker 环境: OrbStack ([https://orbstack.dev/](https://orbstack.dev/)) 或 Docker Desktop for Mac。

    请确保 Docker 服务已启动并正常运行。你可以通过在终端执行 docker --version 来验证。

    bash<br /> docker --version<br /> Docker version 25.0.5, build 5dc9bcc<br />

    步骤一:创建本地持久化目录和自定义 Docker 网络


    首先,在宿主机上为 Console 和 Easysearch 创建用于存储配置、数据和日志的目录。同时,创建一个自定义 Docker 网络,以便容器之间可以通过名称进行通信。

    ```bash

    1. 创建项目根目录和各个服务的持久化子目录

    mkdir -p ~/infini_manual_setup/console/config ~/infini_manual_setup/console/data ~/infini_manual_setup/console/logs
    mkdir -p ~/infini_manual_setup/easysearch/config ~/infini_manual_setup/easysearch/data ~/infini_manual_setup/easysearch/logs
    cd ~/infini_manual_setup

    2. 创建一个自定义的 Docker 桥接网络

    docker network create infini_app_net
    ```

  • infini_app_net 是我们为这两个容器创建的自定义网络名称。

    步骤二:提取初始配置文件


    为了方便首次启动和后续自定义,我们需要从官方 Docker 镜像中提取默认的配置文件到我们本地创建的持久化目录中。

    1. INFINI Console (1.29.6) 初始配置
    根据 INFINI Console [官方 Docker 文档](https://docs.infinilabs.com/co ... docker),其容器内配置文件位于 /config

    bash<br /> docker pull infinilabs/console:1.29.6<br /> docker run --rm \<br /> -v $PWD/console/config:/temp_host_config \<br /> infinilabs/console:1.29.6 \<br /> sh -c "cp -a /config/. /temp_host_config/ && chmod -R ugo+rw /temp_host_config/"<br />

    2. INFINI Easysearch (1.13.0) 初始配置
    INFINI Easysearch 镜像内部的配置文件位于 /app/easysearch/config,并且需要初始管理员密码 INFINILabs01

    重要提示:请务必为 Easysearch 设置安全的密码。

    bash<br /> docker pull infinilabs/easysearch:1.13.0<br /> docker run --rm \<br /> -e EASYSEARCH_INITIAL_ADMIN_PASSWORD="INFINILabs01" \<br /> -v $PWD/easysearch/config:/temp_host_config \<br /> infinilabs/easysearch:1.13.0 \<br /> sh -c "cp -a /app/easysearch/config/. /temp_host_config/ && chmod -R ugo+rw /temp_host_config/"<br />

    现在,你的本地 console/configeasysearch/config 目录应该包含了初始配置文件。

    检查目录如下

    bash<br /> tree -L 3 .<br /> .<br /> ├── console<br /> │   ├── config<br /> │   │   ├── install_agent.tpl<br /> │   │   ├── permission.json<br /> │   │   ├── setup<br /> │   │   └── system_config.tpl<br /> │   ├── data<br /> │   └── logs<br /> └── easysearch<br /> ├── config<br /> │   ├── admin.crt<br /> │   ├── admin.key<br /> │   ├── analysis-ik<br /> │   ├── ca.crt<br /> │   ├── ca.key<br /> │   ├── easysearch.yml<br /> │   ├── easysearch.yml.example<br /> │   ├── instance.crt<br /> │   ├── instance.key<br /> │   ├── jvm.options<br /> │   ├── jvm.options.d<br /> │   ├── log4j2.properties<br /> │   └── security<br /> ├── data<br /> └── logs<br />

    步骤三:手动运行 INFINI Easysearch 容器


    使用 docker run 命令启动 Easysearch,并配置端口映射、环境变量和最重要的——卷挂载。

    bash<br /> docker run -d \<br /> --name easysearch01 \<br /> --network infini_app_net \<br /> -p 9200:9200 \<br /> -p 9300:9300 \<br /> -e cluster.name="infini_local_cluster" \<br /> -e node.name="easysearch-node01" \<br /> -e cluster.initial_master_nodes="easysearch-node01" \<br /> -e "ES_JAVA_OPTS=-Xms1g -Xmx1g" \<br /> -e EASYSEARCH_INITIAL_ADMIN_PASSWORD="INFINILabs01" \<br /> -v $PWD/easysearch/config:/app/easysearch/config \<br /> -v $PWD/easysearch/data:/app/easysearch/data \<br /> -v $PWD/easysearch/logs:/app/easysearch/logs \<br /> --ulimit memlock=-1:-1 \<br /> --ulimit nofile=65536:65536 \<br /> infinilabs/easysearch:1.13.0<br />

    关键参数解释:

  • --name easysearch01: 为容器指定一个名称。
  • --network infini_app_net: 连接到自定义网络。
  • -p HOST_PORT:CONTAINER_PORT: 端口映射。
  • -e VARIABLE=VALUE: 设置环境变量。
  • -v $PWD/host/path:/container/path: 实现持久化的核心。将宿主机当前工作目录 ($PWD) 下的子目录映射到容器内的指定路径。

    步骤四:手动运行 INFINI Console 容器


    现在启动 Console 容器,同样配置网络、端口、环境变量和卷挂载。

    bash<br /> docker run -d \<br /> --name console01 \<br /> --network infini_app_net \<br /> -p 9000:9000 \<br /> -v $PWD/console/config:/config \<br /> -v $PWD/console/data:/data \<br /> -v $PWD/console/logs:/log \<br /> infinilabs/console:1.29.6<br />

    查看日志

    bash<br /> docker logs -f easysearch01<br /> docker logs -f console01<br />

    步骤五:验证服务和持久化


    1. 检查容器状态: docker ps (应能看到 easysearch01console01)。
    2. 访问 Console: 浏览器打开 <a href="http://localhost:9000" rel="nofollow" target="_blank">http://localhost:9000</a>
    3. 在 Console 中进行初始化配置
    4. 测试持久化 (重启 Console 容器):

      ```bash
      docker stop console01
      docker rm console01

      重新运行步骤四中启动 Console 的 docker run 命令 (确保所有参数一致)

      ``<br /> <br /> 操作截图<br /> <br /> ![](<a href="https://infinilabs.cn/img/blog/2025/console-easysearch-with-docker/image-001.pn" rel="nofollow" target="_blank">https://infinilabs.cn/img/blog ... 01.pn</a>g)<br /> <br /> ![](<a href="https://infinilabs.cn/img/blog/2025/console-easysearch-with-docker/image-002.pn" rel="nofollow" target="_blank">https://infinilabs.cn/img/blog ... 02.pn</a>g)<br /> <br /> ![](<a href="https://infinilabs.cn/img/blog/2025/console-easysearch-with-docker/image-003.pn" rel="nofollow" target="_blank">https://infinilabs.cn/img/blog ... 03.pn</a>g)<br /> <br /> **再次访问 Console**: 打开http://localhost:9000`。如果一切正常,证明持久化成功。

      步骤六:停止和清理(可选)


  • 停止容器: docker stop console01 easysearch01
  • 移除容器: docker rm console01 easysearch01
  • 移除网络: docker network rm infini_app_net
  • 移除本地持久化数据 (如果不再需要):

    bash<br /> rm -rf ~/infini_manual_setup/console<br /> rm -rf ~/infini_manual_setup/easysearch<br />

    总结


    通过 docker run 命令并仔细配置卷挂载,我们成功地为 INFINI Console 和 Easysearch 构建了一个具有持久化能力的本地容器环境,有效解决了重启后配置丢失的问题。虽然手动操作参数较多,但它能让你更清晰地理解 Docker 的核心机制。

    在后续的文章中,我们将探讨如何使用 Docker Compose 来简化这一过程。

    关于 INFINI Console


    ![](https://infinilabs.cn/img/blog ... 2x.png)

    INFINI Console 是一款开源的非常轻量级的多集群、跨版本的搜索基础设施统一管控平台。通过对流行的搜索引擎基础设施进行跨版本、多集群的集中纳管,企业可以快速方便的统一管理企业内部的不同版本的多套搜索集群。INFINI Console 还可以对集群内的索引及数据进行操作管理,可以配置灵活的告警规则,可以指定统一的安全策略,可以查看各个维度的日志和审计信息,真正实现企业级的搜索服务平台化建设和运营。

    官网文档:<https://docs.infinilabs.com/console/main/>;
    开源地址:<https://github.com/infinilabs/console>;

    作者:罗厚付,极限科技(INFINI Labs)云上产品设计与研发负责人,拥有多年安全风控及大数据系统架构经验,主导过多个核心产品的设计与落地,日常负责运维超大规模 ES 集群(800+节点/1PB+数据)。
    原文:https://infinilabs.cn/blog/202 ... cker/

【搜索客社区日报】第2066期 (2024-07-01)

社区日报God_lockin 发表了文章 • 0 个评论 • 169 次浏览 • 22 小时前 • 来自相关话题

1. 启动就要小5分钟,是ES在拖我后腿吗?(需要梯子)
https://medium.com/%40guptaarm ... d5aef

2. 用Kyverno Policies和他的朋友们做k8s的日志处理怎么搞(需要梯子)
https://medium.com/the-code-jo ... 80118

3. 零停机跨集群迁移,肘着(需要梯子)
https://medium.com/%40krishnac ... c1b5a

编辑:斯蒂文
更多资讯:http://news.searchkit.cn

【搜索客社区日报】第2065期 (2025-06-30)

社区日报Muses 发表了文章 • 0 个评论 • 324 次浏览 • 1 天前 • 来自相关话题

1、Elastic:什么是 MLOps?
https://elasticstack.blog.csdn ... 92617

2、Elasticsearch:什么是搜索相关性?
https://elasticstack.blog.csdn ... 45095

3、使用 Elasticsearch 构建一个用于真实健康数据的 MCP 服务器
https://elasticstack.blog.csdn ... 39749

4、如何将 Coco AI 与自定义数据源集成 ?
https://mp.weixin.qq.com/s/ZiPsEaxGrbDrHeC1ZWK3zw

5、日志文件是什么?
https://elasticstack.blog.csdn ... 05443

编辑:Muse
更多资讯:http://news.searchkit.cn

【搜索客社区日报】第2063期 (2025-06-26)

社区日报Se7en 发表了文章 • 0 个评论 • 879 次浏览 • 5 天前 • 来自相关话题

1.Speculative Decoding 推测解码方案详解
https://mp.weixin.qq.com/s/sdIt8PpZDZ8DB8iKJ4xoEA
2.让远程电脑成为你的AI助手 - Computer Use Agent 实践
https://mp.weixin.qq.com/s/YKelF9piI6RLvKQMZOU3Gg
3.Mooncake:将 P/D 分离进行到底
https://zhuanlan.zhihu.com/p/1711346141

编辑:Se7en
更多资讯:http://news.searchkit.cn

【搜索客社区日报】第2062期 (2025-06-25)

社区日报kin122 发表了文章 • 0 个评论 • 1115 次浏览 • 6 天前 • 来自相关话题

1.如何在 Python 中连接 Elasticsearch 并使用 Qwen3 来实现 RAG
https://blog.csdn.net/UbuntuTo ... 53095

2.利用智能系统构建自演化知识图谱(搭梯)
https://medium.com/%40communit ... 3592c

3.三个数据处理技巧,永远改变你的es搜索体验
https://cloud.tencent.com/deve ... 32219

4.利用 Elastic 优化大模型的的成本和内容审核
https://cloud.tencent.com/deve ... 22292


编辑:kin122 
更多资讯:http://news.searchkit.cn

【搜索客社区日报】第2061期 (2025-06-24)

社区日报God_lockin 发表了文章 • 0 个评论 • 1263 次浏览 • 2025-06-24 11:10 • 来自相关话题

1. 让老师傅来教你在Google k8s 集群搞一个自动扩容的ES集群(需要梯子)
https://medium.com/%40oredata- ... a065c
2. ES/CK/doris 谁才是你可观测的最终选择(需要梯子)
https://medium.com/%40ApacheDo ... d2176
3. 采集k8s集群日志实战(需要梯子)
https://medium.com/%40kikuchid ... 77928
编辑:斯蒂文
更多资讯:http://news.searchkit.cn
 

【搜索客社区日报】第2060期 (2025-06-23)

社区日报Muses 发表了文章 • 0 个评论 • 1394 次浏览 • 2025-06-23 17:06 • 来自相关话题

1、搭建持久化的 INFINI Console 与 Easysearch 容器环境
https://infinilabs.cn/blog/202 ... cker/

2、使用 Docker Compose 简化 INFINI Console 与 Easysearch 环境搭建
https://infinilabs.cn/blog/202 ... pose/

3、上线3周:告警减少70%!AI巡检分级报告实战(一)
https://mp.weixin.qq.com/s/3s0Tvw8q5y6IpDNl3Y_7VA

4、开源: 和您的SQL聊聊天,自然语言SQL数据库查询系统
https://mp.weixin.qq.com/s/cfJ9jCQTc2zQPTav1tlyOA

5、为什么在 Kibana 中分配自定义数据视图 ID 很重要
https://mp.weixin.qq.com/s/USARC_EUXk_t-vrOCJDMxg

编辑:Muse
更多资讯:http://news.searchkit.cn

【搜索客社区日报】第2059期 (2025-06-20)

社区日报Fred2000 发表了文章 • 0 个评论 • 1857 次浏览 • 2025-06-20 10:10 • 来自相关话题

1、从“技术债务”到“数据自由”:一次 12TB 的 Elasticsearch 索引优化实战
https://mp.weixin.qq.com/s/fYISSlm1eRQW5p20PKJuMA

2、向量数据库--基于图的近似最近邻搜索
https://mp.weixin.qq.com/s/vDIwUq7xYG_d3KolI6Nhig

3、搭建持久化的 INFINI Console 与 Easysearch 容器环境
https://infinilabs.cn/blog/202 ... cker/

4、百度垂搜数据管理系统弹性调度优化实践
https://my.oschina.net/u/4939618/blog/18627327

5、私有知识库 Coco AI 实战(二):摄入 MongoDB 数据
https://infinilabs.cn/blog/202 ... on-2/

编辑:Fred
更多资讯:http://news.searchkit.cn

【搜索客社区日报】第2058期 (2025-06-19)

社区日报Se7en 发表了文章 • 0 个评论 • 1887 次浏览 • 2025-06-19 17:22 • 来自相关话题

1.不仅仅是模型分片:LWS 和分布式推理|KC25
https://mp.weixin.qq.com/s/C1wv_54hOnh3Q5yoq2NXSg
2.数据库老司机勇闯现代前端大观园
https://mp.weixin.qq.com/s/51dKs7wR6WCNiNWX5j_gWg
3.使用 Higress AI 网关代理 vLLM 推理服务
https://mp.weixin.qq.com/s/DsJ4aY1K6mEnwR_Ms8QvMA
4.AI Infra 和传统 Infra 断代了吗?聊聊 Infra “三大难题”,以及其中的关联
https://mp.weixin.qq.com/s/o8snj-WUbhfY1kcdPDHnPg

编辑:Se7en
更多资讯:http://news.searchkit.cn

【搜索客社区日报】第2057期 (2025-06-18)

社区日报kin122 发表了文章 • 0 个评论 • 2014 次浏览 • 2025-06-18 13:20 • 来自相关话题

1.ELK 的替代品:Opentelemetry + OpenSearch
https://mp.weixin.qq.com/s/ykExR8uTBW74Z6xBv1c3LA

2.向 AI Search 迈进,腾讯云 ES 自研 v-pack 向量增强插件揭秘
https://blog.csdn.net/UbuntuTo ... 92893

3.MCP(Model Context Protocol,模型上下文协议)的当前状态
https://blog.csdn.net/UbuntuTo ... 23169

4.Elasticsearch 合成原字段:Synthetic _source
https://blog.csdn.net/UbuntuTo ... 18147


编辑:kin122 
更多资讯:http://news.searchkit.cn

INFINI Labs 产品更新 | Easysearch 1.13.0 、Console 1.29.6 发布 – 优化监控图表异常毛刺等

资讯动态INFINI Labs 小助手 发表了文章 • 0 个评论 • 1834 次浏览 • 2025-06-17 19:14 • 来自相关话题

![release](https://infinilabs.cn/img/blog/release/banner.png)

INFINI Labs 产品更新发布!此次更新涵盖 Console 、Easysearch 等产品多项重要升级,重点优化监控图表异常毛刺。

  • INFINI Easysearch v1.13.0 Rollup Job 支持自动更新操作索引 mapping 更新, 未完成 rollup 的源索引禁止被 ilm 进行清理。
  • INFINI Console v1.29.6 系统集群新增 Rollup Gap 指标,修复监控图表异常毛刺、历史数据 top 索引查询指标异常等问题。

    INFINI Easysearch v1.13.0


    INFINI Easysearch 是一个分布式的搜索型数据库,实现非结构化数据检索、全文检索、向量检索、地理位置信息查询、组合索引查询、多语种支持、聚合分析等。Easysearch 可以完美替代 Elasticsearch,同时添加和完善多项企业级功能。Easysearch 助您拥有简洁、高效、易用的搜索体验。

    Easysearch 本次更新如下:

    功能更新


  • Rollup 新增对已创建 job 的 interval 和 page_size 参数更新的 api
  • Rollup 索引数据增加 unique 字段标识当前 job 的数据
  • Rollup 配置增加 window_start_time 字段,当重建 Rollup 时 会把历史 metadata 的最新时间戳写到 window_start_time 里

    问题修复


    优化改进


  • Rollup 会自动检测源数据索引是否有新增字段,并更新到 metrics
  • ILM 删除索引时 增加对 Rollup 的运行状态判断,未处理完的索引不会删除

    INFINI Console v1.29.6


    INFINI Console 是一款开源的非常轻量级的多集群、跨版本的搜索基础设施统一管控平台。通过对流行的搜索引擎基础设施进行跨版本、多集群的集中纳管, 企业可以快速方便的统一管理企业内部的不同版本的多套搜索集群。

    Console 在线体验:

    <http://demo.infini.cloud>; (用户名/密码:readonly/readonly)。

    Console 本次更新如下:

    功能更新


  • 集群设置切换指标采集模式时增加确认操作
  • 系统集群增加 Rollup 监控指标
  • 监控页面支持查看 Rollup 处理进度

    ![](https://infinilabs.cn/img/blog ... 04.png)

    问题修复


  • 修复告警详情页面查询事件记录时时间范围错误的问题
  • 修复高级页面中索引 top 查询异常问题

    ![](https://infinilabs.cn/img/blog ... 01.png)
    ![](https://infinilabs.cn/img/blog ... 02.png)
    ![](https://infinilabs.cn/img/blog ... 03.png)

    优化改进


  • 增强指标聚合功能
  • 更新查询和过滤功能以支持范围
  • 优化桶大小计算
  • 数据探索默认展示图表
    ![](https://infinilabs.cn/img/blog ... 05.png)

    更多详情请查看以下详细的 Release Notes 或联系我们的技术支持团队!

  • [INFINI Easysearch](https://docs.infinilabs.com/ea ... earch/)
  • [INFINI Console](https://docs.infinilabs.com/co ... notes/)
  • [INFINI Gateway](https://docs.infinilabs.com/ga ... notes/)
  • [INFINI Agent](https://docs.infinilabs.com/ag ... notes/)
  • [INFINI Loadgen](https://docs.infinilabs.com/lo ... notes/)
  • [INFINI Framework](https://docs.infinilabs.com/fr ... notes/)

    期待反馈


    欢迎下载体验使用,如果您在使用过程中遇到如何疑问或者问题,欢迎前往 INFINI Labs Github(<https://github.com/infinilabs>;) 中的对应项目中提交 Feature Request 或提交 Bug。

    下载地址: <https://infinilabs.cn/download>;

    邮件hello@infini.ltd

    电话(+86) 400-139-9200

    Discord:<https://discord.gg/4tKTMkkvVX>;

    也欢迎大家微信扫码添加小助手(INFINI-Labs),加入用户群一起讨论交流。

    ![](https://infinilabs.cn/img/blog ... us.png)

    关于极限科技(INFINI Labs)


    ![INFINI Labs](https://infinilabs.cn/img/blog ... bs.png)

    极限科技,全称极限数据(北京)科技有限公司,是一家专注于实时搜索与数据分析的软件公司。旗下品牌极限实验室(INFINI Labs)致力于打造极致易用的数据探索与分析体验。

    极限科技是一支年轻的团队,采用天然分布式的方式来进行远程协作,员工分布在全球各地,希望通过努力成为中国乃至全球企业大数据实时搜索分析产品的首选,为中国技术品牌输出添砖加瓦。

    官网:<https://infinilabs.cn>;

INFINI Labs 产品更新 | Coco AI 0.5 发布 – 无缝集成 AI 搜索能力、支持插件扩展、支持快照版本更新等

资讯动态INFINI Labs 小助手 发表了文章 • 0 个评论 • 1800 次浏览 • 2025-06-17 19:12 • 来自相关话题

![release](https://infinilabs.cn/img/blog/release/banner.png)

INFINI Labs 产品更新发布!此次更新涵盖 Coco AI 产品多项重要升级,重点提升 AI 搜索能力、易用性及企业级优化。

  • Coco AI v0.5 无缝集成 AI 搜索能力,支持第三方插件,新增 AI Command 快速访问 AI 能力,支持快照版本更新,优化交互细节,提升整体稳定性与用户体验等。
  • Coco AI Server v0.5 强化 API 能力与安全性,完善小助手配置,支持多用户登录。

    Coco AI v0.5


    Coco AI 是一个完全开源、跨平台的统一 AI 搜索与效率工具,能够连接并搜索多种数据源,包括应用程序、文件、谷歌网盘、Notion、语雀、Hugo 等本地与云端数据。通过接入 DeepSeek 等大模型,Coco AI 实现了智能化的个人知识库管理,注重隐私,支持私有部署,帮助用户快速、智能地访问信息。

    Coco AI 本次详细更新记录如下:

    Coco AI 客户端 v0.5


    功能更新


  • 搜索模式支持快速 AI 访问
    ![](https://infinilabs.cn/img/blog ... ck.gif)
  • 支持插件扩展
    ![](https://infinilabs.cn/img/blog ... or.gif)
  • 添加 AI 摘要组件
    ![](https://infinilabs.cn/img/blog ... ew.gif)
  • 支持搜索二级页面
    ![](https://infinilabs.cn/img/blog ... ge.gif)
  • 点击或回车关闭助手列表
  • 为置顶窗口添加暗度设置
  • 支持 Shift + Enter 输入框换行
  • 支持快照版本更新
  • 历史记录列表添加收起按钮
  • 聊天输入框支持多行输入
  • 将 ~/Applications 添加到搜索路径
  • 聊天内容添加返回底部按钮
  • 搜索输入框支持多行输入
  • WebSocket 支持自签名 TLS
  • 添加允许自签名证书选项
  • 支持通过环境变量 COCO_LOG 动态设置日志级别
  • 搜索结果重新排序

    问题修复


  • 修复为设置 API 添加缺失的 CORS 功能标志
  • 修复数据源图标显示错误
  • 修复处理 HugoSite 类型数据源中的空 URL 值
  • 修复数据源和 MCP 选择问题
  • 修复创建模型提供者时 crypto.randomUUID 的兼容性问题
  • 修复服务器图像加载失败
  • 修复在 Windows 系统上获取应用元数据时出现崩溃
  • 修复服务切换错误
  • 修复切换服务器助手后会话保持不变
  • 修复历史列表高度的问题
  • 修复二级页面无法被搜索到的问题
  • 修复滚动按钮默认不显示
  • 修复推荐列表位置
  • 修复独立聊天窗口中没有数据的问题
  • 修复继续聊天操作中的导航错误

    优化改进


  • 调整列表错误消息
  • 修复解决在聊天中修改助手的问题
  • 完善搜索失败的提示文案
  • 搜索和 MCP 显示隐藏逻辑
  • 问候语显示隐藏逻辑
  • 重构实时获取设置中的应用列表
  • UpdateApp 组件加载位置
  • 添加清理监控和缓存计算以优化性能
  • 重构优化代码
  • 重构优化数字输入框的修改操作
  • 修改搜索输入框样式
  • 聊天输入图标显示
  • 重构重构图标组件
  • 重构优化 markdown 内容中的列表样式
  • 添加文本朗读组件
  • 历史组件样式
  • 搜索错误样式
  • 跳过未登录的注册服务器
  • 重构服务信息相关组件
  • 聊天内容可以被复制
  • 重构修复搜索错误
  • 添加助手消息计数
  • 添加全局登录判断
  • 在用户登出时标记服务器为离线状态
  • 登出时更新服务器配置文件
  • 小助手键盘事件和鼠标事件
  • Web 组件起始页配置
  • 小助手支持设置聊天输入占位符
  • 重构输入框相关组件
  • 在刷新信息时将不可用服务器标记为离线
  • 在聊天模式中只显示可用服务器
  • 重构搜索结果相关组件

    Coco AI 服务端 v0.5


    功能更新


  • 支持将图标转换为 base64 格式
  • 实现小助手问答 API
  • 在聊天设置中添加占位符、分类和标签
  • 在 provider info 中返回助手数量
  • 添加小助手到搜索结果中
  • 添加内置小助手 AI Overview
  • 添加带有请求指纹的限流过滤器
  • 多用户登录支持

    问题修复


  • 修复为设置 API 添加缺失的 CORS 功能标志
  • 修复数据源图标显示错误
  • 修复处理 HugoSite 类型数据源中的空 URL 值
  • 修复数据源和 MCP 选择问题
  • 修复创建模型提供者时 crypto.randomUUID 的兼容性问题
  • 修复嵌入组件起始页配置不起效的问题

    优化改进


  • 清理未使用的 LLM 设置代码
  • 按创建时间排序聊天历史
  • 为小助手编辑添加默认启用参数
  • 密码支持更多特殊字符
  • 重构聊天 API
  • 忽略空消息

    更多详情请查看以下详细的 Release Notes 或联系我们的技术支持团队!

  • [Coco AI App](https://docs.infinilabs.com/co ... notes/)
  • [Coco AI Server](https://docs.infinilabs.com/co ... notes/)

    期待反馈


    欢迎下载体验使用,如果您在使用过程中遇到如何疑问或者问题,欢迎前往 INFINI Labs Github(<https://github.com/infinilabs>;) 中的对应项目中提交 Feature Request 或提交 Bug。

    下载地址: <https://infinilabs.cn/download>;

    邮件hello@infini.ltd

    电话(+86) 400-139-9200

    Discord:<https://discord.gg/4tKTMkkvVX>;

    也欢迎大家微信扫码添加小助手(INFINI-Labs),加入用户群一起讨论交流。

    ![](https://infinilabs.cn/img/blog ... us.png)

    关于极限科技(INFINI Labs)


    ![INFINI Labs](https://infinilabs.cn/img/blog ... bs.png)

    极限科技,全称极限数据(北京)科技有限公司,是一家专注于实时搜索与数据分析的软件公司。旗下品牌极限实验室(INFINI Labs)致力于打造极致易用的数据探索与分析体验。

    极限科技是一支年轻的团队,采用天然分布式的方式来进行远程协作,员工分布在全球各地,希望通过努力成为中国乃至全球企业大数据实时搜索分析产品的首选,为中国技术品牌输出添砖加瓦。

    官网:<https://infinilabs.cn>;