oshliaer / oshliaer/server-memory-editor
Memory JSONL Visualizer & Editor
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 без стартовой страницы, с исправлением багов, с расчётом на расширение до полноценного редактора.
Исправляемые баги оригинала
- Dangling relations = crash → ghost-ноды
- Дубликаты entity → дублирование нод → merge + подсчёт
- Стрелки с хардкоженным 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
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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