Repository navigation
volens 0.3.0 — DSH support, and the DSH half ships as an npm package
A third harness. volens now runs on DeepSeek Harness (DSH), which loads plugins into its own process rather than running a hook command. The sync logic is reimplemented there as a native cordis plugin: one registration point (agent/pre-step, gated to the first step of a turn), the same three branches, the same newline-count cursor, with the shell script still the reference. No bash is involved on that path.
The DSH half is on npm. DSH has no marketplace, so its plugin reaches users as volens-dsh — and dsh/ in this repository is exactly what npm publishes, five files, so the source a user reads is the source they installed. The skill stays a separate step: DSH discovers skills from filesystem roots, and a plugin manifest cannot declare one.
The rebuild branch was asking for the wrong thing. It told the model to read the whole rewritten log, while the paragraph it shared with the delta branch had just told it not to. The two branches now say what is true of each: a delta names its exact slice and forbids reading the whole log; a rebuild names 1..M and asks for all of it, reporting the position the stale snapshot had actually reached.
Both READMEs. They name all three harnesses from the first line, list the DSH install among the alternatives, and describe the sync by what each harness actually does instead of calling all of it "the hook".
Install. Claude Code: /plugin marketplace add https://github.com/funcpn/volens.git, then /plugin install volens@volens. Codex: codex plugin marketplace add https://github.com/funcpn/volens, then codex plugin add volens@volens — the first session asks once to trust the hook; choose Trust all and continue. In the ChatGPT desktop app, installing does not authorize the hook: open the plugin's manage page and choose Trust all. DSH: dsh plugin --profile web add volens-dsh, then link the skill with ln -s /path/to/volens/skills/volens ~/.agents/skills/volens and restart.
Requirements. git on your PATH, git able to reach GitHub, and a bash to run the hook with (macOS and Linux ship one; on Windows it comes from Git for Windows — the bash.exe under System32 is WSL's launcher and does not count).