Gemini CLI 项目分析与开发指南

本文档围绕着初学者如何分析并开发一个类似 Gemini CLI 的项目提供了详尽的指南。核心思想是将复杂的项目分解为可管理的部分,并提供分步学习路径。指南强调了理解项目架构(如前端CLI和后端Core的职责)、熟悉代码结构掌握核心功能(如API交互和工具系统)、以及通过实践进行学习的重要性。通过阅读文档、运行和调试代码、并尝试进行小修改,学习者能够逐步掌握此类项目的开发技能。在 VSCode 中,使用 GitHub Copilot 的 Ask 模式分别对大模型(如 GPT-4.1、GPT-4o、Gemini 2.5 Pro 和 Claude Sonnet 系列)进行提问并总结。

问题

#codebase 我作为初学者,如何开始分析这个项目,以达到学习的目的,可以手动开发这种类型的项目。

下面是不同大模型给出的回答

GPT-4.1

作为初学者,分析并学习 Gemini CLI 这样的大型项目,可以按照以下步骤进行,帮助你理解架构、掌握开发流程,并为将来手动开发类似项目打下基础:

1. 阅读架构文档,理解整体结构

你可以从 architecture.md 开始,重点关注以下内容:

  • 核心组件:项目分为 CLI 前端(cli)、Core 后端(core)和工具模块(tools)。
  • 交互流程:用户输入 → CLI 处理 → Core 构建请求并与 Gemini API 通信 → 工具调用(如有)→ 返回结果 → CLI 展示。
  • 设计原则:模块化、可扩展性、良好的用户体验。

Desktop Extensions (DXT)

桌面扩展(DXT)是一种 zip 格式的软件包,旨在简化本地 MCP 服务器的安装和分发。它类似于其他应用程序扩展,通过包含一个本地 MCP 服务器及其功能的 manifest.json 文件,允许用户实现一键安装。该项目不仅提供扩展规范和用于创建 DXT 文件的 CLI 工具,还开源了 Claude for macOS and Windows 中用于加载和验证 DXT 扩展的代码,旨在为 MCP 服务器构建一个开放且可移植的生态系统。开发者只需将 MCP 服务器文件、manifest.json 放入文件夹并打包成 .dxt 文件,即可轻松创建扩展,从而方便地在支持 DXT 的应用程序中运行本地 AI 工具。

桌面扩展 (DXT)

桌面扩展 (.dxt) 是一种 zip 压缩包,其中包含一个本地 MCP 服务器和一个 manifest.json 文件,该文件描述了服务器及其功能。其格式在理念上类似于 Chrome 扩展 (.crx) 或 VS Code 扩展 (.vsix),使用户能够一键安装本地 MCP 服务器。

本仓库提供三个组件:MANIFEST.md 中的扩展规范,一个用于创建扩展的 CLI 工具(参见 CLI.md),以及 Claude for macOS and Windows 用于加载和验证 DXT 扩展的代码 (src/index.ts)。

DXT Manifest.json 规范

该文档概述了 DXT Manifest.json 规范,这是一个用于定义扩展元数据和配置的JSON文件标准。它详细说明了 manifest.json 文件的结构,包括 必填字段 如版本、名称、作者和服务器配置,以及 可选字段 如显示名称、描述、存储库信息和屏幕截图。此外,规范还涵盖了 兼容性要求(针对客户端、平台和运行时)、服务器配置(支持Python、Node.js和二进制类型,并允许平台特定覆盖和变量替换),以及 用户可配置选项 的定义和传递方式。最后,文档解释了如何声明扩展提供的 工具和提示,并支持动态生成这些功能。

Manifest 结构

manifest.json 文件包含所有扩展的元数据和配置。大多数字段是可选的。

一个只包含必填字段的基本 manifest.json 如下所示:

Gemini CLI - 开源命令行 AI 智能体

Gemini CLI 是一个专为软件开发者设计的、由AI驱动的交互式命令行工具。作为一个智能助手,它可以直接在您的终端中帮助您完成各种软件工程任务,例如解释代码、编写新功能、修复错误和自动化工作流程。它能够理解您项目的上下文,安全地读写文件、执行命令,并与您协作,从而提高开发效率,是您开发流程中的得力伙伴。

介绍

一个将 Gemini 强大功能直接带入你终端的开源 AI 智能体。

Gemini CLI 提供了强大的 AI 功能,涵盖了从代码理解和文件操作,到命令执行和动态故障排除的方方面面。它对您的命令行体验进行了根本性的升级,让您能够通过自然语言编写代码、调试问题并简化工作流程。

其强大之处源于内置工具,使您能够:

  • 使用 Google 搜索来奠定提示基础,以便您可以抓取网页并为模型提供实时的外部上下文。
  • 通过内置支持模型上下文协议 (MCP) 或捆绑扩展来扩展 Gemini CLI 的功能
  • 自定义提示和指令,根据您的具体需求和工作流程定制 Gemini。
  • 通过在脚本中非交互式地调用 Gemini CLI,实现任务自动化并与现有工作流程集成

