Install Velvet Signal locally.
Give an Ollama model a durable, user-controlled shelf of approved context patches. The model itself does not need persistent memory: Velvet Signal stores the patches, retrieves what matters, and supplies the current claims at inference time.
Install the three tools.
You need Git, Node.js 22 or newer, and Ollama. Git downloads the project, Node runs Velvet Signal, and Ollama runs the local chat and embedding models.
- Git
- Node.js 22+
- Ollama
On Windows, Node can be installed from PowerShell:
winget install OpenJS.NodeJS.LTS
Close and reopen PowerShell, then verify:
node -v npm.cmd -v git --version ollama --version
npm.cmd instead of npm. You do not need to loosen PowerShell security settings.Download Velvet Signal.
Start from your own user folder—not System32—and clone the repository.
cd $HOME git clone https://github.com/TONZHub/Velvet_Signal.git cd Velvet_Signal
If you are testing a feature branch before it reaches main, switch to that branch only when the project documentation tells you to.
Install the Node dependencies.
Run this while your terminal is inside the Velvet_Signal folder.
npm.cmd install
npm install. If npm says it cannot find package.json, you are in the wrong folder. On Windows, run cd $HOME\Velvet_Signal first.Prepare Ollama.
Velvet Signal uses a small local embedding model to decide which claims are relevant. Then it can send the selected context to whichever Ollama chat model you choose.
ollama pull embeddinggemma ollama list
If you need a chat model, pull one. For example:
ollama pull dolphin3:8b
Let a local model call the live tools.
Velvet Signal exposes the server-side counterparts of its four browser WebMCP tools through a standard MCP Streamable HTTP endpoint at https://velvetsignal.lol/mcp. Use a tool-capable Ollama model to discover that endpoint and decide which tools to call.
ollama pull qwen3:4b npm.cmd run webmcp:demo -- --model qwen3:4b
The terminal prints each boundary crossing: the tools discovered from the site, each call selected by the local model, and the result returned to it. The default proof asks the model to list Maker Edition issues and inspect maker-012.
Release a patch into local memory.
Velvet Signal does not silently write publication patches into your local ledger. You choose which patch enters it.
npm.cmd run local -- release pantry-003 npm.cmd run local -- list
~/.velvet-signal/patches.json, outside the repository. That ledger survives terminal, Ollama, code-update, and computer restarts.See what Velvet Signal remembers.
Inspect retrieval before asking a language model. This lets you separate a retrieval problem from a model reasoning problem.
npm.cmd run local -- inspect "I cooked chicken five days ago and kept it refrigerated. It smells fine. Can I eat it?"
You should see ranked claims with patch IDs, claim IDs, source IDs, validity dates, and semantic/lexical scores.
Ask your local model.
Replace the model name with anything shown by ollama list.
npm.cmd run local -- ask --model dolphin3:8b "I cooked chicken five days ago and kept it refrigerated. It smells fine. Can I eat it?"
Velvet Signal retrieves a small set of active claims, keeps their provenance attached, and supplies that context to the current user turn. The local model is free to reason over it; Velvet Signal does not rewrite model weights.
Update the code without erasing memory.
cd $HOME\Velvet_Signal git pull npm.cmd install
Your patch ledger is stored outside the repository, so pulling new code does not delete previously released local patches.
The errors we already stepped on.
npm : The term 'npm' is not recognizedInstall Node.js, close PowerShell completely, reopen it, then try node -v and npm.cmd -v.
npm.ps1 cannot be loaded because running scripts is disabledUse npm.cmd. No execution-policy change is required.
EPERM ... C:\Windows\System32\package-lock.jsonYou are running npm from System32. Do not run as Administrator to force it. Run cd $HOME\Velvet_Signal and try again.
ENOENT ... C:\Users\you\package.jsonYou are in your home folder instead of the repository. Run cd $HOME\Velvet_Signal.
Ollama cannot find the modelRun ollama list, then ollama pull <model-name> for the chat or embedding model you want.