feat(runtime): add session_storage config support - #1
Open
jsuwuj wants to merge 26 commits into
Open
Conversation
…rences in async client - dataplane.py:177: correct get_message return annotation from dict[str, Any] to MessageInfo (match actual return and async version) - async_client.py:129,138,167,172: use self.region_name instead of self._async_data_plane.client.region_name, aligning with sync MemoryClient. In other words, AsyncMemoryClient.get_space/list_spaces/update_space/delete_space referenced self._async_data_plane.client.region_name, now use self.region_name instead, matching create_space
…put() Langgraph calls put() after every graph step with the FULL accumulated messages list (not a delta). The previous implementation converted and send ALL messages on every put() call, and the backend do not deduplicate, so an N-step conversation produced N*(N+1)/2 messages instead of N. The extra API calls also caused frequent 429 rate limits. Fix: track per-session persisted message count in the saver. get_tuple() initialize the count from backend state; put() slices messages[last_count:] and only send the delta. Count is updated only after add_messages() succeed, so a failed put() retry the same delta on the next call. The same fix is applied to the async path (aget_tuple/aput).
- memory_service.py: add delete_session method (DELETE /v1/core/spaces/{space_id}/sessions/{session_id})
- memory_service_async.py: add async delete_session method
- dataplane.py: add delete_session method
- dataplane_async.py: add async delete_session method
- client.py: expose delete_session in MemoryClient
- async_client.py: expose delete_session in AsyncMemoryClient
- session.py: add delete() convenience method to MemorySession
- async_session.py: add delete() convenience method to AsyncMemorySession
Remove the pre-delete log and merge space_id/session_id into a single success log after deletion. The "After deletion" warning logs in session layer are also removed since the docstring already covers that. Ref: maintainer review comment on PR
Add session_storage_mount_path field to StorageConfig, alongside sfs_turbo, so users can specify a session storage mount path in the container when creating/deploying a runtime.
fix(memory): align type annotations and correct region attribute references in async client
…e-duplication fix(integration/langgraph): stop message duplication in checkpointer
…ts Memory - interactive navigation assistant with POI search, route planning, and map links via AMap API (mock fallback when key not set) - LangGraph ReAct agent with AgentArtsMemorySessionSaver checkpointer and recall_memory tool for long-term semantic search - TUI (Textual) and CLI modes with multi-session support - bilingual documentation (EN/CN) and configuration templates - add `tui` extra (textual>=0.86.0) to pyproject.toml, include in `all` - add sessions.json to .gitignore for the new demo path
…demo - add auto_recall node: searches AgentArtsMemoryStore before each LLM call and injects top-K relevant memories into the system prompt via [Memory Context], degrading gracefully on search failure - reposition recall_memory tool as on-demand deep recall for queries beyond the auto-injected context - update README (EN/CN) with the hybrid recall architecture diagram, docs for the new node/tool split, and a note on disabling auto-recall for comparison testing - add AUTO_RECALL_TOP_K / AUTO_RECALL_ENABLED to config for tuning the auto-injection behavior - close AgentArtsMemoryStore in the TUI app on unmount to avoid resource leaks - change the default AGENTARTS_CONTROL_ENDPOINT to the SW-Guiyang-1 (cn-southwest-2) region in .env.example and config.py
…mode - extract SYSTEM_PROMPT to prompts.py for independent iteration - create message_utils.py with extract_message_content() and fetch_session_history() to eliminate code duplication between CLI and TUI — TUI's _extract_content and inline MemoryClient logic replaced by the shared helpers - make --debug imply CLI mode so SDK INFO logs scroll naturally in the terminal instead of being wiped by TUI redraws - add _print_debug_trace() with agent.stream(stream_mode="updates") for real-time per-node tracing in debug mode - show recent session message history on CLI resume (matching TUI's existing behavior) - fix CLI message_count to load historical count for resumed sessions instead of overwriting with 0 - update recall_memory docstring from restrictive to encouraging tone (consistent with SYSTEM_PROMPT changes in prompts.py) - fix README latency description from "zero latency" to "saves an LLM round-trip" - add uv pip install langchain-openai to docs for uv users
…on-api feat(memory): add delete_session API support
…anggraph-memory-demo feat(integration): add navigation agent demo with LangGraph + AgentArts Memory
fix(memory): resolve the error in the agent_with_memory example
…y-hermes-#43 feat(memory): Hermes Memory Provider plugin
…orage object
Replace flat string field session_storage_mount_path with
SessionStorageConfig model containing mount_path, serialized as
{"session_storage": {"mount_path": "..."}}.
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.
Summary
SessionStorageConfig模型,支持mount_path字段storage_config新增session_storage配置项,序列化为{"session_storage": {"mount_path": "..."}}agentarts initYAML 模板同步更新Test plan