Gemini CLI 提供业界最高的免费使用限额,每分钟可发送 60 个模型请求,每天最多 1,000 个模型请求。

安装

安装 Node.js

  • 安装最新的 LTS 版本
nvm install --lts
  • 安装最新的稳定版本
nvm install node

Gemini Robotics On-Device

本文档描述了Gemini Robotics On-Device,这是一款先进的视觉-语言-动作 (VLA) 模型,旨在本地设备上高效运行以实现通用机器人操作。该模型能够处理文本、图像和机器人本体感受数据作为输入,并输出机器人动作。训练使用了包含图像、文本以及机器人传感器和动作数据的数据集,并利用Google的Tensor Processing Units (TPUs)进行。评估结果表明,Gemini Robotics On-Device在泛化、指令遵循和快速适应方面表现出色,其性能与旗舰版Gemini Robotics 模型相似,同时超越了之前的最佳设备端VLA模型。该模型主要用于机器人应用的设备端部署,作为核心组件使机器人能够理解并响应视觉和语言指令,并在给定环境中采取行动。

Gemini Robotics On-Device 简介

模型概述与核心功能

Gemini Robotics On-Device 是一款尖端的视觉-语言-动作 (VLA) 模型,其设计宗旨是在本地设备上高效运行,以实现通用机器人操作。该模型能够支持广泛的任务、场景和多种机器人类型。

  • 模型描述: “Gemini Robotics On-Device 是我们基于设备端 Gemma 模型的先进视觉-语言-动作 (VLA) 模型。它专为通用机器人操作而设计,可在本地设备上高效运行。该模型支持广泛的任务、场景和多种机器人类型。”
  • 输入: 接收文本(例如问题或指令)、图像(例如机器人环境视角)和机器人本体感受数据(数值)。
  • 输出: 生成机器人动作的数值。
  • 架构: 基于 Gemini Robotics 技术和设备端 Gemma 模型的设备端 VLA 模型。

FastMCP 实战:构建计算器 MCP 服务器与客户端

该文档详细介绍了如何使用 FastMCP 框架来构建和集成计算器 MCP 服务器与客户端。它首先指导用户初始化并设置开发环境,包括创建虚拟环境和安装 FastMCP。接着,文档展示了MCP 服务器的开发过程,通过 main.py 文件定义了加、减、乘、除、幂等计算工具,并配置了项目元数据文件 pyproject.toml。此外,文档还提供了构建和发布服务器到 PyPI 的步骤,以及运行 MCP 服务器的方法,包括使用 MCP Inspector 进行调试和通过 FastMCP CLI 运行。最后,文档展示了MCP 客户端的开发,演示了客户端如何调用服务器上的工具,并深入探讨了将 MCP 客户端与 OpenAI 集成,实现通过自然语言与计算器服务器进行交互的能力。

创建 MCP 服务器

初始化

uv init calculator-mcp-server
cd calculator-mcp-server

创建虚拟环境

uv venv
Using CPython 3.10.9 interpreter at: /opt/miniconda/bin/python3.10
Creating virtual environment at: .venv
Activate with: source .venv/bin/activate

激活虚拟环境

source .venv/bin/activate

盘古大模型关键技术解读

自动驾驶与具身智能的发展依赖于世界模型和虚拟环境的构建,通过数字孪生和4D物理空间模拟真实世界规律以解决训练数据不足和安全性问题。盘古NLP大模型借助外部工具提升行业智能水平,而具身智能需融合3D空间理解、物理推理及行为预测能力,最终实现在高危场景中超越人类的目标。尽管发展曲折,但SFT训练链条和通用机器人愿景已展现潜力,预测大模型则致力于打破数据孤岛,通过原子级表达实现跨场景统一推演,推动AI向善与社会效率提升。

基础模型

世界模型

具身智能

预测大模型

参考资料

人工智能时代的软件 (Software in the era of AI) - Andrej Karpathy

主要介绍了软件开发领域正在经历的重大变革,将其分为软件1.0(传统手工编码)、软件2.0(基于神经网络权重训练)和软件3.0(通过自然语言提示编程大型语言模型)。演讲者将大型语言模型(LLMs)比作新型操作系统基础设施,指出它们既具备公用事业的性质(按量付费、集中式),也展现出类似芯片制造厂和操作系统的特征,且目前仍处于早期阶段(类似于1960年代的计算)。进一步探讨了LLMs的认知特性(如广博知识、幻觉、记忆局限),并强调了开发部分自主应用的重要性,这些应用能让人类通过图形用户界面自主性滑块有效监督AI。最后,演讲者提出,随着自然语言编程的兴起,人人皆可编程,并呼吁开发者为智能体优化数字基础设施和文档,预示着一个由人类与AI协作构建的 “钢铁侠战衣”式未来

