分类: AI技术选型

  • SuperDesign 开源AI设计代理工具

    SuperDesign(superdesigndev/superdesign)是首个嵌入IDE的开源AI设计代理工具,支持在VS Code、Cursor等环境中通过自然语言提示直接生成UI原型、组件与线框图,无缝融入开发流程,适合开发者快速完成界面设计与迭代。以下从核心定位、功能特性、技术架构、安装使用、开源与定制、商业与成本、优势与局限等方面展开介绍。

    一、核心定位与价值

    ● 定位:IDE原生AI设计助手,打通设计到开发的协作壁垒,无需切换工具即可完成“提示→设计→代码”全流程。

    ● 价值:降低设计门槛、提升迭代效率、保障数据安全(本地存储)、支持高度定制,适配开发者主导的设计场景。

    二、核心功能特性

    功能说明
    多模态设计生成支持产品原型(高保真)、UI组件、线框图(低保真),生成可直接复用的HTML/CSS代码,带响应式布局
    并行方案生成同一提示词生成3-10套不同风格的设计变体,快速对比筛选
    分支迭代(Fork & Iterate)复制设计并独立修改,生成版本化文件(如ui_1.html→ui_1_1.html),便于回溯对比
    IDE无缝集成适配VS Code、Cursor、Windsurf、Claude Code,通过侧边栏面板操作,生成内容可直接粘贴到项目
    本地安全存储设计文件默认保存在项目根目录的.superdesign/文件夹,支持版本管理,避免数据泄露
    提示词优化内置模板与工作流,支持自定义系统提示,适配不同AI模型(Claude、GPT等)
    模型灵活切换可替换底层AI模型,支持Claude Code、Cursor等服务集成,利用自有API密钥调用

    三、技术架构与依赖

    1.  前端/IDE层:VS Code扩展(TypeScript),提供侧边栏面板、设计画布、聊天界面、文件管理等交互功能。

    2.  核心代理层:AI设计代理服务,处理提示词解析、设计生成、分支管理、代码输出,支持多模型适配。

    3.  模型接口层:对接Anthropic Claude、OpenAI GPT等API,需用户提供自有密钥并承担调用成本。

    4.  存储层:本地文件系统(.superdesign/),支持设计文件的版本化管理与导出。

    四、安装与快速使用

    1.  安装扩展:在VS Code/Cursor市场搜索“SuperDesign”并安装,或通过GitHub源码编译安装。

    2.  初始化项目:打开SuperDesign侧边栏,执行superdesign.initializeProject命令,配置API密钥(如Anthropic Claude)。

    3.  生成设计:输入提示词(如“设计现代登录界面,含社交登录与暗色模式”),选择生成类型(原型/组件/线框图)。

    4.  迭代与使用:浏览变体→Fork修改→复制代码到项目,完成开发集成。

    五、开源许可与定制能力

    ● 许可协议:MIT开源许可,可自由使用、修改、分发,适合商业项目二次开发。

    ● 定制方式: 自定义提示词模板与工作流规则。

    ○ Fork源码修改代理逻辑、适配私有AI模型或内部工具链。

    ○ 扩展文件处理能力(如支持SCSS、Tailwind CSS)。

    六、成本与商业考量

    ● 基础使用:工具本身免费,调用第三方AI模型(如Claude)需消耗自有API额度,产生相应费用。

    ● 商业变现适配:可集成私有模型降低成本,或通过定制化部署提供增值服务,适合SaaS、企业内部工具等场景。

    七、优势与局限

    ● 优势:IDE原生集成、本地数据可控、高度可定制、生成代码可用、迭代效率高。

    ● 局限:依赖外部AI模型API,存在调用成本;复杂交互(如动画、3D)生成能力有限;设计风格受底层模型训练数据影响。

    八、适用场景与人群

    ● 适用场景:快速原型验证、MVP界面开发、组件库建设、开发者主导的UI设计、小团队协作(减少设计工具依赖)。

    ● 目标人群:全栈开发者、前端工程师、产品经理(快速验证想法)、创业团队(降本增效)。

    总结

    SuperDesign以“IDE内AI设计代理”为核心定位,通过自然语言驱动、本地安全存储、高度可定制等特性,成为开发者提升设计效率的优选工具。其开源属性与MIT许可为二次开发提供了充足空间,适合将设计能力嵌入现有开发流程,尤其适配快速迭代的商业项目。

  • ultralytics 最广泛的 YOLO 工具之一

    你想了解的 ultralytics/ultralytics 是一个由 Ultralytics 公司开发维护的、基于 Python 的开源计算机视觉框架,核心聚焦于 YOLO (You Only Look Once) 系列目标检测/分割/分类模型的快速开发与部署,是当前工业界和学术界使用最广泛的 YOLO 工具之一。

    一、核心特点与能力

    1.  一站式模型支持

    a.  核心支持 YOLOv8(当前主流版本),同时兼容 YOLOv5、YOLOv9、YOLOv10、YOLO-NAS 等系列模型,覆盖:目标检测(Detection)

    b.  实例分割(Segmentation)

    c.  图像分类(Classification)

    d.  姿态估计(Pose Estimation)

    e.  多目标跟踪(Tracking)

    2.  易用性极强

    3.  提供极简的 API 接口,新手也能快速上手,无需深入理解模型底层原理即可完成训练、推理、部署全流程。全平台部署能力

    a.  支持多种部署方式:本地 Python 推理

    b.  ONNX/TensorRT/OpenVINO/TensorFlow Lite 等格式导出

    c.  边缘设备(如 Jetson、Raspberry Pi)

    d.  云端/移动端部署

    4.  高性能与灵活性

    a.  支持 CPU/GPU/TPU 加速

    b.  自动混合精度训练(AMP)

    c.  数据增强、超参数调优、模型剪枝/量化等工程优化功能

    d.  兼容 PyTorch 生态,可灵活自定义模型和训练流程

    二、快速上手示例

    1. 安装(前置条件:Python 3.8+,PyTorch 1.8+)

    # 基础安装
    pip install ultralytics
     
    # 完整安装(含依赖)
    pip install ultralytics[all]

    2. 核心使用场景示例

    (1)模型推理(一行代码)
    from ultralytics import YOLO
     
    # 加载预训练模型(YOLOv8n 是轻量级版本,n/s/m/l/x 代表模型大小)
    model = YOLO('yolov8n.pt')
     
    # 对图片/视频/摄像头进行推理
    results = model('test.jpg') # 支持本地路径、URL、视频文件、摄像头ID(如 0)
     
    # 查看推理结果
    for r in results:
    boxes = r.boxes # 检测框信息(坐标、置信度、类别)
    masks = r.masks # 分割掩码(如果是分割模型)
    keypoints = r.keypoints # 姿态关键点(如果是姿态模型)
    r.save('result.jpg') # 保存推理结果
    (2)自定义数据集训练
    from ultralytics import YOLO
     
    # 加载预训练模型
    model = YOLO('yolov8n.pt')
     
    # 训练模型(需提前准备 YOLO 格式的数据集,配置 yaml 文件)
    results = model.train(
    data='coco128.yaml', # 数据集配置文件路径
    epochs=100, # 训练轮数
    batch=16, # 批次大小
    imgsz=640, # 输入图片尺寸
    device=0, # 使用 GPU 0,CPU 则设为 'cpu'
    )
     
    # 验证模型
    metrics = model.val()
     
    # 导出模型(如 ONNX 格式)
    success = model.export(format='onnx')

    三、适用场景

    ● 工业级目标检测/分割应用(如安防、智能制造、自动驾驶)

    ● 学术研究快速验证(轻量化 API 降低实验成本)

    ● 边缘设备部署(模型轻量化、多格式导出适配)

    ● 新手入门计算机视觉(文档完善、社区活跃,学习成本低)

    总结

    1.  ultralytics/ultralytics 是 YOLO 系列模型的一站式开发框架,核心优势是易用性+高性能+全场景部署

    2.  支持检测/分割/分类/姿态估计等多任务,兼容 YOLOv8/v9/v10 等主流版本;

    3.  极简的 API 设计让新手能快速上手,同时具备足够的灵活性满足工业级定制需求。

  • google / langextract 从非结构化文本中提取结构化信息

    LangExtract是Google于2025年开源的Python库,能基于LLM从非结构化文本中提取结构化信息,支持精准溯源、可控输出、长文档处理与多模型适配,无需微调即可快速落地垂直场景。以下是核心信息与使用要点:

    一、核心定位与优势

    维度说明
    核心目标连接LLM与结构化数据需求,解决传统方案结果不可靠、难溯源、长文档乏力、跨域适配成本高等痛点
    关键优势1. 精确来源锚定:每条结果绑定原文起止字符偏移,支持高亮追溯与审计2. 可控结构化输出:通过少样本示例强制遵循schema,禁止改写或增删字段3. 长文档优化:分块、并行、多轮提取,适配百万token级上下文4. 交互式可视化:一键生成HTML,直观校验数千条标注5. 多模型兼容:支持Gemini等云模型及Ollama对接的本地开源LLM6. 零微调适配:用自然语言指令+少量示例快速适配医疗、法律等领域
    授权与环境Apache 2.0开源;Python ≥3.10;依赖LLM API或本地部署能力

    二、工作流程

    1.  定义任务:用自然语言描述抽取目标,指定extraction_class、attributes等输出结构。

    2.  提供示例:给出1–3条few-shot示例,作为模型输出模板。

    3.  配置模型:选择Gemini等云模型或Ollama对接的本地LLM。

    4.  执行提取:自动分块处理文本,调用模型生成带位置锚定的结构化结果。

    5.  校验与可视化:生成HTML报告,高亮原文位置并审查结果。

    三、典型应用场景

    ● 医疗:从病历/报告中提取诊断、用药、剂量等并锚定原文,满足合规审计。

    ● 法律:抽取合同关键条款、权责节点,支持追溯原文出处。

    ● 企业知识管理:从财报、会议纪要中提取指标、决议,构建可溯源知识库。

    ● 内容运营:从评论/舆情中抽取情感、诉求,输出结构化统计结果。

    四、快速上手示例

    from langextract import Extractor, ExampleData
    # 1. 定义示例(抽取产品名与价格)
    examples = [ExampleData(
    source_text="A: iPhone 15 Pro $999",
    extractions=[{
    "extraction_class": "Product",
    "extraction_text": "iPhone 15 Pro",
    "attributes": {"Price": "$999"},
    "char_interval": {"start_char": 4, "end_char": 17}
    }]
    )]
    # 2. 初始化提取器(使用Gemini)
    extractor = Extractor(
    model_name="gemini-pro",
    task_description="Extract product names and their prices",
    examples=examples
    )
    # 3. 执行提取
    result = extractor.extract("B: MacBook Air $1099")
    # 4. 输出与可视化
    print(result.extractions)
    result.generate_visualization("output.html")

    输出会包含产品名、价格及对应的字符偏移,HTML可直接打开查看高亮结果。

    五、选型建议

    对比项LangExtract传统正则/NER直接调用LLM API
    溯源能力强(字符级锚定)
    输出稳定性高(强制schema)中(规则维护成本高)低(易幻觉/格式混乱)
    长文档处理优(分块+多轮)差(需手动切分)中(上下文窗口受限)
    适配成本低(零微调+少样本)高(规则/标注成本高)中(提示词迭代成本)
    隐私合规高(支持本地部署)低(数据出境风险)

    适合需高可信度、可审计的结构化提取场景;若追求极致成本,可搭配本地开源LLM(如Llama 3)通过Ollama部署。

    六、总结

    LangExtract以“精确锚定+可控输出+零微调适配”为核心,大幅降低LLM信息抽取的落地门槛,尤其适合合规要求高、领域多变的企业级场景。结合本地部署能力,可兼顾数据隐私与成本优化,是连接非结构化文本与业务系统的高效桥梁。介绍产品 google / langextract

  • eigent-ai/eigent 多智能体桌面应用

    Eigent(Eigent AI)是CAMEL – AI团队开发的100%开源多智能体桌面应用,能构建、管理和部署定制化AI劳动力,将复杂多步骤工作流自动化,在GAIA基准测试中表现突出,且支持本地部署,数据隐私性强。以下从核心定位、架构、功能、优势、应用场景等方面详细介绍:

    核心定位

    Eigent是一款专注于复杂工作流自动化的桌面应用,区别于单智能体系统的局限,通过多智能体并行协作,为专业人士和高级用户提供更快、更可靠、成本更低的任务处理结果,用户可自定义智能体团队,适配不同业务需求。

    核心架构

    1.  Task Manager(任务管理器):作为系统“大脑”,负责理解用户整体目标,将模糊需求拆解为具体可执行的子任务,并制定整体推进计划。

    2.  Coordinator(协调器):扮演“项目经理”角色,负责调度工作、分配任务、处理任务间依赖关系,汇总所有任务完成后的结果。

    3.  Worker Nodes(工作节点):专注具体操作,如查信息、写代码、处理数据或文档等,多个节点可并行工作,互不干扰。

    4.  Owl协作框架:基于CAMEL – AI构建的多智能体协作框架,在GAIA基准测试中以58.18平均分位列开源框架第一,实现动态智能体交互,提升协作效率。

    核心功能与特性

    特性说明
    多智能体并行协作配备开发者、搜索、文档、多模态等专业化智能体,可并行执行任务,支持三级并行(workforce间、work间、子任务内工具调用),大幅提升效率
    高度自定义支持构建定制化Worker nodes,集成自定义工具,通过MCP协议接入内部API或自定义函数,内置200多个MCP工具,也可自行扩展
    隐私优先与本地部署100%开源,可本地部署,使用自有API密钥或本地LLM,数据与敏感工作流完全可控,不会离开本地环境
    人类介入机制(Human – in – the – Loop)智能体遇困或不确定时,系统自动暂停并请求人工输入,关键决策点人工可介入,保障结果符合预期
    丰富工具集成内置网络浏览、代码执行、Notion集成、Google Suite连接、Slack集成等大量MCP工具,满足多样化场景需求

    核心优势

    1.  效率显著提升:多智能体并行执行任务,相比单线程处理,整体速度提升数倍,三级并行机制进一步提高任务处理效率。

    2.  自由可控:代码开源透明,用户可自由修改、优化,甚至商用,适配不同业务场景的定制化需求。

    3.  安全可靠:本地运行,数据不上传云端,有效避免数据泄露风险,同时人类介入机制可减少错误,保证任务结果可靠。

    4.  适配性强:支持自定义智能体功能、工具扩展和本地LLM集成,可根据项目需求灵活创建AI团队,适配多种复杂工作场景。

    应用场景

    1.  开发者工作流:自动完成代码编写、调试、运行终端命令、文档生成等任务。

    2.  内容创作与调研:智能体分工协作完成资料搜索、数据收集、内容撰写、报告生成等。

    3.  企业业务流程:自动化处理市场调研、数据分析、客户服务等多步骤业务流程,集成Slack、Notion等办公工具提升协作效率。

    4.  个人高效办公:处理邮件分类、日程管理、文件整理等复杂办公任务,减少人工操作。

    部署与获取

    Eigent目前处于公开测试阶段,用户可在GitHub获取源代码,参与测试还能获得额外积分奖励,也可直接下载桌面应用进行体验,部署方式灵活,支持本地部署与云端使用两种模式。

  • NginxPulse轻量级的 Nginx 访问日志分析与可视化面板

    一、一句话概括

    NginxPulse 是一款轻量级的 Nginx 访问日志分析与可视化面板,可以实时统计访问量(PV)、按多种维度过滤日志,并自动解析 IP 归属地和客户端信息,自带 Web 前端,适合部署在个人服务器、中小站点或内部环境中使用。

    二、产品定位与核心价值

    ● 目标场景: 已经使用 Nginx 作为 Web 服务器 / 反向代理,希望通过访问日志做一些「轻量级」实时监控与分析。

    ○ 不想引入重量级监控/可观测平台(比如 ELK、Prometheus+Grafana 等),只想要一个开箱即用的小工具。

    ● 核心价值: 部署简单:Docker 一键跑起来,不需要复杂依赖。

    ○ 日志分析自动化:自动解析 Nginx 访问日志,PV/访问趋势、IP 归属地、客户端信息等全部自动完成。

    ○ 轻量:单容器内集成前端与后端,使用 SQLite 本地存储,不依赖外部数据库服务。

    三、整体工作流程示意

    下面是 NginxPulse 的大致工作流程:

    flowchart TB
      A[Nginx 服务器<br/>access.log] --> B[NginxPulse 后端<br/>定时扫描日志]
      B --> C[日志解析<br/>提取 IP / URL / 状态码 / UA 等]
      C --> D[IP 归属地查询<br/>ip2region + ip-api.com]
      C --> E[写入 SQLite 数据库]
      E --> F[后端 API 提供<br/>统计与过滤查询]
      F --> G[前端可视化面板<br/>图表与多维筛选]
      G --> H[运维/开发人员<br/>查看访问情况与异常]
    

     四、主要功能特性

    1) 日志分析与实时统计

    ● 定时扫描你指定的 Nginx 访问日志文件,解析其中的字段(如 IP、时间、URL、状态码、User-Agent 等)。

    ● 将解析后的数据写入本地 SQLite 数据库,供后续查询与可视化使用。

    ● 支持按配置的时间间隔(TASK_INTERVAL)来定时扫描,默认为 1 分钟。

    2) PV 统计与灵活过滤

    ● PV 统计可按指定 HTTP 状态码来统计(默认只统计 200 成功请求,也可自定义状态码列表)。

    ● URL 排除规则:支持配置 PV_EXCLUDE_PATTERNS(URL 正则数组),比如排除静态资源、爬虫路径等,避免污染 PV 统计。

    ● IP 排除规则:支持配置 PV_EXCLUDE_IPS,将指定 IP(如内部监控、健康检查)从统计中排除。

    ● Referer 与站内访问:通过 WEBSITES 中配置 domains,可以把来自指定域名的 referer 归类为「站内访问」,方便区分外部来源。

    3) IP 归属地解析(多级策略)

    NginxPulse 为 IP 归属地设计了一套“快速 + 准确”的多级策略:

    ● 快速过滤: 空值 / 本地 / 回环地址直接返回“本地”。

    ○ 内网地址直接返回“内网/本地网络”。

    ● 缓存优先: 内存缓存,最多缓存 50,000 条 IP 查询结果,重复 IP 直接命中缓存,减少外部 API 调用。

    ● 远程优先: 调用 ip-api.com/batch 批量接口查询归属地,超时时间 1.2s,每批最多 100 个 IP。

    ● 本地兜底: 当远程失败或者结果为“未知”时,IPv4 使用内置的 ip2region 数据库做本地查询,超时 50ms。

    ○ 本地数据库文件 ip2region.xdb 内嵌在二进制中,首次启动会自动解压到 ./var/nginxpulse_data/ip2region.xdb,并加载向量索引加速查询。

    ● IPv6 处理: IPv6 仅走远程 API,远程失败则返回“未知”。

    ● 注意: 项目会访问外网 IP 归属地 API(ip-api.com),部署环境需要放行该域名的出站访问。

    4) 客户端解析

    ● 基于 HTTP 请求中的 User-Agent 等字段,识别客户端类型(浏览器、爬虫等)与基础设备信息(具体展示形式以前端页面为准)。

    5) 可视化面板(Web UI)

    ● 前端技术栈:Vue 3 + Vite + TypeScript + PrimeVue + ECharts/Chart.js + Scss,使用组件化 UI 和图表库,便于做交互式展示。

    ● 提供在线演示:nginx-pulse.kaisir.cn(可直接访问体验可视化效果)。

    ● 常见可视化能力包括(以前端实际页面为准): 访问量趋势图(按时间维度统计 PV)。

    ○ IP 访问分布(国家/地区分布、常见来源 IP)。

    ○ URL 热度排行(哪些路径被访问最多)。

    ○ 状态码分布(2xx/3xx/4xx/5xx 比例)。

    ○ 客户端/浏览器类型统计。

    6) 多站点/多日志支持

    ● WEBSITES 支持传入数组,每个元素包含: name:站点名称。

    ○ logPath:容器内日志路径。

    ○ domains(可选):与该站点关联的域名列表,用于 referer 站内访问分析。

    ● 通过挂载多个日志文件或整个日志目录,并在 WEBSITES 中配置多条记录,即可用一个 NginxPulse 实例同时分析多个站点或多组日志。

    7) 演示模式(Demo Mode)

    ● 提供 DEMO_MODE 环境变量(默认 false),开启后: 定时生成模拟日志,并直接写入数据库。

    ○ 不再解析真实日志文件,适合演示、测试 UI 和功能,而不需要准备真实 Nginx 日志。

    五、技术架构与组件

    ● 后端: 语言:Go 1.23.x。

    ○ Web 框架:Gin。

    ○ 日志库:Logrus。

    ○ 数据存储:SQLite(使用 modernc.org/sqlite)。

    ● 前端: 框架:Vue 3。

    ○ 构建工具:Vite。

    ○ 语言:TypeScript。

    ○ UI 组件:PrimeVue。

    ○ 图表:ECharts / Chart.js。

    ○ 样式:Scss。

    ● 容器与部署: 单容器镜像内包含: 后端服务(Go)。

    ■ 前端静态资源(由 Nginx 提供访问)。

    ○ 支持 Docker / Docker Compose 一键部署与编排。

    六、部署与使用方式概览

    1) 使用 Docker Hub 远程镜像(最简单)

    ● 示例命令(来自 README):

    docker run -d --name nginxpulse \
    -p 8088:8088 \
    -p 8089:8089 \
    -e WEBSITES='[{"name":"主站","logPath":"/share/log/nginx/access.log","domains":["kaisir.cn","www.kaisir.cn"]}]' \
    -v ./nginx_data/logs/all/access.log:/share/log/nginx/access.log:ro \
    -v "$(pwd)/var/nginxpulse_data:/app/var/nginxpulse_data \
    magiccoders/nginxpulse:latest

    ● 访问: 前端:http://localhost:8088

    ○ 后端 API:http://localhost:8089

    2) Docker Compose 部署

    ● 远程镜像版本的 docker-compose.yml 示例:

    version: "3.8"
    services:
    nginxpulse:
    image: magiccoders/nginxpulse:latest
    container_name: nginxpulse
    ports:
    - "8088:8088"
    - "8089:8089"
    environment:
    WEBSITES: '[{"name":"主站","logPath":"/share/log/nginx/access.log","domains":["kaisir.cn","www.kaisir.cn"]}]'
    volumes:
    - ./nginx_data/logs/all/access.log:/share/log/nginx/access.log:ro
    - ./var/nginxpulse_data:/app/var/nginxpulse_data
    - /etc/localtime:/etc/localtime:ro
    restart: unless-stopped

    ● 启动:

    docker compose up -d

    3) 手动构建与开发

    ● 前端构建:

    cd webapp
    npm install
    npm run build

    ● 后端构建:

    go mod download
    go build -o bin/nginxpulse ./cmd/nginxpulse/main.go

    ● 本地开发(前后端一起跑):

    ./scripts/dev_local.sh

    ● 开发环境说明: 前端开发服务默认 8088,并把 /api 代理到 http://127.0.0.1:8089。

    ○ 本地开发前准备好日志文件(如放在 var/log/ 下,或修改配置中的 logPath)。

    七、关键配置说明(环境变量)

    主要环境变量与含义(无配置文件时尤为关键):

    ● WEBSITES(必填): JSON 数组,每个元素为站点对象,字段: name:站点名称。

    ■ logPath:容器内日志路径。

    ■ domains(可选):站点域名列表,用于站内访问统计。

    ● CONFIG_JSON(可选): 完整配置 JSON 字符串(等同 configs/nginxpulse_config.json)。

    ○ 设置后会忽略本地配置文件,其他环境变量仍可覆盖其中字段。

    ● LOG_DEST(可选,默认:file): 日志输出位置:file 或 stdout。

    ● TASK_INTERVAL(可选,默认:1m): 扫描间隔,支持 Go duration 格式(如 5m、25s)。

    ● DEMO_MODE(可选,默认:false): 开启演示模式,生成模拟日志。

    ● SERVER_PORT(可选,默认::8089): 后端监听地址,可传 :8089 或 8089。

    ● PV_STATUS_CODES(可选,默认:[200]): 统计 PV 的状态码列表,支持 JSON 数组或逗号分隔。

    ● PV_EXCLUDE_PATTERNS(可选,默认有内置规则): 全局 URL 排除正则数组(JSON 数组)。

    ● PV_EXCLUDE_IPS(可选,默认为空或使用配置文件): 排除 IP 列表(JSON 数组或逗号分隔)。

    八、多日志与多站点实战建议

    ● 方式一:逐条挂载多个日志文件: WEBSITES 数组中为每个网站配置一个 logPath,volumes 分别挂载对应日志文件(只读)。

    ● 方式二:挂载日志目录,然后在 WEBSITES 里按需指定文件: 示例:volumes 挂载 ./nginx_data/logs:/share/log/nginx。

    ○ WEBSITES 中 logPath 写为 /share/log/nginx/access-site1.log、access-site2.log 等。

    ● 挂载 var/nginxpulse_data: 用于持久化 SQLite 数据库和解析缓存,推荐保留以便重启不丢数据。

    九、适用场景与限制

    ● 适合: 个人博客、中小型站点、内部系统访问分析。

    ○ 想「从 0 到 1」快速搭建一套日志可视化面板,而不是搭建完整可观测平台。

    ● 限制: 面向 Nginx 访问日志,主要做访问统计与可视化,不提供全面的 APM/链路追踪能力。

    ○ 使用单机 SQLite,适合中小规模;如果日志量特别大或需要多节点协同分析,需要评估或扩展。

    ○ 使用外部 IP API(ip-api.com),内网环境需要保证能访问该域名,或者自行更换/禁用远程查询功能。

    十、如何开始?

    如果你现在就想试用:

    ● 最快方式: 使用上面的 Docker 命令或 docker-compose.yml,把你的 Nginx access.log 路径映射进去。

    ○ 设置好 WEBSITES,然后访问 http://your-host:8088 查看面板。

    ● 想先看效果: 直接打开演示站点:nginx-pulse.kaisir.cn 体验 UI 与交互。

    十一、开源与许可

    ● 项目在 GitHub 上开源(likaia/nginxpulse),采用 MIT 许可证,可自由使用、修改和分发。