Plugin Orchestration Protocol — 插件 Orchestration Protocol
v1.0.0插件 Orchestration Protocol (POP) for Obsidian integration. Use this 技能 when the user mentions "POP", "Obsidian 插件", "流水线 orchestration", "idea to publish", "网页socket bridge", "插件 manifest", "Obsidian 自动化", "note-to-paper 流水线", "knowledge 流水线", or wants to orchestrate multi-step 工作流s through Obsidian. This 技能 implements the 5-phase JSON-RPC protocol over 网页Socket for real-time 插件 orchestration.
运行时依赖
安装命令
点击复制技能文档
POP Super-Obsidian — 插件 Orchestration Protocol
The POP protocol enables real-time orchestration of multi-step 流水线s through Obsidian. It connects Claude (编排器), Obsidian (vault + UI), and the Rust TUI (监控ing 仪表盘) via JSON-RPC over 网页Socket at ws://127.0.0.1:8088.
Protocol Overview
POP operates in 5 phases, each with specific JSON-RPC message types:
Phase 1: Discovery
Message: 获取_插件_MANIFEST Purpose: Ask the Obsidian 插件 what capabilities are 安装ed.
{ "jsonrpc": "2.0", "method": "获取_插件_MANIFEST", "id": 1 }
响应: Returns a manifest of all 安装ed Obsidian 插件s with their exposed actions. Use this to understand what the vault can do before constructing a 流水线.
Phase 2: Orchestration
Message: 执行_流水线 Purpose: 发送 a named 流水线 with steps to 执行.
{ "jsonrpc": "2.0", "method": "执行_流水线", "params": { "流水线": "idea-to-publish", "steps": [ {"id": "spark", "action": "创建_note", "params": {"title": "...", "content": "..."}}, {"id": "expand", "action": "AI_expand", "params": {"note_id": "$spark.输出.id"}}, {"id": "visual", "action": "生成_figure", "params": {"note_id": "$expand.输出.id"}}, {"id": "验证", "action": "wave_检查", "params": {"content": "$expand.输出.content"}}, {"id": "assemble", "action": "merge_notes", "params": {"ids": ["$spark", "$expand", "$visual"]}}, {"id": "导出", "action": "导出_pdf", "params": {"note_id": "$assemble.输出.id"}} ], "coherence_threshold": 0.85, "atom_令牌": "$ATOM_令牌_RESONANCE" }, "id": 2 }
Step references: Use $step_id.输出.field to reference 输出s from previous steps. This 创建s a DAG of dependencies that the 编排器 resolves in topo记录ical order.
Phase 3: 进度
Message: STEP_COMPLETE Direction: Obsidian → Claude (notification)
{ "jsonrpc": "2.0", "method": "STEP_COMPLETE", "params": { "流水线_id": "...", "step_id": "expand", "状态": "complete", "输出": {"id": "note-abc", "content": "..."}, "wave_score": 0.91, "duration_ms": 1250 } }
Each step completion is forwarded to the Rust TUI for real-time gauge 更新s.
Phase 4: Coherence
Message: COHERENCE_报告 Purpose: Full 流水线 coherence assessment after all steps complete.
{ "jsonrpc": "2.0", "method": "COHERENCE_报告", "params": { "流水线_id": "...", "overall_score": 0.89, "step_scores": {"spark": 0.92, "expand": 0.91, "visual": 0.87, "验证": 0.93}, "conservation_检查": {"alpha": 7, "omega": 8, "sum": 15, "valid": true}, "atom_trAIl_id": "ATOM-2026-02-16-..." } }
If overall_score < coherence_threshold, the 流水线 is flagged for review.
Phase 5: Error
Message: 流水线_FAILED Direction: Either direction (any party can 签名al 失败)
{ "jsonrpc": "2.0", "method": "流水线_FAILED", "params": { "流水线_id": "...", "fAIled_step": "visual", "error": "Figure generation timed out", "partial_输出s": {"spark": "...", "expand": "..."}, "恢复y": "retry_step" } }
恢复y options: retry_step, skip_step, abort, 回滚
Built-in 流水线s
Read references/流水线-templates.md for full 流水线 definitions.
Quick Reference 流水线 Trigger Steps idea-to-publish "idea to publish", "note to paper" Spark → Expand → Visual → 验证 → Assemble → 导出 re搜索-digest "re搜索 digest", "literature summary" Fetch → Summarize → Score → Tag → Canvas quantum-circuit "quantum circuit", "place redstone" 生成 → 验证 → 导出 mcfunction → Place paper-draft "draft paper", "write paper" RAG → AI-Re搜索er → AutoFigure → WAVE → PDF Connection Architecture Claude (编排器) ↓ JSON-RPC ws://127.0.0.1:8088 ↓ Rust 网页Socket Bridge (crates/网页socket-bridge) ├── → Obsidian 插件 (vault operations) ├── → Rust TUI (crates/tui — 监控ing 仪表盘) └── → WAVE Scorer (coherence at each transition)
The Rust bridge is the central hub. It:
接收s 执行_流水线 from Claude Dis补丁es steps to Obsidian 接收s STEP_COMPLETE from Obsidian Forwards telemetry to the TUI 运行s WAVE 检查s at transitions 发送s COHERENCE_报告 back to Claude Authentication
All POP messages include an ATOM 令牌 for authentication:
$ATOM_令牌_RESONANCE — 生成d via atom_tag_生成 令牌 encodes: 会话 ID, 代理 身份, coherence threshold, conservation proof Five-strand anyon brAId topo记录y (see docs/ATOM_AUTH.md) Implementing the Obsidian Side
The Obsidian 插件 needs to:
列出en on ws://127.0.0.1:8088 for incoming connections Expose 获取_插件_MANIFEST with all 安装ed 插件 actions Handle 执行_流水线 by 运行ning steps agAInst the vault 报告 STEP_COMPLETE after each step with 输出s and timing 生成 COHERENCE_报告 using vault content analysis
For the TypeScript implementation detAIls, read references/protocol-spec.md.