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

Blog

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

Tailwind CSS v4 and Vite: Compiling Utilities and Variables

Check ChatCrystal’s two-package installation, Vite plugin, and CSS variable themes while separating build-time utilities from runtime values.

曾亮懿 曾亮懿
3 min read
#ChatCrystal #Tailwind CSS #Vite

Getting started with ChatCrystal: install, import, and search

Verify installation, the local service, both model configurations, import, summarization, and search with the actual ChatCrystal 0.6.1 CLI.

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

Set up ChatCrystal MCP: make Claude Code calls reviewable

Connect ChatCrystal to Claude Code with a project-scoped stdio server, then verify its seven tools, HTTP backend, approvals, and request path.

曾亮懿 曾亮懿
3 min read
#ChatCrystal #MCP #Claude Code

Importing Claude Code history: paths, parsing, and verification

Check history paths, JSONL filtering, incremental import, and watcher limitations against the current ChatCrystal adapter.

曾亮懿 曾亮懿
4 min read
#ChatCrystal #Claude Code #Data parsing

Filtering Claude Code JSONL: Events, Blocks, and Omissions

Follow ChatCrystal relevance checks, content extraction, and tag cleanup to distinguish top-level filtering from nested thinking and tool flags.

曾亮懿 曾亮懿
4 min read
#ChatCrystal #Claude Code #JSONL #Data parsing

Claude Code memory workflow: recall, verify, then write back

Use recall_for_task, validate_task_memory, and write_task_memory as an auditable workflow without treating MCP configuration as an automatic-memory guarantee.

曾亮懿 曾亮懿
4 min read
#ChatCrystal #MCP #Claude Code

Configuring Cloud LLMs: Providers, Endpoints, and Summaries

Follow ChatCrystal provider registrations to configure remote generation and check native APIs, gateways, persisted settings, credentials, and test boundaries.

曾亮懿 曾亮懿
4 min read
#ChatCrystal #LLM #Configuration

Importing Codex, Trae, and Copilot: verify each history format

Check source directories, event extraction, and snapshot boundaries in ChatCrystal, then verify each adapter against a conversation you know.

曾亮懿 曾亮懿
4 min read
#ChatCrystal #Data parsing #Knowledge management

Memory Budgets for Large Chat Imports: Measure Before Batching

Profile memory peaks in large chat imports with sql.js and task queues. Size batches from reproducible benchmarks instead of arbitrary fixed thresholds.

曾亮懿 曾亮懿
6 min read
#ChatCrystal #Import #Performance

Importing Cursor history: workspace metadata and global messages

Trace how ChatCrystal joins Cursor SQLite data, discovers orphan sessions, and extracts messages, then verify the import with a known conversation.

曾亮懿 曾亮懿
4 min read
#ChatCrystal #Cursor #SQLite #Data parsing

Parsing Cursor SQLite: Debugging Missing Messages Across Tables

Check paired databases, key prefixes, unknown versions, and orphan discovery to distinguish unreadable data, parsing omissions, and absent records.

曾亮懿 曾亮懿
4 min read
#ChatCrystal #Cursor #SQLite #Data parsing

Configuring Embeddings: Model Selection and Rebuilding

Check task support, actual embedding inputs, and index compatibility, then accept model settings and changes with known notes and no-answer queries.

曾亮懿 曾亮懿
3 min read
#ChatCrystal #Embedding #Vector search

From writing to code

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