Software is changing. (again)

Map of GitHub

Map of GitHub 是一个创新的数据可视化项目,旨在以交互式地图的形式展示 GitHub 上的开源项目生态。该项目由开发者 Anvaka 创建,通过复杂的算法和可视化技术,将超过 400,000 个 GitHub 仓库以节点和连接的形式呈现,帮助用户探索项目之间的关联、技术趋势以及开源社区的演变。

Software 2.0

Software 3.0

Part 1: 如何思考 LLM

LLM 具有公用事业的特性

vLLM:快速易用的 LLM 推理和服务库

大模型

在下载前,请先通过如下命令安装 ModelScope

pip install modelscope

ModelScope 下载默认存储到 ~/.cache/modelscope/hub(Linux/macOS)或 C:\Users<用户名>.cache\modelscope\hub(Windows)。--local_dir 参数可以指定下载目录。

多模态(Multi-modal)

modelscope download --model Qwen/Qwen2.5-VL-3B-Instruct --local_dir Qwen2.5-VL-3B-Instruct
modelscope download --model Qwen/Qwen2.5-VL-7B-Instruct --local_dir Qwen2.5-VL-7B-Instruct

转录(Transcriptions)

modelscope download --model openai-mirror/whisper-large-v3 --local_dir whisper-large-v3
modelscope download --model openai-mirror/whisper-large-v3-turbo --local_dir whisper-large-v3-turbo

探索多模态大模型 Qwen2.5-VL

本文档提供了一篇关于Qwen2.5-VL 多模态大模型的详细指南,涵盖了从模型架构、性能到实际部署和使用的各个方面。它不仅介绍了如何下载不同版本(如 3B 和 7B Instruct)的模型,还提供了安装和启动模型的命令行指令。此外,文档还展示了如何通过 cURL 命令测试模型,并给出了一个使用 OpenAI API 与 Qwen2.5-VL 进行交互的 Python 示例代码,该代码专注于图像中的火灾、烟雾和安全帽佩戴情况检测,支持本地和网络图片。

Qwen2.5-VL

模型架构

模型性能

魔搭下载

在下载前,请先通过如下命令安装 ModelScope

pip install modelscope

Qwen2.5-VL-3B-Instruct

modelscope download --model Qwen/Qwen2.5-VL-3B-Instruct --local_dir Qwen2.5-VL-3B-Instruct

Qwen2.5-VL-7B-Instruct

modelscope download --model Qwen/Qwen2.5-VL-7B-Instruct --local_dir Qwen2.5-VL-7B-Instruct

默认存储到 ~/.

Verdaccio:构建与管理内网 npm 仓库的实践指南

本文档提供了一份关于使用 Verdaccio 搭建本地 npm 仓库的指南。它详细介绍了如何通过 Docker 拉取 Verdaccio 镜像,以及配置目录结构和 YAML 配置文件的步骤。此外,文章还展示了通过 Docker 或 Docker Compose 部署 Verdaccio 的方法,并演示了如何使用 npm 命令(如安装、发布和下载包)与本地 Verdaccio 仓库进行交互。最后,内容涵盖了Verdaccio 的自动缓存机制以及用户创建和登录操作

什么是 Verdaccio

Verdaccio 一个基于 Node.js 的轻量级私有仓库

下载镜像

docker pull verdaccio/verdaccio

配置

创建目录结构

在本地创建一个目录结构来存储 Verdaccio 的配置文件、插件和存储数据。

mkdir -p ./verdaccio/conf
mkdir -p ./verdaccio/plugins
mkdir -p ./verdaccio/storage

创建配置文件

编辑文件 verdaccio/conf/config.yaml

可以拷贝文件 https://github.com/verdaccio/verdaccio/blob/5.x/conf/docker.yaml 的内容到 config.yaml 中,并根据需要进行修改。

跨本体具身大小脑协作框架 RoboOS

本文档介绍了 RoboOS,一个用于跨本体具身大小脑协作的框架。它首先概述了具身智能体的现有技术路线及其局限性,例如:在长程任务规划和跨本体协作方面的不足。该框架通过 “具身大脑”(负责全局感知与决策)和 “具身小脑”(提供即插即用的技能库)实现多本体协作控制。文档还重点说明了共享记忆系统空间和时间维度上的数据中心化,以及云端协同如何支持多机器人、多任务场景,并展示了自定义微调集以提高任务分解和执行的准确性。

参考资料

具身大脑 RoboBrain

