Conversation
…on design document - Add bilingual (English/Chinese) design document for memory templating system - Include YAML-based MemoryTypeRegistry with 8 built-in types - Detail ReAct 3+1 phase flow with pre-fetch optimization - Describe 3-operation Schema: write/edit/delete - Document RoocodePatch SEARCH/REPLACE format - Explain dual-mode design: simple mode vs template mode - Cover pre-fetch optimization: ls directories + read .abstract.md/.overview.md + search once - Include merge operations: patch, sum, avg, immutable - Address #578: allow custom prompt template addition and specification Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add YAML-configurable memory schemas (cards, events, entities, etc.) - Implement MemoryReAct with tool use (read/find/ls) - Add schema-driven memory operations (write_uris/edit_uris/delete_uris) - Implement memory patch handler for incremental updates - Add comprehensive test suite
## Summary Implement memory templating system (GitHub Issue #578) - a complete rewrite of the memory extractor subsystem to support YAML-configurable memory types instead of hardcoded categories. ## Key Changes ### Architecture - Replace hardcoded 8 memory types with YAML-configurable schema system - Add MemoryTypeRegistry to load memory type definitions from YAML files - Dynamic Pydantic model generation from schema for type safety - Field-level merge operations: PATCH, SUM, IMMUTABLE ### Memory Extraction Flow - Implement ReAct orchestrator for single-pass memory updates - MemoryUpdater for applying operations to storage - Memory tools (read, search, ls) for ReAct loop - Stable JSON parser with 5-layer fault tolerance ### File Naming & Storage - Semantic filenames from template ({topic}.md instead of random IDs) - Two memory modes: simple mode and template mode - MEMORY_FIELDS HTML comment for structured metadata ### Configuration - 9 YAML templates in openviking/prompts/templates/memory/ - memory_config.py for memory system configuration - Dual-threshold compact upload mechanism in design doc ### Deletions - Remove old memory_content.py, memory_data.py, memory_operations.py - Remove memory_types.py, memory_utils.py, memory_patch.py - Remove corresponding old test files ### Updated Components - VLM backends (litellm, openai, volcengine) for new interfaces - Session and service core integration - Test suite for new architecture Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
## Summary Fix missing parameters in commit_async() when calling extract_long_term_memories(). The synchronous commit() method correctly passes these parameters, but the async version was missing them, causing memory extraction to be skipped. ## Changes - Pass user=self.user, session_id=self.session_id, ctx=self.ctx in commit_async() when calling extract_long_term_memories() Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
## Summary Fix JSON serialization error by converting FindResult object to dict using its to_dict() method before returning from MemorySearchTool. ## Changes - In MemorySearchTool.execute(), return search_result.to_dict() instead of search_result directly Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Also rename schema_models.py to schema_model_generator.py for clarity. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…zation - Add edit_overview_operations to MemoryUpdater for updating .overview.md files - Optimize MemoryTypeRegistry initialization in SessionCompressorV2 (load once) - Various memory templating system improvements Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Also fix duplicate line in system prompt. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- MemoryUpdater now vectorizes written/edited memory files after apply_operations - MemoryReAct generates overview following semantic.overview_generation.yaml format - Auto-extract and write .abstract.md from overview in memory_updater - Fix import: VikingURI is from openviking_cli.utils.uri Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Change vikingbot gateway to openviking-server --with-bot - Change vikingbot chat to ov chat - Update --no-markdown to --no-format - Remove --logs flag (not available) - Simplify CLI Reference table - Also update Chinese README_CN.md Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Convert from pytest to standalone script with: - SyncHTTPClient instead of AsyncHTTPClient - Rich for pretty console output - Phase control (ingest/verify/all) - Better error handling and progress display Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Failed to generate code suggestions for PR |
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
qin-ctx
requested changes
Mar 25, 2026
Collaborator
qin-ctx
left a comment
There was a problem hiding this comment.
这次 review 的结论是:修复方向基本对,但当前 v2 新增的 embedding 路径还有一个阻塞问题需要先处理,否则会把序列化后的 memory 文件直接送去向量化,影响检索语义。其余几个问题主要是测试退化和拷贝残留,建议这轮一起收掉。
另外两点建议同步处理:
- PR description 还比较空,没有关联 issue,也没有明确测试说明。
- 当前 CI 失败在
ruff format --check。
- Remove duplicate logger and create_session_compressor in session/__init__.py - Remove duplicate MemoryConfig import in open_viking_config.py Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
qin-ctx
approved these changes
Mar 25, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
还遗留问题:
Related Issue
Type of Change
Changes Made
Testing
Checklist
Screenshots (if applicable)
Additional Notes