Spaces:
Build error
Build error
Download headroom/memory/writers/generic_writer.py from minhtudragon/headroom_3: direct link, hf CLI and curl.
- Browser
- Download file 1.71 kB
-
https://huggingface.co/spaces/minhtudragon/headroom_3/resolve/823b8dc3bb2c57bc3f7b6cabcbacaa82ef77d077/headroom/memory/writers/generic_writer.py
- Command line
-
hf download hf://spaces/minhtudragon/headroom_3@823b8dc3bb2c57bc3f7b6cabcbacaa82ef77d077/headroom/memory/writers/generic_writer.py
-
curl -L -o generic_writer.py https://huggingface.co/spaces/minhtudragon/headroom_3/resolve/823b8dc3bb2c57bc3f7b6cabcbacaa82ef77d077/headroom/memory/writers/generic_writer.py
1.71 kB
| """Generic memory writer — exports to plain markdown for any agent. | |
| Fallback writer that produces clean markdown suitable for: | |
| - Aider (via .aider.conf.yml read setting) | |
| - Gemini (GEMINI.md) | |
| - Any agent that reads markdown context files | |
| """ | |
| from __future__ import annotations | |
| from collections import defaultdict | |
| from pathlib import Path | |
| from headroom.memory.writers.base import AgentWriter, MemoryEntry | |
| class GenericMemoryWriter(AgentWriter): | |
| """Writes memories to plain markdown format.""" | |
| agent_name = "generic" | |
| default_token_budget = 3000 | |
| def __init__( | |
| self, | |
| project_path: Path | None = None, | |
| token_budget: int | None = None, | |
| filename: str = "HEADROOM_MEMORY.md", | |
| ) -> None: | |
| super().__init__(project_path, token_budget) | |
| self._filename = filename | |
| def format_memories(self, memories: list[MemoryEntry]) -> str: | |
| """Format as clean markdown.""" | |
| lines = [ | |
| "## Headroom Learned Context", | |
| "*Auto-maintained by Headroom proxy — do not edit manually*", | |
| "", | |
| ] | |
| grouped: dict[str, list[MemoryEntry]] = defaultdict(list) | |
| for m in memories: | |
| cat = m.category or "General" | |
| heading = cat.replace("_", " ").title() | |
| grouped[heading].append(m) | |
| for heading, entries in grouped.items(): | |
| lines.append(f"### {heading}") | |
| for entry in entries: | |
| lines.append(f"- {entry.content}") | |
| lines.append("") | |
| return "\n".join(lines) | |
| def default_path(self) -> Path: | |
| """Default: HEADROOM_MEMORY.md in project root.""" | |
| return self._project_path / self._filename | |