---
title: "#Node.js — 文章"
description: 带有“Node.js”标签的文章。
image: "https://zengliangyi.com/og/blog/tag/node-js.png"
---

标签

# #Node.js

共 26 篇“Node.js”相关文章。

[全部文章](/blog)

- [#ChatCrystal](/blog/tag/chatcrystal)

- [#Node.js](/blog/tag/node-js)

- [#TypeScript](/blog/tag/typescript)

- [#SQLite](/blog/tag/sqlite)

- [#AI](/blog/tag/ai)

- [#数据解析](/blog/tag/数据解析)

- [#MCP](/blog/tag/mcp)

- [#Claude Code](/blog/tag/claude-code)

- [#知识管理](/blog/tag/知识管理)

- [#Electron](/blog/tag/electron)

[##  AI 对话格式差异：事件、快照与跨库消息定位

对照五个固定适配器，区分 JSONL 容器、事件语义与 SQLite 键布局，用两个内存数据库观察消息索引、孤立数据和未知版本。          曾亮懿       2026年10月7日      阅读约 4 分钟

#ChatCrystal

#Node.js

#SQLite](/blog/ai-conversation-format-divergence)    [##  AI 对话管理方案：四种存储路径与迁移验收

比较 Claude Code、Cursor、Copilot、Trae 的固定适配器输入，区分原始副本、可读导出与知识库，并用合成清单验证身份和信息保留。          曾亮懿       2026年10月7日      阅读约 4 分钟

#ChatCrystal

#Node.js

#SQLite](/blog/ai-conversation-management-options)    [##  五种 AI 对话解析器：字段保留与损失边界

从 Claude Code、Codex、Cursor、Trae 和 Copilot 的实际解析器建立验收矩阵，检查工具标记、思考文本、顺序与快照覆盖范围。          曾亮懿       2026年10月7日      阅读约 4 分钟

#ChatCrystal

#TypeScript

#Node.js](/blog/ai-conversation-parser-boundaries)    [##  AI SDK Provider 抽象：能力表与协议边界

核对 ChatCrystal 的七项 Provider 注册、AI SDK 7 模型工厂和结构化输出，用无网络 mock 验证 Responses、Chat Completions、Embedding 与 schema 失败。          曾亮懿       2026年10月7日      阅读约 4 分钟

#ChatCrystal

#Node.js

#TypeScript](/blog/ai-sdk-provider-abstraction)    [##  Fastify 与 Electron：桌面服务的启动和退出边界

跟踪 ChatCrystal 的本地、云端与引导模式，验证 CommonJS 动态加载和端口竞争，核对窗口、安全头及服务关闭顺序。          曾亮懿       2026年10月7日      阅读约 5 分钟

#ChatCrystal

#Node.js

#Electron](/blog/fastify-electron-service-lifecycle)    [##  MCP 协议的边界：发现、实例身份与调用权限

对照 ChatCrystal 的七个 MCP 工具，用固定 SDK 的内存传输验证同名工具可指向不同实例，并区分参数 schema、行为提示与应用权限。          曾亮懿       2026年10月7日      阅读约 4 分钟

#ChatCrystal

#MCP

#Node.js](/blog/mcp-protocol-boundaries)    [##  SourceAdapter 内部链路：身份、内容哈希与重新导入

对照 ChatCrystal 的注册表、导入器和远端载荷，验证会话身份、内容哈希、元数据捷径与 parserVersion 的实际边界。          曾亮懿       2026年10月7日      阅读约 4 分钟

#ChatCrystal

#TypeScript

#Node.js](/blog/source-adapter-internals)    [##  sql.js WASM 持久化：内存、导出、外键与保存点

对照 ChatCrystal 的数据库生命周期，运行 sql.js 1.14.2 样本，区分 SQL 提交、二进制导出、文件写入、外键恢复和嵌套回滚。          曾亮懿       2026年10月7日      阅读约 5 分钟

#ChatCrystal

#Node.js

#SQLite](/blog/sqljs-wasm-persistence)    [##  Vectra 索引内部：元数据文件、取消更新与实例缓存

核对 Vectra 0.15.0 的真实查询和存储路径，在临时索引中观察外部元数据、取消后的文件残留，以及不同实例的缓存状态。          曾亮懿       2026年10月7日      阅读约 4 分钟

#ChatCrystal

#Node.js

#SQLite](/blog/vectra-search-internals)    [##  实现 Embedding 服务：文本、分块与提交边界

对照 ChatCrystal 的真实 Embedding 流程，区分文本选择、软分块、向量校验与提交，并用离线反例验证边界。          曾亮懿       2026年10月6日      阅读约 4 分钟

#ChatCrystal

#AI

#Node.js](/blog/embedding-service-design)    [##  代码规范工具：核对 Biome、ESLint 与格式化的真实分工

阅读 ChatCrystal 的实际脚本与 Flat Config，用离线 ESLint 诊断验证规则，再区分语法检查、类型检查、格式化和 CI 门禁。          曾亮懿       2026年10月6日      阅读约 4 分钟

#ChatCrystal

#TypeScript

#Node.js](/blog/lint-format-tooling)    [##  实现最小 MCP Server：注册工具与验证 stdio 调用

用固定版本 TypeScript SDK 编写一个离线加法工具，从客户端完成初始化、发现、调用与参数错误检查，再对照 ChatCrystal 的适配边界。          曾亮懿       2026年10月6日      阅读约 4 分钟

#ChatCrystal

#MCP

#Node.js](/blog/mcp-server-implementation)    [##  多格式对话解析：JSONL、事件与 SQLite 的读取边界

从 ChatCrystal 的真实解析器出发，用离线样本验证行读取、事件筛选和数据库快照，区分格式解析、消息归一化与一致性保证。          曾亮懿       2026年10月6日      阅读约 6 分钟

#ChatCrystal

#Node.js

#SQLite](/blog/multi-format-conversation-parsing)    [##  发布工程：npm、Electron 与标签驱动的 CI

对照 ChatCrystal 的版本脚本和发布工作流，用离线计划验证标签分流、包内容和失败出口，再明确发布后仍需验收的结果。          曾亮懿       2026年10月6日      阅读约 5 分钟

#ChatCrystal

#Node.js

#GitHub Actions](/blog/npm-release-ci)    [##  p-queue 任务队列：限速、重试与取消各自保证什么

对照 ChatCrystal 的队列与状态跟踪，区分任务限速和请求限速，并用离线练习验证清空队列不会中断在途任务。          曾亮懿       2026年10月6日      阅读约 4 分钟

#ChatCrystal

#Node.js

#TypeScript](/blog/pqueue-task-queues)    [##  SourceAdapter 设计：把源发现、扫描和解析分开

阅读 ChatCrystal 的适配器接口和导入路径，用假数据验证按需解析，再检查注册、启用配置、身份与版本的接入边界。          曾亮懿       2026年10月6日      阅读约 4 分钟

#ChatCrystal

#TypeScript

#Node.js](/blog/source-adapter-design)    [##  结构化 JSON Prompt：把输出字段与来源证据一起设计

以 ChatCrystal 摘要和关系发现为例，设计字段契约、可见输入与反例样本，并用离线 Zod 练习区分格式验证和证据验证。          曾亮懿       2026年10月6日      阅读约 4 分钟

#ChatCrystal

#AI

#Node.js](/blog/structured-json-prompts)    [##  测试策略：用反例验证纯函数、数据库与 API 边界

核对 ChatCrystal 的 Node 测试入口，用离线样本练习依赖隔离、SQL 回滚和 Fastify inject，并明确这些测试没有覆盖什么。          曾亮懿       2026年10月6日      阅读约 4 分钟

#ChatCrystal

#Node.js

#TypeScript](/blog/testing-strategy)    [##  TypeScript 多包配置：类型检查与运行环境的分界

核对 ChatCrystal 的共享类型、服务端、Vite 客户端和 Electron 配置，用可复现的别名反例解释编译通过为何不等于运行成功。          曾亮懿       2026年10月6日      阅读约 4 分钟

#ChatCrystal

#TypeScript

#Node.js](/blog/typescript-monorepo-configuration)    [##  Vectra 本地搜索：用固定向量验证排序、过滤与持久化

在临时目录运行 Vectra 0.15.0 的确定性练习，检查余弦分数、元数据过滤、重新打开索引和取消更新。          曾亮懿       2026年10月6日      阅读约 4 分钟

#ChatCrystal

#AI

#Node.js](/blog/vectra-local-search)    [##  AI SDK 结构化笔记：统一调用、Schema 与业务校验

对照 ChatCrystal 的 AI SDK 7 调用，分清 provider 适配、输出类型与业务事实，用离线 Zod 练习验证提示描述的边界。          曾亮懿       2026年10月5日      阅读约 4 分钟

#ChatCrystal

#AI

#Node.js](/blog/ai-sdk-structured-notes)    [##  Electron 托盘与窗口状态：隐藏、恢复和退出的边界

对照 ChatCrystal 当前托盘菜单、窗口位置校验与退出流程，理解状态持久化能恢复什么，以及仍需测试的失败场景。          曾亮懿       2026年10月5日      阅读约 4 分钟

#ChatCrystal

#Electron

#Node.js](/blog/electron-tray-window-state)    [##  Fastify 生产静态服务：同端口、SPA fallback 与失败路径

核对 ChatCrystal 的实际构建与静态目录探测，用隔离 inject 练习验证页面、未知 API 和缺失资源的不同响应。          曾亮懿       2026年10月5日      阅读约 4 分钟

#ChatCrystal

#Fastify

#Node.js](/blog/fastify-production-static-service)    [##  从 ChatCrystal 学 Fastify：插件、校验与失败路径

对照真实 createServer 与路由边界，在隔离练习中运行 Fastify inject，验证成功、无效输入和不存在的路由。          曾亮懿       2026年10月4日      阅读约 3 分钟

#ChatCrystal

#Fastify

#Node.js](/blog/learn-fastify-with-chatcrystal)    [##  ChatCrystal 入门：从安装到第一条可搜索笔记

按 ChatCrystal 0.6.1 的实际 CLI，依次验证安装、服务、两类模型、导入、摘要与搜索，区分 npm 包和桌面应用的使用入口。          曾亮懿       2026年10月3日      阅读约 5 分钟

#ChatCrystal

#Node.js

#知识管理](/blog/chatcrystal-getting-started)    [##  从 ChatCrystal 导出到 Obsidian 的工作流

分页导出 ChatCrystal 笔记，用稳定 ID 建立 Obsidian 双向链接，并明确快照、人工编辑和增量同步之间的边界。          曾亮懿       2026年6月11日      阅读约 6 分钟

#ChatCrystal

#Obsidian

#Node.js

#知识管理](/blog/chatcrystal-to-obsidian)

##  从文章到代码

到我的 GitHub 看看 ChatCrystal、开发者工具和日常学习记录，欢迎交流实现细节。

[访问我的 GitHub](https://github.com/ZengLiangYi)

```json
{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "name": "ZengLiangYi Blog",
  "alternateName": [
    "Zeng Liangyi",
    "ZengLiangYi",
    "zengliangyi.com"
  ],
  "url": "https://zengliangyi.com",
  "description": "曾亮懿的个人网站。记录 AI Native 探索、开发者工具与全栈产品实践。"
}
```
