JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 9
  • Score
    100M100P100Q47806F
  • License MIT

Heartbeat daemon, config management, and background sync for OpenMnemo

Package Exports

  • @openmnemo/sync

Readme

@openmnemo/sync

Heartbeat daemon, config management, and background sync for OpenMnemo.

Runs periodically to discover new AI transcripts, import them into Memory/, commit changes to git, and optionally generate HTML reports.

Install

npm install @openmnemo/sync

This package is primarily consumed by @openmnemo/cli via the openmnemo daemon commands. Direct usage is for programmatic control.

Config

Config is stored in ~/.memorytree/config.toml.

import { loadConfig, saveConfig, memorytreeRoot } from '@openmnemo/sync'

const config = loadConfig()
// {
//   heartbeat_interval: '5m',
//   auto_push: true,
//   generate_report: false,
//   locale: 'en',
//   ai_summary_model: 'claude-haiku-4-5-20251001',
//   ...
// }

Config fields

Field Default Description
heartbeat_interval '5m' Heartbeat interval (e.g. '5m', '1h')
auto_push true Git push after each import
generate_report false Build HTML report on each heartbeat
locale 'en' Report locale ('en' or 'zh-CN')
ai_summary_model 'claude-haiku-4-5-20251001' Model for AI session summaries
gh_pages_branch '' Deploy report to this branch (empty = skip)
cname '' Custom domain for GitHub Pages
webhook_url '' Notify Feishu/Slack/Discord/Telegram on publish
report_base_url '' Base URL for report RSS/OG links

Programmatic heartbeat

import { runHeartbeat } from '@openmnemo/sync'

await runHeartbeat()

Lock management

import { acquireLock, releaseLock, readLockPid } from '@openmnemo/sync'

const acquired = acquireLock()
if (acquired) {
  // run heartbeat
  releaseLock()
}

Alerts

import { readAlerts, writeAlert, clearAlerts } from '@openmnemo/sync'

const alerts = readAlerts()
writeAlert({ type: 'sensitive-content', message: 'API key detected', project: 'my-project' })
clearAlerts()

License

MIT