本文档介绍了RoboBrain,一个由智源人工智能研究院开发的具身多模态大模型。它详细阐述了具身人工智能的发展趋势,并强调了大型模型在复杂长期操作任务中的重要性。文件中解释了任务规划可操作区域感知轨迹预测是RoboBrain实现端到端具身智能的关键能力。此外,它还介绍了用于训练RoboBrain的ShareRobot数据集,以及模型训练策略实验结果,展示了RoboBrain在各项基准测试中超越现有模型的表现。

参考资料

飞行机器人—从物理智能到具身智能

该幻灯片介绍了飞行机器人从物理智能到具身智能的演变。概述了飞行机器人的研究方向,包括在复杂环境下生成全状态轨迹、无人机动态环境感知与建模,以及全自主微型无人机集群。幻灯片还展示了如何通过创新方法克服关键挑战,例如优化在线轨迹生成和开发低延迟动态感知系统。最后,它描绘了飞行机器人技术未来的发展路径,强调了从数学驱动到数据驱动的转变,以实现更强大的具身智能和涌现智能

参考资料

具身模型 NVIDIA Isaac GROOT N1 详解

本文档概述了 NVIDIA Isaac GROOT N1,一个专为具身人工智能(Physical AI)设计的人形机器人基础模型。该系统通过三个核心原则运作:泛化能力双系统架构(结合高层认知与低层控制),以及一个涵盖现实世界数据、合成数据和网络数据的数据金字塔。 Isaac GROOT N1 利用大量训练数据来驱动人形机器人进行通用型操作,并通过 NVIDIA 的生态系统,包括 OmniverseIsaac Lab 进行模拟与部署。推荐的的微调方法是:收集真实数据,也要生成对应比例的模拟数据

Isaac GROOT Overview

Isaac GROOT N1 - Architecture

Isaac GROOT N1 - Data

Isaac GROOT N1 - Evaluation

Inference Benchmark

参考资料

具身端侧芯片 NVIDlA Jetson Thor 和 NVIDIA Isaac ROS 介绍

本文档详细介绍了NVIDIA Jetson Thor,这是一款为下一代人形机器人设计的强大计算平台,其特点包括卓越的AI性能、高速传感器处理、行业领先的安全性和强大的安全性。此外,文档还介绍了NVIDIA Isaac ROS,一个利用CUDA加速库和AI模型加速机器人开发的软件框架,并提及了NITROS以优化ROS 2的硬件加速。最后,还展示了Jetson AGX Thor开发套件和未来产品路线图,强调了该技术在复杂机器人应用中的应用,例如自主机械臂和移动机器人。

Physical Al & Robotics

AGX Thor Product Overview

Isaac ROS for Robot Development

参考资料

MCPHub 自定义服务器配置及内网部署(二)

本文档指导用户构建一个本地 PyPI 源,以便持久化存储 Python 包并进行离线安装。接着,文档说明了自定义 MCPHub 配置,包括定义 MCP 服务器市场中的服务(例如:mcp-server-time, calculator-mcp-server)以及调整 MCPHub 自身的运行时设置,例如指定本地 PyPI 源和用户认证信息。

架构图

MCPHub 自定义服务器配置及内网部署(一)

本文档重点介绍了如何在内网(离线)集成和配置一个名为 "mcp-server-time" 的特定 MCP 服务器。首先指导用户如何 获取 MCPHub 容器的 Python 环境信息,包括版本和平台标签,以便下载兼容的 Python 包。接着,文档详细阐述了如何使用 pip download 命令 下载服务器及其依赖包,并解释了各个命令参数的用途。最后,展示了如何通过 编辑 custom/servers.jsoncustom/mcp_settings.json 文件 来自定义 MCP 服务器市场配置和运行时设置,并给出了 Docker Compose 配置示例,以实现自定义配置的替换并部署。

这里使用 mcp-server-time 作为示例。

查看 MCPHub 容器的 Python 环境信息(版本和平台)

进入 MCPHub 容器

docker exec -it mcphub bash

安装 packaging 库

pip install packaging

编辑 get_info.py

Cherry Studio 分支策略指南

