Extension Center
Find extensions by tag or choose Official releases. Review the source and install an approved version.
Explore extensions
8 extensions
spel
Officialblockether · v0.1.21
Spel browser automation with verified installation, reserved sessions, CDP, JavaScript, snapshots and screenshots.
vis-decisions
Officialblockether · v0.6.1
Train, resume, validate and publish Laya, GLiNER, Decision 2.0 and D3 decision models in Vis.
vis-graphify
blockether · v0.15.3
Code knowledge graphs for Vis with graphify: search, change impact, exact references, safe renames and moves, domain flows, and a knowledge base server with ontology, documents and undoable edits.
vis-lang-clojure
Officialblockether · v1.17.3
Clojure tools for Vis: zprint and cljfmt formatting, clj-kondo lint, reader syntax checks, test runs and an nREPL.
vis-lang-interface
Officialblockether · v2.11.3
The shared contract for Vis language extensions.
vis-lang-python
Officialblockether · v1.14.0
Python tools for Vis: ruff formatting and lint, pytest runs and a managed project REPL.
vis-optmem
Officialblockether · v0.6.0
Permanent memory for Vis agents, based on OptMem by Victor Taelin.
vis-podcaster
blockether · v0.1.0
Two-host podcasts with Vis speech engines, ASR-verified takes and quality gates.
blockether/vis-optmem
OfficialPermanent memory for Vis agents, based on OptMem by Victor Taelin.
Install
Only approved releases are listed. Each version keeps its reviewed commit. You are viewing a different version from the catalog default.
Approved releases (8)
- 0.6.0Oct 23, 2026e7f1232f4001Release notes
- 0.5.3Oct 16, 20262d3ef2b5655bRelease notes
- 0.5.2Oct 14, 20263b6dc66c76d0Release notes
- 0.5.1Oct 14, 20269e05a8918750Release notes
- 0.4.0Oct 9, 2026984b5932575eRelease notes
- 0.3.0Oct 8, 202639e3f8b39245Release notes
- 0.1.1Oct 8, 20268bb89de7d4f4Release notes
- 0.1.0Oct 4, 2026998ec0c40f80Release notes
This command selects version 0.1.0 at its approved commit. It never follows a moving tag or branch.
Project: run from your project directory to install in .vis/extensions. This command does not add an extensions entry to vis.yml. Add --save to also record the installation. Save an installation in configuration to share the setup.
Review the source first. --trust allows extension code and build backends to run with your permissions.
vis-agent extension install \
'blockether/vis-optmem' \
--version '0.1.0' \
--project \
--trustThen start Vis or use /reload. Dependencies are prepared automatically.
Already installed? Check, update or roll back
vis-agent extension versions 'blockether/vis-optmem'
vis-agent extension update 'blockether/vis-optmem' --trust
vis-agent extension rollback 'blockether/vis-optmem' --trustUse the identifier shown above, not the Python package name. Add --project for a project installation. Update selects the latest approved stable version; rollback restores the previous pinned source. Choose a specific version and read the lifecycle contract.
Project details
- Version
- 0.1.0
- Extension
- blockether/vis-optmem
- Project folder
- Repository root
- License
- Apache-2.0
- GitHub stars
- 0
- Downloads
- 32
- Updated
- Oct 4, 2026
- GitHub owner
- Blockether
- Reviewed commit
- 998ec0c40f80
- Metadata checked
- Oct 4, 2026
Dependencies
Python >=3.11
- vis-agent>=0.2.26
README
vis-optmem
Permanent memory for Vis agents. Every session on your computer reads and writes the same memory. So an agent keeps your decisions, the results of its work and what you teach it from one session to the next.
vis-optmem brings OptMem by Victor Taelin to Vis as typed Python functions. It uses the same design and the same files. See Credits.
Install
vis-agent extension install 'blockether/vis-optmem' --global --trust
Then ask an agent to create the memory, or call memo.init() once yourself. After that, each
session reads its memory before other work and saves new facts as it works.
Tools
memo.init() # create the memory folder
memo.wake() # read the memory: new memories in full, old ones as summaries
memo.note("The user prefers uv.") # save one memory: one line of at most 280 bytes
memo.nap("0-1", "<one line>") # save a summary that a result asks for
memo.recall(r"uv|poetry") # search every memory with a regular expression
memo.zoom("0-15") # open a summary into its two halves
memo.forget("0-15") # drop a wrong summary; memo asks for it again
memo.config({"WAKE_LINES": 128}) # show or change the sizes
memo.import_memories("~/old.txt") # add dated lines, each "YYYY-MM-DD text"
Each result is a typed record with a text field. The agent prints the text and does what it says.
A subagent does not use the memory. Its leader reads and writes it.
How the memory works
- Each memory is one dated line. A memory never changes.
- Each two neighboring memories get a one-line summary. Then each two neighboring summaries get a summary, and so on. The agent writes a summary when a result asks for it.
memo.wake()shows the whole memory in a fixed number of lines, 96 by default. New memories show in full. Older periods show as summaries, and the older the period, the larger its summary.memo.zoom()opens a summary when the agent needs its detail.memo.recall()searches the original memories.
Where the memory is
The memory folder is $MEMORY_DIR, else ~/.optmem/memory. To use another folder, set
MEMORY_DIR before you start Vis.
The files are the same as those of the OptMem memo command, so both tools can use one memory.
A lock file keeps the writes of all sessions and processes in order. Do not edit the files by hand.
Sizes
Change a size with memo.config({"NAME": value}). Use None as the value to go back to the
default.
| Name | Default | Meaning |
|---|---|---|
WAKE_LINES |
96 | Lines that memo.wake() shows |
ENTRY_CHARS |
280 | Longest memory or summary, in bytes (at most 280) |
PART_CHARS |
20000 | Largest part of one result, in bytes |
PART_LINES |
500 | Largest part of one result, in lines |
In Vis, one part holds at most 8000 bytes, so that it fits into one print.
Development
vis-agent python -m pytest tests -q
Credits
The design and the file format come from OptMem by Victor Taelin: the dated memory log, the tree of summaries and the fixed-size view. vis-optmem is an independent Python implementation for Vis. It contains no OptMem code. See NOTICE.
License
Apache License 2.0. See LICENSE.
Community feedback
Votes and display names are not verified identities. One vote per network address; shared networks share a vote. Select your current choice again to clear it.
Loading feedback…