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

第 5 / 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)

[##  LLM 与 Embedding：配置相同提供方也要区分任务

从生成文本与生成向量的接口差异出发，核对 ChatCrystal 的两套模型配置、连接测试与索引重建边界。          曾亮懿       2026年10月3日      阅读约 5 分钟

#ChatCrystal

#AI

#向量搜索](/blog/llm-and-embedding-separation)    [##  笔记关系与图视图：从候选发现到可验证扩展

按 ChatCrystal 当前关系 API、候选筛选与图投影说明自动发现、手动关系和标签图的实际边界。          曾亮懿       2026年10月3日      阅读约 3 分钟

#ChatCrystal

#知识图谱

#关系](/blog/note-relations-and-graph)    [##  Ollama 本地流程：分别验收生成、向量与笔记检索

安装本地 Ollama，独立测试两类模型请求，再接入 ChatCrystal，检查真实笔记与检索结果，明确资源和数据流边界。          曾亮懿       2026年10月3日      阅读约 4 分钟

#ChatCrystal

#Ollama

#本地优先](/blog/ollama-local-workflow)    [##  找回调试方案：从搜索候选到验证可复用条件

用一个明确标注的调试场景，检查笔记、向量和检索返回，再核对原始对话与当前项目，避免把相关分数当作正确答案。          曾亮懿       2026年10月3日      阅读约 4 分钟

#ChatCrystal

#语义搜索

#调试](/blog/recover-debugging-notes)    [##  语义搜索与关系上下文：发现隐藏依赖但保留验证

用构造的重构场景组合直接检索和一跳关系扩展，解释分数、候选和来源字段，不把关联线索写成依赖证明。          曾亮懿       2026年10月3日      阅读约 3 分钟

#ChatCrystal

#语义搜索

#知识图谱](/blog/semantic-search-relation-context)    [##  语义搜索流程：请求、候选去重与关系扩展

沿 ChatCrystal 实现检查查询向量、候选升级、词项加分和关系扩展，用实际 API 区分笔记列表筛选与语义检索。          曾亮懿       2026年10月3日      阅读约 3 分钟

#ChatCrystal

#语义搜索

#RAG](/blog/semantic-search-workflow)    [##  Vectra 索引异常排查：区分状态、清理与重建

从数据库状态、Vectra 文件和待清理任务三个层面排查语义搜索异常，按风险选择单篇重建或完整索引恢复。          曾亮懿       2026年10月3日      阅读约 4 分钟

#ChatCrystal

#Vectra

#故障排查](/blog/vectra-index-recovery)    [##  百度智能云 PaddleOCR-VL 接入实践：一个文档解析校样工具的实现

用 Python 标准库接入百度智能云 PaddleOCR-VL 文档解析 API，串起异步任务、结果下载、原件预览与坐标联动，分享开源校样工具的实现与边界。          曾亮懿       2026年9月19日      阅读约 8 分钟

#Python

#JavaScript

#PaddleOCR-VL

#文档解析](/blog/paddleocr-vl-api-proofreading)    [##  为什么 `translate: none` 只在生产环境失效

复现 Lightning CSS 合并独立变换属性的行为，解释为何 !important 不是通用修法，并用 Tailwind 变量覆盖与明确的层叠顺序修复生产位移。          曾亮懿       2026年9月11日      阅读约 7 分钟

#CSS

#Tailwind

#构建

#调试](/blog/tailwind-translate-minifier-css-layer)    [##  从 ChatCrystal 导出到 Obsidian 的工作流

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

#ChatCrystal

#Obsidian

#Node.js

#知识管理](/blog/chatcrystal-to-obsidian)    [##  本地向量数据库选型：Vectra、Chroma 与 hnswlib

从 ChatCrystal 的安装、运行和维护约束出发，对比 Vectra、Chroma 与 hnswlib 的接入方式、检索成本、备份和恢复边界。          曾亮懿       2026年6月9日      阅读约 7 分钟

#ChatCrystal

#TypeScript

#向量搜索

#架构](/blog/local-vector-database-selection)    [##  5 种 AI 对话数据格式全解析

从 Claude Code、Codex、Cursor、Trae 和 Copilot 的实际适配器出发，理解 JSONL 消息、事件流、SQLite KV 与会话快照的解析边界。          曾亮懿       2026年6月9日      阅读约 7 分钟

#ChatCrystal

#TypeScript

#AI

#数据解析](/blog/ai-conversation-data-formats)

##  从文章到代码

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