10 篇文章带有标签 “nodejs”

Claude Code 项目概览及架构设计

一、项目概述

Claude Code 是 Anthropic 开发的一款终端智能体编码工具,通过自然语言与开发者交互,理解代码库上下文,自动化完成日常编码任务、代码审查、Git 工作流管理等工作。

核心特性

  • 基于 Anthropic Claude 大语言模型
  • 高度可扩展的插件架构
  • 安全的工具调用和权限管理
  • 支持多种工作流和集成

二、项目目录结构

本地 AI 助手 OpenClaw:macOS 实操指南 + 核心架构分析

OpenClaw 简介

自2025年11月由PSPDFKit创始人Peter Steinberger作为周末项目启动(最初名为Clawd/Clawdbot),OpenClaw(曾短暂更名为Moltbot)在2026年1月迅速走红,成为当年上半年增长最快的开源AI智能体框架之一。该项目GitHub星数已超过13万(部分报道接近15万),其最大亮点在于真正实现了“本地优先、本地执行”的自主任务能力,而非单纯的云端聊天。

OpenClaw不是传统AI聊天助手,而是一个运行在用户本地硬件(Mac、PC、服务器)上的自动化中枢。它通过消息类应用(如WhatsApp、Telegram、iMessage、Discord等)接收自然语言指令,能够执行真实电脑操作:读写文件、运行命令、操作浏览器、管理邮件日历、甚至自主编写新技能。

OpenClaw 项目架构概览

设计哲学 OpenClaw 被设计为一个模块化、可扩展且强健的个人 AI 助手系统。其核心理念包括: 解耦 (Decoupling):将智能体逻辑与传输层(如 Discord、Telegram 等通道)以及控制平面(Gateway)分离。 可扩展性 (Extensibility):通过 Hook 和插件系统支持注入上下文或对智能体运行进行后处理。

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

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 中,并根据需要进行修改。

MCP 快速入门指南

🚀 MCP 快速入门指南

❓ 什么是 MCP 服务器?

可以把 MCP 服务器想象成给 Cline 提供额外功能的特殊助手!它们让 Cline 能够完成像获取网页或处理文件这样的酷炫功能。

⚠️ 重要提示:系统要求

停一下!在继续之前,你必须验证以下要求:

必需软件

  • ✅ 最新版本的 Node.js (v18 或更新版本)
  • ✅ 最新版本的 Python (v3.8 或更新版本)
  • ✅ UV 包管理器
    • 安装 Python 后,运行:pip install uv
    • 使用以下命令验证:uv --version

❗ 如果以上任何命令失败或显示较旧的版本,请在继续之前进行安装/更新!

⚠️ 如果遇到其他错误,请参见下方的"故障排除"部分。

🎯 快速步骤(仅在满足要求后执行!)

1. 🛠️ 安装你的第一个 MCP 服务器

  1. 在 Cline 扩展中,点击 MCP Server 标签
  2. 点击 Edit MCP Settings 按钮
MCP 服务器面板
  1. MCP 设置文件应该会在 VS Code 中显示。
  2. 将文件内容替换为以下代码:

Windows 系统:

在Kubernetes上运行第一个应用

基于Node构建应用

app.js

const http = require('http');
const os = require('os');

console.log("Kubia server starting...");

var handler = function(request, response) {
  console.log("Received request from " + request.connection.remoteAddress);
  response.writeHead(200);
  response.end("You've hit " + os.hostname() + "\n");
};

var www = http.createServer(handler);
www.listen(8080);

Dockerfile

FROM node:16-slim
ADD app.js /app.js
ENTRYPOINT ["node", "app.js"]

构建

docker build -t wangjunjian/kubia .

运行 docker run -d -p 8080:8080 wangjun