Skip to content
曾亮懿 ZengLiangYi Blog
Page 5 of 6

Blog

Notes on frontend engineering and AI coding: problems, implementation choices and lessons learned.

LLMs and embeddings: separate tasks, even with one provider

Distinguish text generation from vector generation, then verify ChatCrystal model settings, connection tests, and index rebuilding boundaries.

曾亮懿 曾亮懿
4 min read
#ChatCrystal #AI #Vector search

Note Relations and Graph Views: Discover, Project, and Verify

Trace ChatCrystal relation APIs, candidate discovery, and graph projections, keeping generated edges and tag co-occurrence within verified boundaries.

曾亮懿 曾亮懿
3 min read
#ChatCrystal #Knowledge graph #Relations

Ollama Local Workflow: Generation, Vectors, and Retrieval

Run local LLMs with Ollama: test generation endpoints, embedding dimensions, vector consistency, and ChatCrystal integration boundaries offline.

曾亮懿 曾亮懿
3 min read
#ChatCrystal #Ollama #Local-first

Recover a debugging solution: retrieve, read, then verify reuse

Use a constructed debugging scenario to check notes, vectors, and search results, then compare the original conversation with the current project.

曾亮懿 曾亮懿
4 min read
#ChatCrystal #Semantic search #Debugging

Semantic Search and Context: Finding Hidden Code Dependencies

Combine vector search with one-hop graph relation expansion in code refactoring, keeping similarity scores, candidates, and sources verifiable on disk.

曾亮懿 曾亮懿
3 min read
#ChatCrystal #Semantic search #Knowledge graph

Semantic Search: Candidate Deduplication and Graph Context

Trace query vectors, candidate growth, lexical boosts, and relation expansion in ChatCrystal, distinguishing list filtering from semantic retrieval.

曾亮懿 曾亮懿
3 min read
#ChatCrystal #Semantic search #RAG

Vectra index recovery: separate state, cleanup, and rebuilding

Diagnose semantic-search failures across note status, Vectra files, and cleanup tasks, then choose a single-note or full-index recovery path.

曾亮懿 曾亮懿
4 min read
#ChatCrystal #Vectra #Troubleshooting

Integrating PaddleOCR-VL: Building a Document Inspection Tool

Connect to Baidu PaddleOCR-VL using Python standard library: manage async polling, coordinate bounding boxes, and build a document proofreading UI.

曾亮懿 曾亮懿
8 min read
#Python #JavaScript #PaddleOCR-VL #Document Parsing

Why translate: none Failed Only in Production

Debug Lightning CSS transform merging in production. Learn why !important fails and use Tailwind variable overrides and layer orders to fix displacement.

曾亮懿 曾亮懿
7 min read
#CSS #Tailwind #Build #Debugging

Exporting ChatCrystal Notes to Obsidian

Export every page of ChatCrystal notes, build Obsidian links with stable IDs, and distinguish a readable snapshot from editing and incremental synchronization.

曾亮懿 曾亮懿
6 min read
#ChatCrystal #Obsidian #Node.js #Knowledge management

Choosing a Local Vector Store: Vectra, Chroma, and hnswlib

Compare Vectra, Chroma, and hnswlib through ChatCrystal’s deployment constraints: integration, retrieval cost, backups, and recovery boundaries.

曾亮懿 曾亮懿
6 min read
#ChatCrystal #TypeScript #Vector search #Architecture

Understanding Five AI Conversation Data Formats

How ChatCrystal parses Claude Code, Codex, Cursor, Trae, and Copilot records, and where JSONL messages, event streams, SQLite KV stores, and snapshots differ.

曾亮懿 曾亮懿
7 min read
#ChatCrystal #TypeScript #AI #Data parsing

From writing to code

Explore ChatCrystal, developer tools and daily learning notes on my GitHub. Questions about the implementation are welcome.