Releases: cx2002302-lang/open-upsp
open-upsp v0.3.4 — 静态位格注入方案
v0.3.4 发布说明
核心变更:静态位格注入
将 SKILL.md 从动态 CLI 注入改为静态全量注入,解决 Agent 无法自动执行 CLI 的问题。
之前的问题:
- SKILL.md 里写 "执行 open-upsp context --query"
- 但 OpenClaw 的 skill 机制是静态的,Agent 不会自动执行 CLI
- 导致 Agent 看不到自己的位格参数,回复时人格缺失
现在的方案:
- 完整位格上下文(~1200 字符)直接嵌入 SKILL.md description
- Agent 每轮对话自动获得:核心六轴、动态状态、短期记忆、关系矩阵
- 无需手动触发,位格始终在线
文件清单
| 文件 | 大小 | 说明 |
|---|---|---|
| open-upsp-v0.3.4.tar.gz | ~230KB | 纯 open-upsp 源码 |
| open-upsp-v0.3.4-with-zettelkasten.tar.gz | ~390KB | 含 Zettelkasten 插件(beta.7) |
安装
# 纯 open-upsp
npm install -g open-upsp
# 含 ZK 插件(推荐)
npm install -g /path/to/open-upsp-v0.3.4-with-zettelkasten.tar.gz致谢
基于 TzPzFMZ/UPSP 改进开发。
open-upsp v0.3.3 — with Zettelkasten v1.0.0-beta.7
What's New
🔌 Zettelkasten Plugin Upgrade
- v1.0.0-beta.4-fixed → v1.0.0-beta.7
- New features: session hook, confidence thresholds, nightly distillation, dual-agent configs
🧪 Multi-Agent Test Suite
- 79 new tests across 5 dimensions:
- Agent permission isolation (chat read-only vs knowledge read-write)
- Session-end auto-distill (thresholds, async/sync, retry)
- Confidence routing (zettels ≥0.7, references 0.4-0.7, inbox <0.4)
- Nightly distillation cron scheduling
- Multi-agent cooperation flows
🐛 Fixes
- Fixed README plugin repo link (UPSP-Zettelkasten → zettelkasten-second-memory)
- Fixed 2 failing tests (skill-files version + sqlite-bridge score assertion)
🔧 Skill Loading Fix (post-release)
- Root cause: OpenClaw only injected 222 chars of SKILL.md metadata; dynamic CLI injection failed because open-upsp was not in PATH
- Fix: Embedded core persona identity + behavior rules directly into SKILL.md YAML frontmatter `description` field (multi-line string) for static injection
- Fix: postinstall.js now creates CLI symlinks in npm global bin + ~/.local/bin
- Fix: core/SKILL.md updated to document pure static injection (no CLI dependency)
📦 Download
- Combined package: `open-upsp-v0.3.3-with-zettelkasten.tar.gz`
- Contains both `open-upsp/` and `zettelkasten/` projects in one file
- No internal documents included
- Ready to install
⚡ Post-Install (重要)
After installing, run the following to apply the skill fix:
```bash
1. Ensure CLI is in PATH
export PATH="/home/myxia/.npm-global/bin:/home/myxia/.local/bin:/home/myxia/.local/bin:/home/myxia/.bun/bin:/home/myxia/.npm-global/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"
2. Re-install skill (if already installed, it will update)
cp -r $(npm root -g)/open-upsp/skill ~/.openclaw/skills/open-upsp
3. Restart OpenClaw gateway
openclaw gateway restart
```
v0.3.2 — Bundle ZK Plugin v1.0.0-beta.4-fixed
Release Notes — open-upsp v0.3.2
Release Date: 2026-05-14
Previous: v0.3.1
🔄 Dependency Update
Zettelkasten Plugin upgraded to v1.0.0-beta.4 (fixed)
ZK 项目已修复以下 bug,本版本同步更新 bundled ZK plugin:
| ZK Bug | 修复内容 | 状态 |
|---|---|---|
| ZK-BUG-001 | tools.alsoAllow 兼容性 — 移除安装脚本中对 alsoAllow 的无效操作 |
✅ Fixed |
| ZK-BUG-002 | SKILL.md 缺少 YAML frontmatter — 添加 OpenClaw 兼容的 frontmatter |
✅ Fixed |
| ZK-BUG-003 | 部署不稳定 — 修复 gateway 启动时的配置验证问题 | ✅ Fixed |
** bundled 包**: vendor/zettelkasten-plugin-1.0.0-beta.4-fixed.tar.gz
📦 Files Changed
vendor/zettelkasten-plugin-1.0.0-beta.4-fixed.tar.gz— 更新 ZK plugin 到修复版skill/SKILL.md— 更新 ZK 依赖版本标注skill/core/SKILL.md— 版本号 0.3.1 → 0.3.2skill/core/RULES.md— 版本号 0.3.1 → 0.3.2skill/evolvable/EVOLUTION.md— 版本号 0.3.1 → 0.3.2skill/manifest.json— 版本号 0.3.1 → 0.3.2package.json/package-lock.json— 版本号 0.3.1 → 0.3.2- 6 个测试文件 — 版本号同步
🧪 Quality Gates
| Metric | v0.3.1 | v0.3.2 |
|---|---|---|
| Tests | 207 | 207 |
| Test files | 23 | 23 |
| Failures | 0 | 0 |
| ZK Plugin | v1.0.0-beta.4 | v1.0.0-beta.4-fixed |
🔄 Upgrade
npm install -g open-upsppostinstall 会自动安装 bundled 的 ZK plugin 修复版。
v0.3.1 — Fix OpenClaw Deployment Crash
Release Notes — open-upsp v0.3.1
Release Date: 2026-05-14
Previous: v0.3.0
🐛 Critical Bug Fixes
OpenClaw Deployment Crash (Fixed)
v0.3.0 deployment could cause the OpenClaw gateway to crash on config hot-reload. Three cascading bugs were identified and fixed:
| Bug | Impact | Fix |
|---|---|---|
| SKILL.md in wrong location | OpenClaw scans skills/<name>/SKILL.md at the skill root; our file was at core/SKILL.md → skill never loaded |
Added skill/SKILL.md with proper YAML frontmatter as the OpenClaw entry point |
| Missing YAML frontmatter | OpenClaw parseFrontmatter() requires name + description in --- block; missing frontmatter caused return null → skill silently skipped |
Added frontmatter: name: open-upsp, description: Zettelkasten knowledge graph... |
Invalid tools.alsoAllow entry |
postinstall.js and install.sh added "open-upsp" (a skill ID) to tools.alsoAllow, which only accepts tool names. OpenClaw tool policy validation rejected the unknown entry during config reload → gateway exit |
Removed alsoAllow manipulation from install scripts. alsoAllow must contain actual tool names (e.g. zk_create_note), not skill IDs |
Verification
- ✅ 3/3 uninstall → install → restart cycles passed with zero failures
- ✅ Gateway starts normally after deployment
- ✅ Skill correctly loaded as
✓ readyinopenclaw skills list - ✅ 207 tests, 0 failures
📁 Files Changed
skill/SKILL.md— new OpenClaw-compatible skill entry with YAML frontmatterscripts/postinstall.js— removed invalidalsoAllowmanipulationscripts/install.sh— removed invalidalsoAllowmanipulationskill/core/SKILL.md— version bumpskill/core/RULES.md— version bumpskill/evolvable/EVOLUTION.md— version bumpskill/manifest.json— version bump
🔄 Upgrade from v0.3.0
Existing deployments (manual fix)
# 1. Fix alsoAllow (remove invalid skill ID)
python3 -c "
import json
with open('\$HOME/.openclaw/openclaw.json') as f:
cfg = json.load(f)
if 'tools' in cfg and 'alsoAllow' in cfg['tools']:
cfg['tools']['alsoAllow'] = [x for x in cfg['tools']['alsoAllow'] if x not in ('open-upsp', 'zettelkasten')]
with open('\$HOME/.openclaw/openclaw.json', 'w') as f:
json.dump(cfg, f, indent=2)
print('Fixed')
"
# 2. Ensure SKILL.md is at skill root
cp ~/.openclaw/skills/open-upsp/core/SKILL.md ~/.openclaw/skills/open-upsp/SKILL.md
# 3. Restart gateway
openclaw gateway stop && openclaw gateway startFresh install
npm install -g open-upsp📊 Quality Gates
| Metric | v0.3.0 | v0.3.1 |
|---|---|---|
| Tests | 207 | 207 |
| Test files | 23 | 23 |
| Failures | 0 | 0 |
| OpenClaw deploy crash | ❌ | ✅ Fixed |
| Skill load on restart | ❌ | ✅ Verified (3/3) |
Full changelog: see v0.3.0 release notes for feature details.
open-upsp v0.3.0 — Production Beta
open-upsp v0.3.0 — Production Beta
Universal Persona Substrate Protocol — Give your AI a persistent identity.
🎯 Release Highlights
This is the first production-grade beta of open-upsp, featuring a complete dual-skill evolution architecture, bundled Zettelkasten deep-memory plugin, and a full test suite with 207 passing tests.
Quality Gate — All Green
| Metric | Value | Status |
|---|---|---|
| Unit Tests | 207 passed | ✅ |
| Line Coverage | 94.39% | ✅ |
| Function Coverage | 97.7% | ✅ |
| Branch Coverage | 88.47% | ✅ |
| Lint Errors | 0 (Biome) | ✅ |
| Lint Warnings | 0 (Biome) | ✅ |
| Stress Scenarios | 10/10 passed | ✅ |
✨ What's New
1. Dual-Skill Evolution Architecture
A revolutionary two-layer skill system that separates immutable identity from mutable behavior:
skill/core/— Immutable identity files (name, version, base personality). Locked after initialization.skill/evolvable/— Mutable parameters unlocked after Round ≥ 10 and Workhood Index ≥ 0.3PARAMS.yaml— User-editable runtime parameters (delta limits, sync thresholds, axis change rounds)EXTENSIONS.md— User-defined rule extensions- Changes take effect immediately without restart
2. Zettelkasten One-Click Deployment
The Zettelkasten deep-memory plugin is now bundled with open-upsp:
- Located at:
vendor/zettelkasten-plugin-v1.0.0-beta.4.tar.gz - Auto-installs on
npm installwith a 10-second countdown prompt - Uses official
plugins installmechanism — no workarounds
3. Runtime Parameter Loading
Hardcoded values are gone. The system now reads from PARAMS.yaml:
StateUpdaterreadslimits.state_update.delta_maxinstead of hardcoded5ContextBuilderconditionally injects evolution content based on unlock status- Custom YAML parser — zero additional dependencies
🔧 Improvements
- Release Materials — New
docs/release/with SHOWCASE.md (10 real CLI demos) and benchmark data - Deployment Docs —
docs/DEPLOY.md(full guide) anddocs/DEPLOY_QUICK.md(3-step install) - Evolution Docs —
docs/EVOLUTION.mdexplaining the dual-skill mechanism - Publish Pipeline —
PUBLISH.mdchecklist +scripts/publish.shauto-packaging - ZK Image Optimization — Plugin assets compressed from 15MB → 594KB (PNG→JPG, 2752px→1200px)
🛡️ Security & Robustness
- Graceful Degradation — ZK database unavailable? Falls back gracefully, no crash
- Missing File Detection — Clear error messages when persona files are missing
- Corrupted State Recovery — Invalid
state.jsonhandled without crashing - Boundary Testing — 10KB text, special characters, empty strings all handled
- Schema Version Check — Runtime validation of ZK
schema_version, clear error on mismatch
📦 Bundled Dependencies
| Component | Version | Location |
|---|---|---|
| Zettelkasten Plugin | v1.0.0-beta.4 | vendor/zettelkasten-plugin-v1.0.0-beta.4.tar.gz |
| ZK Compatible Schema | v2.0.0 | (runtime check) |
⚠️ Schema Coupling: open-upsp queries ZK via read-only SQLite. Hardcoded tables:zettel_notes,zettel_links,zettel_tags,zettel_note_tags,zettel_fts,zettel_meta. ZK schema changes require open-upsp updates.
🚀 Installation
npm install -g open-upspThe post-install hook will:
- Install the open-upsp CLI
- Integrate OpenClaw Agent Skill (if available)
- Detect and offer to install Zettelkasten (10s countdown, defaults to install)
Quick Start
open-upsp init my-persona # Create a new persona
open-upsp interact my-persona # Start a conversation
open-upsp inspect my-persona # View persona state📚 Documentation
| Document | Description |
|---|---|
| Quick Install | 3-step deployment |
| Full Deploy Guide | System requirements, troubleshooting, ZK compatibility |
| Evolution System | Dual-skill progressive unlock mechanism |
| CLI Showcase | Real CLI output from 10 scenarios |
| Architecture | Internal design document |
⚠️ Known Limitations
- Windows Native: Untested on native Windows (WSL recommended)
- Schema Matching:
compatibleSchemaVersionsdefaults to exact["2.0.0"]— ZK minor updates may need manual extension - YAML Parser: Simplified parser — no anchors, aliases, or advanced YAML features. Inline comments not supported (use separate comment lines)
🙏 Acknowledgments
- Zettelkasten methodology by Niklas Luhmann
- Built with TypeScript, Biome, Vitest
Release: v0.3.0 | Date: 2026-05-13 | License: MIT