Repository navigation
Releases: hxql666/dsh-persona-manager
Releases · hxql666/dsh-persona-manager
Release list
v0.1.2 — security: API request trust fence
Security release: the local HTTP API now passes the DSH Connection request trust fence before routing.
Security
- /persona-manager/api previously only compared the Origin host to Host, so a DNS-rebinding page could read and rewrite personas. Requests now pass
ctx.connection.requestRejection({ headers })first:- failed Host/Origin fence → 403
untrusted - trusted but unauthenticated → 401
unauthenticated - without a Connection service the route falls back to a Web-origin/loopback Host fence and refuses
sec-fetch-site: cross-site.
- failed Host/Origin fence → 403
- 9 new automated tests cover the guard (unit) and the real
apply()integration (403 / 401 / allow); suite is 92 passing.
Changed
- API docs now state the route serves only the plugin's browser UI; a bare command-line call gets 401 (copy headers from browser DevTools for debugging).
- Machine paths in the docs replaced with placeholders;
.gitignorecovers credential-like files (.npmrc,.env*,*.pem,*.key,*.crt, npm debug logs).
No other behavior changes. The live plugin requires a DSH restart to load the new Host module.
v0.1.1 — docs status for npm publication
Documentation/status patch for the first public release.
- README / README_EN: npm badge and the npm installation route (dsh plugin --profile add @hxql/dsh-persona-manager); status updated to "open source + published to npm".
- CHANGELOG / docs/PUBLISH.md / docs/VERIFY.md: record the GitHub and npm publication, including the npm phased-release behavior (202 Accepted, a few minutes before the version becomes visible).
- No code or behavior changes since v0.1.0; package version bumped so the published npm README matches the live state.
v0.1.0 — initial release
Persona manager for DeepSeek Harness. Create, edit, and freely switch multiple system personas.
Highlights
- Host half: storage-domain-backed persona store on the official JSON backend ($DSH_HOME/storages/persona_manager.json), per-agent scoped deployment:persona-prefix section (order 0, interpolate:false) with collision fallback, and a same-origin /persona-manager/api HTTP API.
- Client half: a Settings → 人设管理 page (create/edit/delete/set global default) and a composer persona chip for per-session overrides or "follow global".
- Semantics: global default + per-session override; subagents inherit the global default; switching takes effect on the next model request.
- Safety: persona only changes tone — facts, process and safety boundaries stay authoritative.
- Zero dependencies, plain JavaScript, no build step.
Install
Install the bundle into a DSH profile (Plugin Manager or dsh plugin --profile <name> add <path-or-git-url>), then open Settings → 人设管理.
See README.md for details, docs/DESIGN.md for the contract, docs/VERIFY.md for the verification record.