Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
83d1576
fix bugs: try to fix bugs in _submit_web_logs
tangg555 Dec 18, 2025
e50c56c
fix bugs: try to address bugs
tangg555 Dec 18, 2025
74f1da0
Merge remote-tracking branch 'upstream/dev' into dev
tangg555 Dec 18, 2025
58eb6b8
fix bugs
tangg555 Dec 18, 2025
392b6df
Merge remote-tracking branch 'upstream/dev' into dev
tangg555 Dec 18, 2025
0d72ce7
refactor: modify examples
tangg555 Dec 18, 2025
2fe965b
revise add operation and fix an unbelievable bug
tangg555 Dec 18, 2025
26267f4
Merge branch 'dev' into scheduler
tangg555 Dec 18, 2025
eecfa51
address the bug issues
tangg555 Dec 22, 2025
7c6b7da
Merge remote-tracking branch 'upstream/dev' into dev
tangg555 Dec 22, 2025
f2da3a7
the doc file has a format problem which has been fixed in this commit
tangg555 Dec 24, 2025
a6881b4
add a range of new feats for the add operation
tangg555 Dec 24, 2025
7f39e7e
address the incompatible issue of local scheduler
tangg555 Dec 24, 2025
6778cc4
address the conflicts
tangg555 Dec 24, 2025
3fe9cb0
feat(scheduler): optimize redis queue consumer group management
tangg555 Dec 24, 2025
b35096f
fix(tests): resolve AttributeError in SimpleStructMemReader tests
tangg555 Dec 24, 2025
a7f5b77
Merge branch 'dev' into dev
tangg555 Dec 24, 2025
ded7ac6
Merge branch 'dev' into dev
tangg555 Dec 24, 2025
8943ba8
fix(mem_reader): pass info dict to add_before_search for correct user…
tangg555 Dec 24, 2025
78a4327
refactor add_before_search from mem_reader to SingleCubeView
tangg555 Dec 24, 2025
a5fc4c0
address bugs
tangg555 Dec 24, 2025
8603e9e
Merge branch 'dev' into dev
tangg555 Dec 24, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
All documentation has been moved to a separate repository: https://github.com/MemTensor/MemOS-Docs. Please edit documentation there.

所有文档已迁移至独立仓库https://github.com/MemTensor/MemOS-Docs。请在该仓库中编辑文档。
所有文档已迁移至独立仓库 https://github.com/MemTensor/MemOS-Docs 。请在该仓库中编辑文档。
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ def my_test_handler(messages: list[ScheduleMessageItem]):
task_id = str(msg.item_id)
file_path = tmp_dir / f"{task_id}.txt"
try:
sleep(1)
sleep(5)
file_path.write_text(f"Task {task_id} processed.\n")
print(f"writing {file_path} done")
except Exception as e:
Expand Down Expand Up @@ -58,7 +58,7 @@ def submit_tasks():
mem_scheduler.register_handlers({TEST_HANDLER_LABEL: my_test_handler})

# 10s to restart
mem_scheduler.orchestrator.tasks_min_idle_ms[TEST_HANDLER_LABEL] = 10_000
mem_scheduler.orchestrator.tasks_min_idle_ms[TEST_HANDLER_LABEL] = 5_000

tmp_dir = Path("./tmp")
tmp_dir.mkdir(exist_ok=True)
Expand Down Expand Up @@ -88,6 +88,6 @@ def submit_tasks():
print(f"[Result] Final files in tmp: {len(list(tmp_dir.glob('*.txt')))})")

# 7. Stop the scheduler
sleep(20)
print("Stopping the scheduler...")
sleep(5)
mem_scheduler.stop()
21 changes: 15 additions & 6 deletions src/memos/api/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,19 @@
import re
import time

from typing import Any
from typing import TYPE_CHECKING, Any

import requests

from dotenv import load_dotenv

from memos.configs.mem_cube import GeneralMemCubeConfig
from memos.configs.mem_os import MOSConfig
from memos.context.context import ContextThread
from memos.mem_cube.general import GeneralMemCube


if TYPE_CHECKING:
from memos.configs.mem_cube import GeneralMemCubeConfig
from memos.configs.mem_os import MOSConfig
from memos.mem_cube.general import GeneralMemCube


# Load environment variables
Expand Down Expand Up @@ -805,8 +808,12 @@ def get_start_default_config() -> dict[str, Any]:
return config

@staticmethod
def create_user_config(user_name: str, user_id: str) -> tuple[MOSConfig, GeneralMemCube]:
def create_user_config(user_name: str, user_id: str) -> tuple["MOSConfig", "GeneralMemCube"]:
"""Create configuration for a specific user."""
from memos.configs.mem_cube import GeneralMemCubeConfig
from memos.configs.mem_os import MOSConfig
from memos.mem_cube.general import GeneralMemCube

openai_config = APIConfig.get_openai_config()
qwen_config = APIConfig.qwen_config()
vllm_config = APIConfig.vllm_config()
Expand Down Expand Up @@ -933,12 +940,14 @@ def create_user_config(user_name: str, user_id: str) -> tuple[MOSConfig, General
return default_config, default_mem_cube

@staticmethod
def get_default_cube_config() -> GeneralMemCubeConfig | None:
def get_default_cube_config() -> "GeneralMemCubeConfig | None":
"""Get default cube configuration for product initialization.

Returns:
GeneralMemCubeConfig | None: Default cube configuration if enabled, None otherwise.
"""
from memos.configs.mem_cube import GeneralMemCubeConfig

if not APIConfig.is_default_cube_config_enabled():
return None

Expand Down
6 changes: 3 additions & 3 deletions src/memos/llms/openai.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,8 @@ def generate(self, messages: MessageList, **kwargs) -> str:
if self.config.remove_think_prefix:
return remove_thinking_tags(response_content)
if reasoning_content:
return reasoning_content + response_content
return response_content
return reasoning_content + (response_content or "")
return response_content or ""

@timed_with_status(
log_prefix="OpenAI LLM Stream",
Expand Down Expand Up @@ -151,7 +151,7 @@ def generate(self, messages: MessageList, **kwargs) -> str:
if self.config.remove_think_prefix:
return remove_thinking_tags(response_content)
else:
return response_content
return response_content or ""

def generate_stream(self, messages: MessageList, **kwargs) -> Generator[str, None, None]:
"""Stream response from Azure OpenAI LLM with optional reasoning support."""
Expand Down
Loading