该文档概述了 Cherry Studio分支策略指南,详述了其软件开发中的主要分支贡献分支的使用规范。它明确指出,main分支作为主开发线,只接受通过拉取请求(PR)合入的代码,且可能包含不稳定功能;而release/*分支则用于稳定的发布代码,主要用于文档更新和错误修复。此外,文档还详细列举了不同类型的贡献分支(如功能、错误修复、文档和热修复分支)的命名约定和提交PR的目标分支,并强调了PR必须遵循的准则,包括与main同步、包含问题编号以及通过测试。最后,它还提及了版本标签管理的分类,以确保代码库的组织性和可追溯性。

Cherry Studio 采用结构化的分支策略,以维护代码质量并简化开发流程。

工作流图

主要分支

  • main: 主开发分支
  • 包含最新的开发代码。 * 不允许直接提交——所有更改必须通过拉取请求(PR)合入。 * 代码可能包含正在开发中的功能,因此可能不稳定。
  • release/*: 发布分支
  • main 分支创建。 * 包含已准备好发布的稳定代码。 * 只接受文档更新和错误修复。 * 在部署到生产环境之前,会进行彻底测试。

贡献分支

向 Cherry Studio 贡献代码时,请遵循以下准则:

  1. 功能分支 (Feature Branches):
  • main 分支创建。 * 命名格式: feature/issue-number-brief-description (例如: feature/123-add-user-profile)。 * 提交 PR 到 main 分支。

FunAudioLLM:用于人类与LLM自然交互的语音理解与生成基础模型

本文档介绍 FunAudioLLM,这是一个旨在增强人类与大型语言模型(LLM)之间自然语音交互的框架。其核心是两个创新模型:用于高精度多语种语音识别、情感识别和音频事件检测的 SenseVoice;以及用于多语种、音色和情感控制的自然语音生成的 CosyVoice。SenseVoice 具有极低的延迟并支持超过 50 种语言,而 CosyVoice 在多语种语音生成、零样本语音生成、跨语言语音克隆以及指令遵循能力方面表现出色。与 SenseVoice 和 CosyVoice 相关的模型已在 Modelscope 和 Huggingface 上开源,同时相应的训练、推理和微调代码也已在 GitHub 上发布。通过将这些模型与 LLM 集成,FunAudioLLM 能够实现语音翻译、情感语音聊天、交互式播客和富有表现力的有声读物叙述等应用,从而推动语音交互技术的边界。

SenseVoice

CosyVoice 2

参考资料 FunAudioLLM: Voice Understanding and Generation Foundation Models for Nat

Dify:开源 LLM 应用开发平台

Dify 是一个开源的 LLM 应用开发平台。其直观的界面结合了 AI 工作流、RAG 管道、Agent、模型管理、可观测性功能等,让您可以快速从原型到生产。

安装

克隆代码仓库

git clone https://github.com/langgenius/dify

Docker 部署

Dify 提供了 Docker 部署方式,您可以通过以下步骤快速部署:

cd dify
cd docker
cp .env.example .env
docker compose up -d

运行后,可以在浏览器上访问 http://localhost/install 进入 Dify 控制台并开始初始化安装操作。

自定义配置

如果您需要自定义配置,请参考 .env.example 文件中的注释,并更新 .env 文件中对应的值。此外,您可能需要根据您的具体部署环境和需求对 docker-compose.yaml 文件本身进行调整,例如更改镜像版本、端口映射或卷挂载。完成任何更改后,请重新运行 docker-compose up -d。您可以在此处找到可用环境变量的完整列表。

服务镜像

核心镜像(必需)

Qwen2.5-Omni:端到端多模态大模型

Qwen2.5-Omni是Qwen系列中全新的旗舰级端到端多模态大模型,专为全面的多模式感知设计,无缝处理包括文本、图像、音频和视频在内的各种输入,同时支持流式的文本生成和自然语音合成输出。

点击下方视频了解更多信息吧 😃

Open Video

概览

简介

Qwen 2.5-Omni是一个端到端的多模态大语言模型,旨在感知包括文本、图像、音频和视频在内的多种模态,同时以流式的方式生成文本和自然语音响应。

主要特点

  • 全能创新架构:我们提出了一种全新的Thinker-Talker架构,这是一种端到端的多模态模型,旨在支持文本/图像/音频/视频的跨模态理解,同时以流式方式生成文本和自然语音响应。我们提出了一种新的位置编码技术,称为TMRoPE(Time-aligned Multimodal RoPE),通过时间轴对齐实现视频与音频输入的精准同步。
  • 实时音视频交互:架构旨在支持完全实时交互,支持分块输入和即时输出。
  • 自然流畅的语音生成:在语音生成的自然性和稳定性方面超越了许多现有的流式和非流式替代方案。
  • 全模态性能优势:在同等规模的单模态模型进行基准测试时,表现出卓越的性能。Qwen2.5-Omni在音频能力上优于类似大小的Qwen2-Audio,并与Qwen2.5-VL-7B保持同等水平。
  • 卓越的端到端语音指令跟随能力:Qwen2.5-Omni在端到端语音指令跟随方面表现出与文本输入处理相媲美的效果,在MMLU通用知识理解和GSM8K数学推理等基准测试中表现优异。

腾讯混元多模态生成模型

本文档重点介绍了腾讯混元多模态生成模型,强调其在人工智能大模型技术革命中的作用。还概述了该模型在图像和视频生成方面的能力,并展示了其在游戏、社交媒体等领域的广泛应用。特别是,它详细阐述了文本到图像生成的速度提升,以及在游戏皮肤制作和特效创建中的实际应用。此外,该模型还被用于生成表情包多媒体内容,展示了腾讯在视觉生成技术方面的雄心。

北京智源人工智能研究院(BAAI)

本文档概述了北京智源人工智能研究院 (BAAI),一个致力于推动人工智能原始创新的新型研发机构。它详细介绍了 BAAI 的发展历程,从2018年成立至今,以及其在大型人工智能模型领域取得的重大进展,包括推出 FlagOpen 开放平台。此外,来源还介绍了 BAAI具身智能生命科学等前沿领域的具体研究成果,例如 RoboOS 2.0OpenComplex2。整体而言,这份资料展现了 BAAI构建通用人工智能推动开放生态以及解决现实世界问题方面的努力和愿景。

机器人智能操作系统研制与应用

幻灯片概述了具识智能(Insight Robotics)公司研发的机器人智能操作系统 InsightOS。内容涵盖了该操作系统的背景意义、产品形态、关键技术及其应用示范。幻灯片着重介绍了 InsightOS 作为具身智能代理(EAP)集成开发环境(IDE)结合的架构,并将其与安卓系统进行了对比,强调了其在制造业和家庭场景智能化的优势。此外,还展示了 InsightOS 在提高开发效率、处理运行异常和优化现场调度方面的实际效果,并提供了已适配的多种机器人型号清单。

华为云具身智能技术探索与实践

幻灯片概述了华为在具身智能领域的积极投入与战略。文件详细阐述了具身智能的发展趋势,包括大模型的应用产业落地以及面临的挑战。华为提出了盘古具身智能大模型作为核心,通过一体化开发平台工具链,旨在解决复杂任务规划与执行问题。此外,幻灯片还展示了具体的行业应用案例,例如智能制造物流分拣,并强调了技术创新产业合作的重要性,以推动具身智能的广泛应用。

macOS 解压RAR(Automator)

本文档详细介绍了如何在 macOS 上使用 Automator 创建一个快速操作来解压 RAR 文件。它提供了一个Shell 脚本,用于检测 Homebrew 环境并调用 rar 命令进行解压,同时包含错误处理和用户通知。文章还指导用户授予 rar 可执行文件“完全磁盘访问权限”,这是解决“Operation not permitted”错误的关键步骤。此外,文本提供了一个带调试日志功能的 Shell 脚本,帮助用户诊断解压过程中可能出现的问题,并展示了实际的调试输出。

开发 Automator 快速操作(“解压RAR”)

macOS PNG重命名并转JPG(Automator)

本文档提供了一份关于如何在 macOS 上使用 Automator 创建一个 “快速操作” 的详细指南。这个自动化工具旨在帮助用户 重命名 选定文件夹中的所有 PNG 图像为连续的数字格式,随后将它们 转换 为 JPG 格式,并在转换完成后 删除 原始的 PNG 文件。它详细说明了设置 Shell 脚本 的步骤,该脚本依赖于 HomebrewImageMagickPerl rename 工具来执行这些图像处理任务,并包含了安装这些必要依赖项的说明。用户可以通过 Finder 的右键菜单方便地运行这个自动化操作。

Automator 开发 “PNG重命名并转JPG” 快速操作

使用 Automator 快速操作(“PNG重命名并转JPG”)

创建文件夹操作的快速操作

这个工具将处理所选文件夹中的所有 PNG 图像。它将:

  1. 将文件夹中所有的 PNG 文件重命名为两位数的顺序格式(例如,01.png02.png)。
  2. 将所有 PNG 文件转换为 JPG 格式。
  3. 转换后删除原始 PNG 文件。

设置快速操作

  1. 打开 Automator: 进入您的“应用程序”文件夹,然后是“实用工具”,并打开 Automator
  2. 创建新文档: 选择“文件”>“新建”。
  3. 选择“快速操作”: 在模板选择器中,选择 “快速操作” 并点击“选取”。
  4. 配置工作流程输入:
    • 在工作流程区域的顶部,将“工作流程接收当前”设置为 “文件夹”
    • 将“位于”设置为 “Finder.app”
  5. 添加“运行 Shell 脚本”操作:
    • 在左侧的“动作”库中,搜索 “运行 Shell 脚本”
    • 将此操作拖放到右侧的工作流程区域。
  6. 配置 Shell 脚本:
    • 在“运行 Shell 脚本”操作中,将“传递输入”设置为 “作为自变量”
    • 将以下 Shell 脚本粘贴到文本框中:

【生成式AI时代下的机器学习(2025)】第十二讲:概述语音语言模型发展历程

本文档提供了关于语音大型语言模型 (Speech LLM) 的全面概述。内容从语音标记化 (speech tokenization) 的基本概念开始,这是一种将连续语音信号转换为离散单元的方法。文中还讨论了各种语音标记器类型 (types of speech tokenizers),包括 SSL 和神经编码器,并探讨了不同的解码策略 (decoding strategies) 对生成质量的影响。此外,还深入分析了训练语音 LLM 的方法 (methods for training Speech LLM),包括如何利用文本 LLM (Text LLM) 作为基础模型,并通过反馈对齐 (alignment with feedback) 优化模型。最后,概述还触及了全双工语音对话 (full-duplex speech conversation) 等前沿应用,并提供了评估语音模型 (evaluating speech models) 的框架。

【生成式AI时代下的机器学习(2025)】第十一讲:浅谈神奇的 Model Merging 技术

本文档深入探讨了模型合并(Model Merging)的技术,特别是利用任务向量(Task Vector)来增强或改变基础模型(Foundation Model)的功能。它们展示了如何通过对模型参数进行加减运算来实现不同的目标,例如让语言模型减少生成有毒内容,或者构建一个多任务模型。此外,文档还探讨了高级合并方法以及在规模化应用中模型合并的考虑因素,并提出了任务向量可以被小团队专门开发、出售和交换的未来愿景。

【生成式AI时代下的机器学习(2025)】第十讲:人工智慧的微创手术 — 浅谈 Model Editing

本文档深入探讨了模型编辑,这是一种用于更新人工智能模型知识的技术,而不需进行完全重新训练。它们首先通过对比模型编辑与传统的后训练(Post Training)来解释其概念,其中前者侧重于植入特定事实,而后者旨在学习新技能。接着详细阐述了模型编辑的评估标准,包括可靠性、泛化性和局部性,并介绍了两种主要方法:不改变模型参数改变模型参数。展示了Rank-One Model Editing (ROME) 方法,它通过直接修改模型内部参数来实现知识更新。最后,还介绍了超网络(Hypernetwork),这是一种让人工智能学习如何进行模型编辑的技术,展示了其训练和测试过程。

【生成式AI时代下的机器学习(2025)】第九讲:谈谈有关大型语言模型评估的几件事

本文档讨论了大型语言模型的评估,重点关注其推理能力记忆效应。文档展示了不同的基准测试结果,例如DeepSeekOpenAI模型在推理任务上的表现,以及模型回答可能来自“记忆”而非推理的准确性下降情况。此外,还介绍了人工通用智能(ARC-AGI)的抽象推理语料库作为一种评估框架,并探讨了聊天机器人竞技场(Chatbot Arena)及其Elo评分系统,用于衡量和比较不同模型在实际用户互动中的表现,包括情感和风格控制

快捷键大全

类别 列表
操作系统 macOS
Terminal Terminal】 【Tmux&Screen
IDE VSCode】 【Vim
GitHub Copilot GitHub Copilot

常用命令 +--------------------------------------------------------------------------------------------------------------------------+ | 🔥🔥🔥 COMMON COMMANDS (sudo nvim /etc/motd) 📝 | |==========================================================================================================================| | 🏠 wjj.com(http://127.0.0.1:4000/) | mogrify [-resize 50%] [-path jpg_path] -format jpg png_path/*.png | | ⬛️ ssh.cpu[1234] ssh.gpu1 ssh.

MCPHub:MCP 服务器聚合平台(智能路由)

本文档介绍了 MCPHub 平台的核心功能——智能路由。智能路由通过将 MCP 工具的名称和描述转换为高维语义向量,并对用户任务请求进行向量化处理,从而实现语义相似度匹配,有效识别并返回最相关的工具列表。这种方法显著减少了 AI 模型的认知负荷降低了 token 消耗达 70-90%,并提升了工具调用的准确率。文中还提供了 MCPHub 的部署指南,包括 Docker Compose 配置和 PostgreSQL 数据库设置,并展示了如何通过 DeepChat 客户端与智能路由功能进行交互,以获取如 GitHub 议题或当前时间等信息。最后,文档通过序列图和日志展示了客户端、MCPHubMCP 服务器之间的工作流程。

什么是智能路由

智能路由是 MCPHub 的核心功能之一。

技术原理

它将每个 MCP 工具的名称和描述嵌入为高维语义向量。当用户发起自然语言任务请求时,系统会将该请求也转换为向量,通过计算相似度,快速返回最相关的工具列表。

这一过程摒弃了传统的关键词匹配,具备更强的语义理解能力,能够处理自然语言的模糊性和多样性。

核心组件

  • 向量嵌入引擎:支持如 text-embedding-3-smallbge-m3 等主流模型,将文本描述转为语义向量。
  • PostgreSQL + pgvector:使用开源向量数据库方案,支持高效的向量索引和搜索。
  • 两步工作流分离
    • search_tools:负责语义工具发现
    • call_tool:执行实际工具调用逻辑

SmolAgents 概念指南:Agent 介绍

本文档探讨了人工智能代理(AI Agent)的概念,将其定义为LLM(大型语言模型)输出控制工作流程的程序代理能力是一个连续的谱系,取决于LLM对程序流程的控制程度,从简单的输出处理到控制迭代和启动其他代理。文中强调了在需要灵活工作流程时使用代理的优势,特别是多步代理通过循环推理和行动解决复杂任务的能力。此外,文档详细介绍了smolagents框架的必要性,它提供了管理工具调用、记忆和错误处理的抽象层,并提出代码代理是一种更具可组合性、通用性和在LLM训练数据中表现更好的代理实现方式。

🤔 什么是 Agent?

任何使用 AI 的高效系统都需要为大型语言模型(LLM)提供某种与现实世界交互的能力:例如,调用搜索工具以获取外部信息,或对某些程序执行操作以解决任务。换句话说,LLM 应该具有代理能力(agency)。Agent 程序是 LLM 通向外部世界的门户。

AI Agent 是LLM 输出控制工作流程的程序

任何利用 LLM 的系统都会将 LLM 的输出集成到代码中。LLM 的输入对代码工作流程的影响程度就是 LLM 在系统中的代理能力水平。

请注意,根据这个定义,“agent”不是一个离散的、非0即1的定义:相反,“代理能力”在一个连续的谱系上演变,这取决于您赋予 LLM 对工作流程的权力大小。

下表展示了代理能力在不同系统中的变化:

macOS 图像拼接工具(Automator)

本文档介绍了如何利用 macOS 的 Automator 工具创建一个自动化脚本,以实现多张图片的水平或垂直拼接。它通过将 Shell 脚本集成到“快速操作”中,使得用户可以在 Finder 中直接选中图片并进行拼接。整个过程涵盖了从 Automator 设置、Shell 脚本的配置(包括 ImageMagick 依赖和拼接逻辑)到最终的使用方法和效果展示,旨在为 macOS 用户提供一个便捷高效的图像拼接解决方案。

macOS 图像拼接工具使用说明

本工具是一个专为 macOS 设计的自动化脚本,它能帮助您将多张图片水平或垂直拼接成一张图片。

该工具设计为通过 macOS 的“快速操作”或 Automator 工作流程来调用,从而实现便捷的图形化操作。

  • 作为“快速操作”使用:
    • 设置“快速操作”: 您需要将提供的脚本保存为 Automator 工作流程的“快速操作”。
      • 打开 Automator 应用(在“应用程序” -> “实用工具”中)。
      • 选择 “文件”>“新建”
      • 选择 “快速操作” 并点击“选取”。
      • 在左侧的库中,搜索并拖动 “运行 Shell 脚本” 到右侧的工作流程区域。
      • 在“运行 Shell 脚本”模块中,将“传递输入”设置为 “作为自变量”
      • 将本工具的完整代码粘贴到“运行 Shell 脚本”的文本框中。
      • 选择 “文件”>“存储”,为您的快速操作命名,例如“图像拼接”。
    • 使用方法:
      • 打开 Finder,导航到您要拼接的图片所在的文件夹。
      • 选中您希望拼接的所有图片(请确保至少选择两张)。
      • 右键点击选中的图片,或者点击 Finder 窗口顶部的“服务”菜单。
      • 在上下文菜单中,找到并点击您刚才创建的“快速操作”名称,例如 “图像拼接”
      • 一个对话框会弹出,询问您希望“垂直拼接”还是“水平拼接”。选择您的偏好。
      • 工具将自动处理图片,并将拼接后的新图片保存在您选中的第一张图片所在的相同文件夹中。新文件的名称会包含拼接方式和时间戳,例如“垂直拼接_2024-05-20 10.30.00.png”。

GitHub Copilot for VSCode v1.100

本文档介绍了 Copilot 的三种主要模式——询问 (Ask)编辑 (Edit)代理 (Agent),并列举了 Copilot 可访问的各种工具,例如 搜索用法 (#usages)获取网页信息 (#fetch)搜索 Marketplace 扩展 (#extensions)搜索 GitHub 仓库代码 (#githubRepo),以增强模型上下文。还详细描述了 提示文件 (Prompt files)指令文件 (Instructions files) 的目的和使用,并展示了如何通过这些文件管理和定制 AI 模型的行为。

  • 提问:这与之前的“聊天”视图相同。您可以就您的工作区或一般编码问题向任何模型提问。使用 @ 符号可以调用内置的聊天参与者或已安装的扩展。使用 # 符号可以手动附加任何类型的上下文。
  • 代理:启动一个代理编码流程,其中包含一套工具,使其能够自主收集上下文、运行终端命令或执行其他操作来完成任务。代理模式已为所有 VS Code Insiders 用户启用,并且我们正在向更多 VS Code Stable 用户推出。
  • 编辑:在编辑模式下,模型可以对多个文件进行定向编辑。附加 #codebase 可以让它自动查找要编辑的文件。但它不会运行终端命令或自动执行任何其他操作。