oshliaer / oshliaer/server-memory-editor

Memory JSONL Visualizer & Editor

Open
#7 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
HTML
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

Описание проекта

Веб-редактор для файлов memory.jsonl, генерируемых MCP server-memory. Один файл index.html, D3.js v7 с CDN.

Реверс mcp-memory-visualizer без стартовой страницы, с исправлением багов, с расчётом на расширение до полноценного редактора.

Исправляемые баги оригинала

  1. Dangling relations = crash → ghost-ноды
  2. Дубликаты entity → дублирование нод → merge + подсчёт
  3. Стрелки с хардкоженным refX=25 → динамическое укорачивание линий

Архитектура

JS — 3 логических модуля в одном файле:

  • DataModel — мутабельный state, loadFromText(), toJSONL()
  • Renderer — D3 отрисовка render(model)
  • UI — обработчики событий

Фаза 1: Viewer (MVP)

  • #1 — HTML/CSS каркас + пустое состояние
  • #2 — DataModel: парсинг JSONL/JSON, merge дубликатов, ghost-ноды
  • #3 — D3 граф: force simulation, ноды, рёбра, стрелки
  • #4 — Интерактив: выбор ноды, панель деталей, highlight, навигация
  • #5 — Поиск, легенда, статистика, export
  • #6 — Fit-to-view, document-level drag-and-drop

Фаза 2: CRUD-редактирование (локальное)

  • CRUD-методы в DataModel (createEntity, deleteEntity, addObservation, etc.)
  • Incremental D3 update (enter/update/exit вместо полного re-render)
  • UI редактирования (кнопки edit/delete в панели деталей)
  • Undo/Redo

Фаза 3: MCP-интеграция

  • MCP-клиент (подключение к server-memory)
  • Синхронизация изменений
  • Промежуточная модель (natural language → MCP tool calls)

Формат данных

{"type":"entity","name":"...","entityType":"...","observations":["..."]}
{"type":"relation","from":"...","to":"...","relationType":"..."}

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the single index.html and its DataModel, Renderer, and UI modules. The issue spans several unchecked Phase 2 and Phase 3 items, so first narrow it to one feature; no specific tests or acceptance criteria are provided, and done must be defined for the selected item.

Written by the indexing model from the issue text.

Assessment

Tech stack
d3, javascript
Domain
data-visualization, frontend, web-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.