Skip to content

Releases: ZengLiangYi/ChatCrystal

ChatCrystal v0.4.10

07 May 10:08

Choose a tag to compare

ChatCrystal v0.4.9

29 Apr 08:54

Choose a tag to compare

Experience Quality Gate

  • Hybrid experience filtering — Added lexical signal extraction, deterministic prefilters, and an LLM-scored rubric to keep reusable problem-solving experience while rejecting low-signal transcripts before note creation.
  • Reviewable filter metadata — Conversations can now persist experience_score, experience_gate_reason, and experience_gate_details; rejected summaries are marked filtered instead of creating notes.
  • Writeback quality validationwrite_task_memory now rejects sparse structured memories in automatic mode and records idempotent receipts with low-signal reasons.

Calibration

  • Offline gate evaluation — Added npm run eval:experience -w server with 37 synthetic calibration samples, false accept/reject reporting, and sample provenance/privacy checks.

Documentation

  • Bilingual docs split — Slimmed the root READMEs and moved user guide, MCP, development, experience gate, and agent skills content into paired English and Simplified Chinese docs.

ChatCrystal v0.4.7

28 Apr 03:25

Choose a tag to compare

Release v0.4.7

ChatCrystal v0.4.6

16 Apr 09:21

Choose a tag to compare

Memory Loop

  • Task memory recall + writeback APIs — Added /api/memory/recall and /api/memory/writeback with shared request/response contracts for project-first recall, global supplement recall, and agent/manual memory writeback.
  • MCP memory tools — Added recall_for_task and write_task_memory to the MCP server so external agents can retrieve and persist task memories through the same server-side contract.
  • Conservative writeback semantics — Automatic writeback now supports idempotent receipts, pending/completed indexing status, conservative merge decisions, and supplemental relations for strongly related memories.

Memory Metadata

  • Project-scoped memory model — Notes now store project_key, scope, source_type, source_agent, task_kind, error_signatures, files_touched, and outcome_type, with DB bootstrap/backfill for legacy imported notes.
  • Synthetic memory origins — Added synthetic origin conversations for writeback-created memories while hiding them from the default conversations list.
  • Project identity stability — Added canonical project-key derivation plus alias support so moved repos and upgraded project identifiers can still recall the same project memories.

Quality

  • Coverage for memory services and routes — Added regression tests across schemas, project-key derivation, recall, writeback, backfill, origin creation, decision logic, and HTTP route behavior.
  • Real HTTP + MCP smoke coverage — Verified the full writeback/recall loop through a real Fastify process and MCP stdio server with a mock embedding backend.

Client Performance

  • Route-level lazy loading — Switched the main client routes to lazy-loaded page bundles with a shared suspense fallback so the initial app payload is smaller.
  • Relation graph canvas split — Moved the force-graph implementation into a lazily loaded RelationGraphCanvas component so the graph runtime is only loaded when the graph page is opened.
  • Lighter markdown code blocks — Replaced react-syntax-highlighter with native <pre><code> rendering and removed the related client dependencies from the bundle.

ChatCrystal v0.4.5

15 Apr 17:03

Choose a tag to compare

Release v0.4.5

ChatCrystal v0.4.3

16 Apr 09:20

Choose a tag to compare

Release v0.4.3

ChatCrystal v0.4.2

10 Apr 08:50

Choose a tag to compare

Release v0.4.2

ChatCrystal v0.4.1

10 Apr 06:43

Choose a tag to compare

Release v0.4.1

ChatCrystal v0.4.0

10 Apr 03:54

Choose a tag to compare

New Data Sources

  • Trae adapter — Imports conversations from Trae IDE. Reads memento/icube-ai-agent-storage from workspace state.vscdb. Extracts assistant responses from agentTaskContent.guideline.planItems, reasoning content as thinking, and handles unreliable timestamps via turnIndex ordering.
  • GitHub Copilot adapter — Imports conversations from VS Code's GitHub Copilot Chat. Supports both .jsonl (session snapshots) and .json (older format) from workspaceStorage/chatSessions/ and globalStorage/emptyWindowChatSessions/. Extracts thinking blocks, tool invocations, and customTitle as slug.

Improvements

  • Shared sql.js module — Extracted openVscdb() into parser/vscdb.ts, shared by Cursor and Trae adapters. Single sql.js instance across the process.
  • Cursor orphan bubble discovery — Scans cursorDiskKV for composers with bubble data not listed in any workspace's composerData. Filters out empty shells (no text content) to avoid noise.
  • Codex scan 65x faster — Replaced serial readFirstLine() (97ms/file) with filename-based sessionId extraction + parallel stat() in batches of 20. Scan time: 40s → 0.6s for 337 files.
  • Scan caching — All adapters with expensive detect→scan cycles (Cursor, Codex, Copilot) now use 5-second TTL caches to avoid redundant filesystem traversal.
  • Config migration — Existing config.json files automatically gain new trae and copilot entries in enabledSources on upgrade.
  • Frontend source badges — Added Trae (indigo) and Copilot (GitHub blue) to SOURCE_CONFIG and SOURCE_COLORS maps.
  • Platform path robustness — All adapters now use homedir() from node:os instead of process.env.HOME for macOS/Linux paths.

ChatCrystal v0.3.0

09 Apr 10:07

Choose a tag to compare