---
title: 文章 — 第 2 页
description: 第 2 / 6 页：前端工程、AI 编程与开源实践文章。
image: "https://zengliangyi.com/og/default.png"
---

第 2 / 6 页

# 文章

分享前端工程与 AI 编程中的问题、实现思路和实践总结。

[最新文章](/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)

[##  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)    [##  团队知识共享：令牌、审批与实例边界

区分当前云令牌与拟议成员权限，以合成网关规则验证只读操作和整批审批，并明确共享与备份责任。          曾亮懿       2026年10月7日      阅读约 5 分钟

#ChatCrystal

#Knowledge Management

#Security](/blog/team-knowledge-sharing-plan)    [##  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)

##  从文章到代码

到我的 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 探索、开发者工具与全栈产品实践。"
}
```
