* feat: support dynamic project_name config in VectorDB / volcengine
* feat: support dynamic project_name config in VectorDB / volcengine
* feat: support dynamic project_name config in VectorDB / volcengine
* feat: support dynamic project_name config in VectorDB / volcengine
* feat: support dynamic project_name config in VectorDB / volcengine
- refactor session memory pipeline across extractor, deduplicator, and compressor
- introduce richer dedup decisions and per-memory actions (skip/create/none, merge/delete)
- improve dedup prompt contracts and memory merge/extraction templates
- update storage schema/validation/vector backend to support new memory behavior
- add examples/memory_demo.py and refresh session concept docs for the new flow
* fix: temp dir check failed
* feat: make temp uri readable, and enlarge timeout of add-resource
* fix: server uvloop conflicts with nest_asyncio
* fix: tree uri output error
* fix: forbid unknown config field, early failed
* docs: update readme
* feat: support dynamic project_name config in VectorDB / volcengine
* feat: support dynamic project_name config in VectorDB / volcengine
* feat: support dynamic project_name config in VectorDB / volcengine
* feat: support dynamic project_name config in VectorDB / volcengine
* fix: remove await asyncio and call agfs directly
* feat: mv cli out of openviking
* refactor: mv cli out of openviking
* refactor: mv cli out of openviking
* refactor: mv cli out of openviking
* refactor: mv cli out of openviking
* refactor: mv cli out of openviking
* refactor: mv cli out of openviking
* fix: remove await asyncio and call agfs directly
* feat: mv cli out of openviking
* refactor: mv cli out of openviking
* refactor: mv cli out of openviking
* fix: remove await asyncio and call agfs directly
* feat: add transaction storage
* feat: init transaction_manager when start
* feat: add transaction again, no check
* feat: add transaction manager and its observer, but without any working code
* feat: add code parser, not tested
* feat: rename CodeParser to CodeRepositoryParser
* fix: code parser data uploading
* fix: code parser data uploading
* fix: code parsing
* feat: protect binary files to summary and vectorize
* Update viking_fs.py
* feat: use a default dir ~/.openviking to store configuration
- Create ObserverService class with queue/vikingdb/vlm/system properties
- DebugService holds ObserverService as a member
- Add client.observer property, enabling print(client.observer.vikingdb) syntax
- Add __str__ method to ComponentStatus and SystemStatus for direct printing
- Create dedicated debug API documentation (07-debug.md)
- Update architecture docs with new DebugService description
- Update unit tests
* refactor: extract Service layer from async_client
Extract business logic from async_client.py into independent Service layer
to decouple business logic from transport layer, enabling reuse across
HTTP Server and CLI.
New files:
- openviking/exceptions.py: Unified exception classes based on gRPC status codes
- openviking/service/core.py: OpenVikingService main class
- openviking/service/fs_service.py: File system operations (ls, mkdir, rm, mv, etc.)
- openviking/service/resource_service.py: Resource import and skill addition
- openviking/service/search_service.py: Semantic search (find, search)
- openviking/service/session_service.py: Session management
- openviking/service/relation_service.py: Relation management (link, unlink)
- openviking/service/pack_service.py: Import/export ovpack operations
Modified:
- openviking/async_client.py: Refactored as compatibility layer delegating to OpenVikingService
* feat: add DebugService for system status and health check
- Add DebugService with get_queue_status, get_vikingdb_status,get_vlm_status, get_system_status, and is_healthy methods
- Replace observers property with get_status() and is_healthy() in async_client and sync_client
- Update API docs (zh/en) and architecture docs
- Add unit tests for DebugService
* fix: debug service test