@simbimbo/memory-ocmemog 0.1.4 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,12 +1,20 @@
1
1
  #!/usr/bin/env python3
2
2
  from __future__ import annotations
3
3
 
4
+ import os
4
5
  import sys
5
6
  from pathlib import Path
6
7
 
7
8
  REPO_ROOT = Path(__file__).resolve().parents[1]
8
9
  sys.path.insert(0, str(REPO_ROOT))
9
10
 
11
+ os.environ.setdefault("OCMEMOG_USE_OLLAMA", "true")
12
+ os.environ.setdefault("OCMEMOG_OLLAMA_MODEL", "phi3:latest")
13
+ os.environ.setdefault("OCMEMOG_OLLAMA_EMBED_MODEL", "nomic-embed-text:latest")
14
+ os.environ.setdefault("BRAIN_EMBED_MODEL_PROVIDER", "ollama")
15
+ os.environ.setdefault("BRAIN_EMBED_MODEL_LOCAL", "")
16
+ os.environ.setdefault("OCMEMOG_STATE_DIR", str(REPO_ROOT / ".ocmemog-state"))
17
+
10
18
  from brain.runtime.memory import vector_index
11
19
 
12
20
  if __name__ == "__main__":
@@ -119,7 +119,7 @@ def _run_sequence(base_url: str, *, token: str | None, timeout: float, worker_id
119
119
 
120
120
  def main() -> None:
121
121
  parser = argparse.ArgumentParser(description="Run a live reliability soak against the local ocmemog sidecar.")
122
- parser.add_argument("--base-url", default="http://127.0.0.1:17890")
122
+ parser.add_argument("--base-url", default="http://127.0.0.1:17891")
123
123
  parser.add_argument("--iterations", type=int, default=8)
124
124
  parser.add_argument("--workers", type=int, default=2)
125
125
  parser.add_argument("--timeout", type=float, default=30.0)
@@ -3,7 +3,7 @@ set -euo pipefail
3
3
 
4
4
  ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
5
5
  HOST="${OCMEMOG_HOST:-127.0.0.1}"
6
- PORT="${OCMEMOG_PORT:-17890}"
6
+ PORT="${OCMEMOG_PORT:-17891}"
7
7
  PYTHON_BIN="${OCMEMOG_PYTHON_BIN:-}"
8
8
 
9
9
  export PATH="/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:${PATH:-}"
@@ -13,21 +13,47 @@ export OCMEMOG_STATE_DIR="${OCMEMOG_STATE_DIR:-${ROOT_DIR}/.ocmemog-state}"
13
13
  export PYTHONPATH="${ROOT_DIR}${PYTHONPATH:+:${PYTHONPATH}}"
14
14
  mkdir -p "${OCMEMOG_STATE_DIR}" "${OCMEMOG_STATE_DIR}/logs"
15
15
 
16
+ is_on_battery() {
17
+ if [[ "$(uname -s)" != "Darwin" ]]; then
18
+ return 1
19
+ fi
20
+ command -v pmset >/dev/null 2>&1 || return 1
21
+ pmset -g batt 2>/dev/null | grep -q "Battery Power"
22
+ }
23
+
24
+ LAPTOP_MODE="${OCMEMOG_LAPTOP_MODE:-auto}"
25
+ if [[ "$LAPTOP_MODE" == "auto" ]]; then
26
+ if is_on_battery; then
27
+ LAPTOP_MODE="battery"
28
+ else
29
+ LAPTOP_MODE="ac"
30
+ fi
31
+ fi
32
+ export OCMEMOG_LAPTOP_MODE="$LAPTOP_MODE"
33
+
16
34
  # defaults for local ollama-backed inference/embeddings
17
35
  export OCMEMOG_USE_OLLAMA="${OCMEMOG_USE_OLLAMA:-true}"
18
36
  export OCMEMOG_OLLAMA_MODEL="${OCMEMOG_OLLAMA_MODEL:-phi3:latest}"
19
37
  export OCMEMOG_OLLAMA_EMBED_MODEL="${OCMEMOG_OLLAMA_EMBED_MODEL:-nomic-embed-text:latest}"
38
+ export OCMEMOG_PONDER_MODEL="${OCMEMOG_PONDER_MODEL:-qwen2.5:7b}"
20
39
  export BRAIN_EMBED_MODEL_PROVIDER="${BRAIN_EMBED_MODEL_PROVIDER:-ollama}"
21
40
  export BRAIN_EMBED_MODEL_LOCAL="${BRAIN_EMBED_MODEL_LOCAL:-}"
22
41
 
23
- # always-on transcript watcher defaults
42
+ # battery-aware transcript watcher defaults
24
43
  export OCMEMOG_TRANSCRIPT_WATCHER="${OCMEMOG_TRANSCRIPT_WATCHER:-true}"
25
44
  export OCMEMOG_SESSION_DIR="${OCMEMOG_SESSION_DIR:-$HOME/.openclaw/agents/main/sessions}"
26
- export OCMEMOG_TRANSCRIPT_POLL_SECONDS="${OCMEMOG_TRANSCRIPT_POLL_SECONDS:-30}"
27
- export OCMEMOG_INGEST_BATCH_SECONDS="${OCMEMOG_INGEST_BATCH_SECONDS:-30}"
28
- export OCMEMOG_INGEST_BATCH_MAX="${OCMEMOG_INGEST_BATCH_MAX:-25}"
29
- export OCMEMOG_INGEST_ENDPOINT="${OCMEMOG_INGEST_ENDPOINT:-http://127.0.0.1:17890/memory/ingest_async}"
30
- export OCMEMOG_REINFORCE_SENTIMENT="${OCMEMOG_REINFORCE_SENTIMENT:-true}"
45
+ if [[ "$LAPTOP_MODE" == "battery" ]]; then
46
+ export OCMEMOG_TRANSCRIPT_POLL_SECONDS="${OCMEMOG_TRANSCRIPT_POLL_SECONDS:-120}"
47
+ export OCMEMOG_INGEST_BATCH_SECONDS="${OCMEMOG_INGEST_BATCH_SECONDS:-120}"
48
+ export OCMEMOG_INGEST_BATCH_MAX="${OCMEMOG_INGEST_BATCH_MAX:-10}"
49
+ export OCMEMOG_REINFORCE_SENTIMENT="${OCMEMOG_REINFORCE_SENTIMENT:-false}"
50
+ else
51
+ export OCMEMOG_TRANSCRIPT_POLL_SECONDS="${OCMEMOG_TRANSCRIPT_POLL_SECONDS:-30}"
52
+ export OCMEMOG_INGEST_BATCH_SECONDS="${OCMEMOG_INGEST_BATCH_SECONDS:-30}"
53
+ export OCMEMOG_INGEST_BATCH_MAX="${OCMEMOG_INGEST_BATCH_MAX:-25}"
54
+ export OCMEMOG_REINFORCE_SENTIMENT="${OCMEMOG_REINFORCE_SENTIMENT:-true}"
55
+ fi
56
+ export OCMEMOG_INGEST_ENDPOINT="${OCMEMOG_INGEST_ENDPOINT:-http://127.0.0.1:17891/memory/ingest_async}"
31
57
  export OCMEMOG_INGEST_SOURCE="${OCMEMOG_INGEST_SOURCE:-transcript}"
32
58
  export OCMEMOG_INGEST_MEMORY_TYPE="${OCMEMOG_INGEST_MEMORY_TYPE:-reflections}"
33
59
 
@@ -12,7 +12,7 @@ from pathlib import Path
12
12
  from typing import Iterable
13
13
  from urllib import request as urlrequest
14
14
 
15
- DEFAULT_ENDPOINT = "http://127.0.0.1:17890"
15
+ DEFAULT_ENDPOINT = "http://127.0.0.1:17891"
16
16
  DEFAULT_EXTS = {".md", ".txt", ".log", ".jsonl"}
17
17
  DEFAULT_SKIP_DIRS = {
18
18
  ".git",