
Security News
Deno Goes the Way of the Dinosaur
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.
dsh-plugin-ascension
Advanced tools
🇬🇧 English | 🇨🇳 简体中文
A Wang Lin cultivation companion floating in the dsh web UI. It watches the LLM session state in real time and drives animations (thinking = hand seals, tool = casting, replying = calligraphy, done = breakthrough leap, failed = injured), and levels up as you work (Qi Refining → Foundation → Core → Nascent Soul → Spirit Severing → Infant Change → Ascension), with fancier skins at higher realms.
Capabilities ported and re-themed from
@linxin666/dsh-pet(MIT): session event projection, state machine, and affinity/cultivation economy as pure logic modules.
# Option 1 (recommended): from npm
dsh plugin --profile web add dsh-plugin-ascension
# Option 2: from GitHub
dsh plugin --profile web add github:d-ouyang/dsh-plugin-ascension
# local dev: dsh plugin --profile web add ./dsh-plugin-ascension
Restart the web service (:3080) after installing.
The host subscribes to the official session event stream (ctx.on('session/event')) and maps it to 7 phases driving 9 animation tracks:
| Phase | Trigger | Bubble text | Track | Sheet row | Frames |
|---|---|---|---|---|---|
| idle | stopped / no session | 停止修炼 | stand | 6 | spritesheet (standing placeholder) |
| waiting | turn start / step start / awaiting input / blocked | 凝神入定 · 静待机缘 | meditation | — | meditation.webp (✅ real) |
| thinking | LLM reasoning | 掐诀推演 · 参悟神通结果 | running | 7 | spritesheet (✅ real) |
| tool | tool call | 正在施展神通 · 还有 N 道神通未了 | running | 7 | spritesheet (placeholder) |
| review | streaming reply | 凝神书字 · 整理心得 | running | 8 | spritesheet (placeholder) |
| done | turn completed | 圆满出关! | running-right | — | dragon.webp (✅ real, 雷龙庆祝) |
| failed | tool error / interrupt / max-tokens | 神通反噬 · 心魔反噬 · 灵力枯竭 | stand | 6 | spritesheet (standing placeholder) |
celebrateMs, passed via onStatus opts)ascension-core.js (REALMS)| Interaction | Effect |
|---|---|
| Click pet | Discuss (+cultivation, reaction bubble above or left) |
| Drag pet | Move it (persisted to config) |
| Hover pet | Ancient-style panel: realm badge + cultivation progress bar + pill/hide buttons |
| Click hide | Wang Lin shrinks into the Tianni Pearl (bottom-right); the pearl loops a gold-wood-water-fire-earth rotating gradient |
| Click pearl | Wang Lin grows back out of the pearl (animation first, config synced async) |
Full-width form with Save / Cancel at the bottom (applied on save):
Ask in chat: "王林现在什么境界?" → ascension_status returns realm / cultivation / distance to next realm / pet & feed counts / current animation.
One skin = one directory (pet.json + one spritesheet), with a fixed 9-row action order:
| Row | Action | Frames | Wang Lin pose |
|---|---|---|---|
| 0 | idle | 6 | standing with hands down (placeholder) |
| 1 | sword | 4 | sword flight (御剑) |
| 2 | running-left | 8 | sword flight left |
| 3 | waving | 4 | fist-and-palm salute |
| 4 | jumping | 5 | breakthrough leap |
| 5 | failed | 8 | wounded pose (placeholder) |
| 6 | stand | 6 | still, focused (idle/failed 站姿) |
| 7 | running | 6 | hand seals (掐诀) |
| 8 | review | 6 | writing with qi |
768×832 (4× HD), declared by the cell field in pet.json — any size workscd /Users/ouyangding/dsh-plugin-ascension
pnpm install
node skin-pack.js <skin-id> --name "Wang Lin · Qi Refining"
→ outputs assets/<id>/ (spritesheet.webp + pet.json + previews/)~/.dsh/ascension/skins/<id>/ (user skins win)wang-lin-1..wang-lin-7 map to the 7 realms~/.dsh/ascension/ (state.json / settings.json)/api/ascension/{state, interact, set-enabled, set-visible, set-config, set-skin}, /api/ascension/skins/<id>/* (skin assets), /api/ascension/tiannizhu/* (pearl animation)dsh-plugin-ascension/
├── index.js # host: session/event subscription + cultivation service + RPC + skin registry
├── ascension-core.js # pure logic: realms / cultivation / event projection / state machine
├── client/client.js # client: settings section + floating pet + Tianni Pearl (hand-written bundle)
├── skin-pack.js # skin packer: frames → spritesheet + pet.json + previews
├── assets/ # built-in skin (wang-lin-1) + pearl animation
└── cordis.patch.yml / package.json
State monitoring / state machine / cultivation economy ported from @linxin666/dsh-pet (MIT License).
FAQs
渡劫飞升:仙逆·王林修炼伙伴。监控会话状态驱动动画,随使用修炼升境,境界越高皮肤越华丽。
We found that dsh-plugin-ascension demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.

Security News
Anthropic’s free OSS Scanner uses Mythos and other Claude models to find open source vulnerabilities and send maintainers reports with proposed fixes.

Security News
On Front Lines’ Early Adopters: CISO podcast, Andrew Becherer shares lessons from Datadog, weighs the long-term costs of AI-built tools, and explains how founders can actually gain a CISO’s trust.