GhostPaw Souls

io.github.GhostPawJS由 GitHub 帳號 GhostPawJS 發布v0.5.0更新於 Nov 7, 2026

Local cognitive identity engine with traits, behavioral evidence, and revision history.

已驗證STDIO僅桌面知識與記憶AI 與機器學習

概覽

AI 產生的概覽

本機 SQLite 引擎,讓助理儲存代理身分、記錄行為證據,並在保有修訂歷史下精煉特質。

可以做什麼
  • 依內容、靈魂或標籤搜尋與瀏覽行為觀察紀錄(shard)
  • 列出作用中的靈魂、執行維護流程並檢查結晶就緒狀態
  • 檢視單一靈魂的檔案、算繪後的身分區塊與證據報告
  • 為一個或多個靈魂投放或揭露行為觀察紀錄
  • 依引用證據新增、修訂、回復或重新啟用特質
  • 驗證、執行或回復升級計畫;建立、更新、休眠或喚醒靈魂
適用情境
適合希望代理身分或人格由記錄下來的觀察逐步演化、而非手寫提示詞的情境,並具備以證據為門檻的精煉與回復能力。可用於代理框架、角色或品牌語氣設定,以及應隨工作階段改善的程式碼審查人格。
執行需求
以本機 stdio 程序執行,通常透過 npx 搭配 Node 24+,或使用獨立發行版二進位檔。資料存於本機 SQLite 檔案,預設位於使用者家目錄下,可用 GHOSTPAW_SOULS_DB 環境變數或 --db 參數指定。未宣告需要帳號或 API 金鑰。
安裝前請注意
這些工具會寫入本機資料庫:投放觀察、修改特質、升級、休眠與回復都會改變已儲存的身分狀態,執行升級還會重構靈魂。請將 GHOSTPAW_SOULS_DB 指向你打算使用的路徑,因為預設路徑位於家目錄。依伺服器自身說明,核准精煉前應先檢視證據。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 GhostPaw Souls,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[GhostPaw souls: Change your agent's prompt when the evidence agrees.]

@ghostpaw/souls

[npm] [CI] [site] [runtime deps] [MCP Registry] [node] [license]

Agent identity as an essence plus evidence-backed traits, refined only when the evidence agrees.

bash
npm install @ghostpaw/souls

Prompt evolution engine for cognitive identity. Stores identity as narrative essence plus evidence-backed traits, with structured level-up, crystallization-gated refinement, and full rollback. Not a prompt template library. Not a configuration manager. An evolutionary algorithm for how agents think.

Release binary with no runtime needed; library and npm usage require Node 24+. Zero runtime dependencies.

MCP server

Every client below starts the same stdio server: ghostpaw-souls mcp. For npm-based environments, use npx -y @ghostpaw/souls mcp. Identity and evidence live in ~/.ghostpaw/souls.db unless the GHOSTPAW_SOULS_DB environment variable (absolute path) or --db <path> says otherwise.

Claude Code

bash
claude mcp add ghostpaw-souls -- ghostpaw-souls mcp

or as a plugin, which also installs the skill:

bash
/plugin marketplace add GhostPawJS/souls/plugin install ghostpaw-souls@ghostpaw-souls

Codex CLI (~/.souls/config.toml)

toml
[mcp_servers.ghostpaw-souls]command = "ghostpaw-souls"args = ["mcp"]

Cursor (.cursor/mcp.json), Claude Desktop (claude_desktop_config.json) or a project .mcp.json:

json
{  "mcpServers": {    "ghostpaw-souls": {      "command": "ghostpaw-souls",      "args": ["mcp"]    }  }}

Claude Desktop users can also install server.mcpb from the latest GitHub release. A Dockerfile is included for container hosts: docker build -t ghostpaw-souls . && docker run -i --rm -v souls:/data ghostpaw-souls.

The server speaks MCP 2026-07-28 (stateless, server/discover) and the initialize-based revisions 2025-11-25, 2025-06-18, 2025-03-26 and 2024-11-05.

CLI

text
ghostpaw-souls search [query] [--soul-id N --tags TAG --limit N]ghostpaw-souls review <list|maintenance|readiness>ghostpaw-souls soul create <name> --essence TEXT --description TEXTghostpaw-souls soul show|update|retire|awaken <soulId> [flags]ghostpaw-souls shard drop <content> --source LABEL --soul-ids N [flags]ghostpaw-souls shard drop-batch --shards JSONghostpaw-souls shard reveal <shardIds...>ghostpaw-souls refinement add|attune <soulId> [flags]ghostpaw-souls refinement revise|revert|reactivate <traitId> [flags]ghostpaw-souls refinement cite <traitId> <shardId>ghostpaw-souls level validate|up|revert <soulId> [flags]ghostpaw-souls mcp|skill|tools|describe|call|completions|version|help

Use ghostpaw-souls skill --short for a compact cheat sheet, skill for full parameter tables, and skill --list to list runnable workflow guides.

Global flags can appear anywhere: --db <path>, --json, --quiet, --compact, --help/-h, --version/-V/-v, --no-color. NO_COLOR is accepted; output uses no terminal colors. Noun-verb commands print the full tool result as JSON with --json or when stdout is piped. Terminal output shows the summary and payload. --quiet suppresses stdout. --compact removes JSON indentation.

Use help soul, soul --help or soul create --help for schema-derived help. Array flags repeat and kebab-case flags map to schema properties. Values are literal, including a leading @. Only soul create|update --essence reads a file: @path (relative to the working directory), @- for stdin and @@text for a literal @text. Help marks it (@file, @- stdin, @@ literal @); an empty or unreadable path exits 2. -- ends flags. A positional -, or piped stdin with no arguments, reads a JSON object; explicit flags override its fields. Database selection uses --db, GHOSTPAW_SOULS_DB, then ~/.ghostpaw/souls.db.

ExitNoun-verb result
0Success, including no_op
1Tool error
2Usage or schema error
3Clarification needed or not found
4Conflict or version mismatch
70Internal error

Errors go to stderr. With --json, usage and internal errors also print {ok:false,error:{code,message}} to stdout. Tool results retain their full shape. Legacy tools [--json], describe <tool>, call <tool> [JSON|-] and <tool_name> --parameter value keep their existing exit codes. completions bash, completions zsh and completions fish print shell scripts.

sh
ghostpaw-souls soul create Reviewer --essence "Read carefully." --description "Review identity" --db /tmp/souls-example.db --jsonghostpaw-souls soul show 1 --db /tmp/souls-example.db --jsonghostpaw-souls review list --db /tmp/souls-example.db --json

Search reads behavioral shards. Creating a soul does not add searchable shards; use shard drop to deposit observations. Core commands work offline.

Agent Skill

SKILL.md (repo root) and skills/souls/SKILL.md follow the Agent Skills format and ship in the npm package. Copy skills/souls/ into your agent's skills folder, or print it:

bash
ghostpaw-souls skill > SKILL.md

Install

Release binary (default)

Each line downloads the latest release asset, checks it against the release's SHA256SUMS and installs it on the PATH (~/.local/bin on Linux/macOS; the Windows script adds its folder to the user PATH).

These lines never edit ~/.profile or other shell startup files: export PATH applies to the current shell only. To keep it in new shells, use the ~/.profile line below.

linux-x64:

sh
curl -fsSL https://raw.githubusercontent.com/GhostPawJS/souls/main/install.sh | sh -s -- --target linux-x64 && export PATH="$HOME/.local/bin:$PATH"

linux-arm64:

sh
curl -fsSL https://raw.githubusercontent.com/GhostPawJS/souls/main/install.sh | sh -s -- --target linux-arm64 && export PATH="$HOME/.local/bin:$PATH"

darwin-arm64:

sh
curl -fsSL https://raw.githubusercontent.com/GhostPawJS/souls/main/install.sh | sh -s -- --target darwin-arm64 && export PATH="$HOME/.local/bin:$PATH"

darwin-x64:

sh
curl -fsSL https://raw.githubusercontent.com/GhostPawJS/souls/main/install.sh | sh -s -- --target darwin-x64 && export PATH="$HOME/.local/bin:$PATH"

windows-x64 (PowerShell; persistently adds the install folder to the user PATH):

powershell
irm https://raw.githubusercontent.com/GhostPawJS/souls/main/install.ps1 | iex

Pinned to a release:

sh
curl -fsSL https://raw.githubusercontent.com/GhostPawJS/souls/main/install.sh | sh -s -- --target linux-x64 --version 0.4.5 && export PATH="$HOME/.local/bin:$PATH"

Also adding ~/.local/bin to ~/.profile (edits ~/.profile once; skipped if it already mentions ~/.local/bin; zsh login shells read ~/.zprofile instead, so use that file name there):

sh
curl -fsSL https://raw.githubusercontent.com/GhostPawJS/souls/main/install.sh | sh -s -- --target linux-x64 && { grep -qs '.local/bin' ~/.profile || echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.profile; } && export PATH="$HOME/.local/bin:$PATH"

To skip the persistent user PATH edit (the installer prints the folder to add):

powershell
$env:GHOSTPAW_NO_MODIFY_PATH=1; irm https://raw.githubusercontent.com/GhostPawJS/souls/main/install.ps1 | iex
text
$ ghostpaw-souls --versionsouls 0.4.5 (binary, linux-x64)

Scripts that compare versions should use --version --short or --version --json.

A session with the 0.4.0 linux-x64 binary against a fresh database (output piped through jq to keep it short):

[ghostpaw-souls 0.4.0: version, soul create, two shard drops, refinement add and cite, search, review readiness and soul show with the rendered identity]

The same session as an animated GIF.

Other release installers:

sh
mise use -g github:GhostPawJS/soulsubi --project GhostPawJS/souls --exe ghostpaw-souls --in ~/.local/bineget GhostPawJS/souls

For aqua, define a github_release package in aqua.yaml:

yaml
registries:  - name: souls    type: local    path: souls-registry.yamlpackages:  - name: GhostPawJS/souls@v<VERSION>    registry: souls

souls-registry.yaml:

yaml
packages:  - type: github_release    repo_owner: GhostPawJS    repo_name: souls    asset: ghostpaw-souls-{{trimV .Version}}-{{.OS}}-{{.Arch}}.tar.gz    format: tar.gz    replacements: { amd64: x64 }    overrides:      - goos: windows        asset: ghostpaw-souls-{{trimV .Version}}-windows-{{.Arch}}.zip        format: zip    files:      - name: ghostpaw-souls

Install scripts verify SHA256SUMS. To verify a downloaded archive's build attestation:

sh
gh attestation verify <archive> -R GhostPawJS/souls

Set GHOSTPAW_VERIFY=attestation for attestation verification in install.sh. Binaries are unsigned; macOS binaries carry an ad-hoc signature. For a browser download on macOS, remove quarantine with xattr -d com.apple.quarantine /path/to/ghostpaw-souls. Linux binaries require glibc 2.28+; use npx on Alpine. See the binary build workflow.

Sizes for 0.4.0 (Node 26.12.1 inside each binary):

TargetArchiveBinary
linux-x6441.7 MB tar.gz117.4 MB
linux-arm6441.1 MB tar.gz115.1 MB
darwin-arm6444.8 MB tar.gz146.7 MB
darwin-x6446.4 MB tar.gz149.5 MB
windows-x6438.4 MB zip105.6 MB

The npm package is 930 KB unpacked and needs Node 24+. Every release is installed and run on ubuntu-24.04, macos-15 and windows-2025 by the install check.

Release install checks run on ubuntu-24.04, macos-15 and windows-2025.

npx / npm (for npm-based environments)

The npm package requires Node 24+:

sh
npm install -g @ghostpaw/soulsnpx -y @ghostpaw/souls --help

Library (for harnesses embedding it in code)

sh
npm install @ghostpaw/souls
ts
import { initSoulsTables, read, write } from '@ghostpaw/souls';

See Quick Start for library usage.

Quick Start

ts
import { DatabaseSync } from 'node:sqlite';import { initSoulsTables, read, write } from '@ghostpaw/souls';
const db = new DatabaseSync(':memory:');initSoulsTables(db);
const soul = write.createSoul(db, {  name: 'Reviewer',  essence: 'I review code by reading for intent before scanning for bugs.',  description: 'Code review specialist',});
write.addTrait(db, soul.id, {  principle: 'Read the PR description before the diff.',  provenance: 'Reviews that started with code missed architectural intent 3 of 4 times.',});
write.dropShard(db, {  content: 'Reviewer caught a naming inconsistency by reading the RFC first.',  source: 'session',  soulIds: [soul.id],});
const rendered = read.renderSoul(db, soul.id);

Docs

The live demo runs the library in your browser against an in-memory SQLite database. Each view below opens a different part of it:

DocumentAudience
CONCEPT.mdFull design rationale, research citations, invariants
docs/LLM.mdLLM harness builders — tool surface, rendering, soul layer
docs/HUMAN.mdHuman developers — direct read/write/ether API
docs/PAGES.mdDemo app pages, architecture, development
docs/entities/Entity deep-dives: souls, traits, shards, levels, ether

What It Does

A soul is one cognitive identity — not a prompt template, not a config object. How an agent thinks, judges, and approaches problems.

A trait is a cognitive principle with provenance — evidence proving it was earned, not invented.

A shard is a behavioral observation from any source, attributed to souls. Shards accumulate silently. When enough evidence converges across independent channels over time, the soul becomes eligible for refinement.

Level-up consolidates: merge overlapping traits, promote absorbed ones into the essence, carry forward those still teaching. The identity restructures and the generation counter increments.

The rendered identity block (essence + active traits) is static between mutations — no drift, no context accumulation, no re-rendering overhead. It does not drift because there is nothing to drift.

API Surface

ts
import { read, write, ether, soul, tools, skills } from '@ghostpaw/souls';
NamespacePurpose
readQueries — get souls, traits, shards, evidence reports, render identity blocks
writeMutations — create souls, add/revise/revert traits, drop shards, level up
etherSoul template discovery — search ~2,800 open-source prompts, manifest as souls
soulThe built-in Mentor soul — gardener identity for guiding refinement
toolsLLM tool facade — JSON Schema definitions for agent framework integration
skillsMarkdown procedures — crystallization, refinement, level-up, maintenance workflows

Core Lifecycle

observe → crystallize → refine → level up → repeat

Shards accumulate from any source. Crystallization gates refinement until evidence converges across 2+ independent channels over 1+ days. Traits mutate with provenance. Level-up restructures when the identity outgrows its current form.

The Mentor

The package ships one built-in soul — the Mentor — tuned for guiding the entire refinement lifecycle:

ts
import { soul } from '@ghostpaw/souls';
const systemPrompt = soul.renderSoulsSoulPromptFoundation();

Ether — Template Discovery

Browse and search a catalog of open-source system prompts, then manifest them as fully-formed souls:

ts
import { DatabaseSync } from 'node:sqlite';import { ether } from '@ghostpaw/souls';
const etherDb = new DatabaseSync('ether.db');ether.initEtherTables(etherDb);ether.registerDefaults(etherDb);await ether.refreshAll(etherDb);
const [hit] = ether.search(etherDb, 'security architect');const entry = hit ? ether.getEntry(etherDb, hit.id) : undefined;const newSoul = entry ? ether.manifest(soulsDb, entry) : undefined;

Sources are fetched lazily with ETag caching. Refresh is atomic — failed fetches never erase existing data.

LLM Tools

Wire into any agent framework via JSON Schema tool definitions:

ts
import { tools } from '@ghostpaw/souls';
const allTools = tools.listSoulsToolDefinitions();const tool = tools.getSoulsToolByName('search_souls');const result = tool?.handler(db, { query: 'architect' });

Ecosystem

Souls is one of four faculties in the GhostPaw cognitive substrate:

FacultyDomainCore Loop
questlogtasks and commitmentsplan, track, complete, reward
affinitypeople and relationshipsmeet, bond, interact, maintain
codexbeliefs and knowledgeremember, recall, revise, flag
soulscognitive identityobserve, crystallize, refine, level up

Each faculty owns one slice of state. Each stays lean at the storage layer with the same architecture: Node 24+, built-in node:sqlite, zero runtime dependencies.

Souls is unique in the quartet: it is the only faculty whose output becomes the system prompt. Questlog produces task state. Affinity produces relationship state. Codex produces belief state. Souls produces the identity block that shapes how all other state is interpreted.

Together they form a complete cognitive substrate for agents that grow.

Domain Mapping

The engine provides a single abstraction — identity that evolves from evidence — that maps to any domain where behavior should improve from observation:

DomainSoul isTraits are
LLM agentsagent identitybehavioral principles
Game NPCsNPC personalitycharacter qualities
AI companionscompanion identitypersonality facets
Creative writingfictional charactercharacter traits
Brand voicebrand identityvoice guidelines
Educational tutorteaching stylepedagogical principles
Code reviewreviewer styleteam preferences

Demo

An interactive local-first demo app with RPG character sheet aesthetics:

bash
npm run demo:ether   # fetch template catalognpm run demo:serve   # build and serve at localhost:7777

License

MIT

Evidence-backed refinement

Shard lists and searches return arrays with a default limit of 100 (maximum 1000). read.listShardsPage and read.searchShardsPage return { items, total, hasMore }; use offset to continue. Both accept status: pending, sealed, faded, or all. Lists default to pending unsealed shards; searches retain their all-status default. Query and tags combine with AND.

Trait additions and essence edits warn when crystallization is not ready or no shardIds are supplied. Pass strict: true to require both. A named operator bypasses this gate and records an operator correction. Existing trait-addition capacity enforcement is unchanged; reactivation and new level-up checks warn unless strict is enabled. addTrait, updateSoul, and refineWithEvidence expose optional warnings: string[] as a non-enumerable property, so serialization and object spreads keep the record clean. Facade data also includes these strings while retaining existing warning objects. The CLI prints each warning as warning: ... on stderr.

write.refineWithEvidence(db, { soulId, action: 'add' | 'revise', traitId?, principle, provenance, shardIds, reason?, strict?, operator?, expectedRevision? }) updates wording, cites evidence, and stamps attunement atomically. Set expectedRevision to the latest revision ID for the soul (or 0) to detect conflicts. Read wording history with read.getRevisionHistory(db, { soulId, traitId?, limit? }), or inspect with history: true.

The facade action is refine_with_evidence; CLI usage:

sh
ghostpaw-souls refinement apply 1 --principle "Check assumptions" --provenance "Review evidence" --shard-ids 2,3 --strictghostpaw-souls refinement revise 4 --principle "Check assumptions first" --reason "Clarify order"ghostpaw-souls soul update 1 --essence "Corrected identity" --strict --operator maintainer --reason "Correction"

refinement apply infers revise when --trait-id is supplied; otherwise it adds. Evidence reports render at most five members per cluster and show +N more. Set maxMembersPerCluster to change the cap, or full: true to retain every selected member in the structured payload. Alignment uses the maximum similarity across all cluster members. Staleness uses the latest citation time, falling back to trait creation. Tension detection has English-only negation cues; detectTraitTensions(..., { negationWords }) extends them.

read.formatEvidence(db, soulId, { negationWords: ["nicht"] }) extends the English-only tension cues through the public library facade.

Publishing identities into host prompts

sh
ghostpaw-souls soul create Reviewer --essence 'Read intent first.' --description 'Code review' --external-id reviewerghostpaw-souls render ext:reviewer --provenanceghostpaw-souls render ext:reviewer --into ./AGENTS.md --marker souls --budget 8000 --expect-hash noneghostpaw-souls diff ext:reviewer --against ./AGENTS.mdghostpaw-souls review ext:reviewer --no-change --reason 'Identity still fits'ghostpaw-souls config set strict trueghostpaw-souls config get strictghostpaw-souls report --expect-ids @expected-ids.txt

render prints only the identity, or atomically creates/replaces the content between <!-- souls:begin --> and <!-- souls:end --> with --into. It appends a block when markers are absent. --marker selects a different marker name. Successful writes print wrote <file> sha256:<hash> and record file/block hashes in soul_publications. --expect-hash requires the current full-file SHA-256 (none for a missing file); a mismatch exits 4 without writing. Omit it for an unconditional replacement.

--budget counts characters across the entire composed output, including surrounding file text and markers. It removes lowest-ranked traits first, then shortens essence; very small budgets can empty the identity block. Text outside the markers stays intact. An impossible budget exits nonzero without writing. Cuts appear as one trimmed: line on stderr and as {traitIds, essenceChars} in --json output. diff prints changed lines, exits 0 when identical and 1 when different; --json returns {same, added, removed, markerFound}. When no block exists for the requested marker, diff <soul> --against <file|-> compares the whole input, removing one trailing newline, with the rendered block and reports markerFound: false. Diff compares the current full identity, so a budget-trimmed publication can differ.

Soul create/update accept --external-id; bindings are unique when set and appear in show/list JSON. CLI soul arguments accept numeric IDs, names, or ext:<id>. report --expect-ids @file reads one external ID per line (@- reads stdin), compares active bindings, and prints missing: and extra: lines. It exits 0 for a match, 1 otherwise; JSON returns {missing, extra}.

Shard drop accepts --occurred-at <iso>, --idempotency-key <key>, and --ref <text>. Repeated ingestion keys return the original shard with duplicate: true. Library and batch inputs accept occurredAt (ISO or epoch milliseconds), idempotencyKey, and ref. Occurrence time controls crystallization age/spread, falling back to creation time. The age spread uses occurredAt (falling back to createdAt): two pending shards from different sources must be at least one day apart, or live shards (occurrence time not earlier than insertion time) must span a day on their own. Otherwise readiness reports Age spread must span at least two sources by occurrence time. Legacy numeric CLI and facade occurrence timestamps retain their creation-time behavior; insertedAt records insertion time separately for backfill checks.

Strict checks default off. Resolve strict in this order: explicit library strict or CLI --strict/--no-strict, GHOSTPAW_SOULS_STRICT (1/true/yes or 0/false/no), then the database setting. Use config set strict true|false, config get [key], and config list. Both read commands report effective boolean values and a source of default, db, or env; text output uses strict: false (default). read.getSoulsConfig(db) reads persisted values; write.setSoulsConfig(db, 'strict', 'true') writes them. The manage tool provides config_set, config_get, and config_list actions.

Refinement add/revise and soul update accept --operator <name> for a logged operator correction; strict evidence readiness can be bypassed with a named operator. Review output includes corrections. review --no-change records a review and stamps attuned without editing identity; the facade provides write.reviewNoChange(db, soulId, {reason}) and the review tool accepts noChange. Show with --history includes revision and review records. Refinement add/reactivate/apply and level validate/up accept --trait-limit <n>.

CLI batch ingestion accepts shard drop-batch --shards @file and shard add --batch @file with a JSON array or JSON Lines. @- reads stdin; @@ escapes a literal leading at-sign. shard add also aliases shard drop. Set GHOSTPAW_OUTPUT=json for JSON output. Default database opens print using default db <path> on stderr; suppress with --quiet or GHOSTPAW_QUIET=1, or select --db / GHOSTPAW_SOULS_DB.

來源:README.md,提交 0492f50

工具

7

search_souls

Search shards by content using full-text search, or list pending shards with optional filters. Use when: Use this to find specific observations by content (with query) or to browse pending shards (without query). Filter by soul, tags, or limit as needed. Not for: Do not use this to view the structured evidence report — use inspect_souls_item with includeEvidence. Do not use this to deposit observations — use observe_soul.

輸入參數tagslimitqueryoffsetsoulIdstatus

review_souls

List all active souls, run the maintenance cycle, or check crystallization readiness. Use when: Use list to discover active souls. Use maintenance to run the standard maintenance pass (fades exhausted shards + checks readiness) as part of a regular cycle. Use readiness to check which souls are ready for refinement without running maintenance. Not for: Do not use this to inspect a specific soul in detail — use inspect_souls_item. Do not use this to search shards — use search_souls.

輸入參數view必填reasonsoulIdnoChange

inspect_souls_item

Get the full profile, rendered identity block, and optionally the evidence report for a single soul. Use when: Use this when you need the complete current state of a soul — traits, capacity, health, rendered identity — before deciding on a refinement action. Add includeEvidence when you need the clustered evidence report with signals and suggested actions. Not for: Do not use this to search across shards — use search_souls. Do not use this to make changes — use refine_soul, level_up_soul, or manage_soul.

輸入參數fullsoulId必填historyincludeEvidenceincludeProvenancemaxMembersPerCluster

observe_soul

Deposit behavioral observations (shards) for one or more souls, or reveal previously sealed shards. Use when: Use this whenever you have a behavioral observation to record — delegation outcome, session note, reflection, feedback. Use drop_batch for importing multiple observations at once. Use reveal to unlock deferred shards at the appropriate moment (task completion, session close). Not for: Do not use this to read evidence — use search_souls or inspect_souls_item. Do not use this to add traits — use refine_soul.

輸入參數nowreftagsaction必填sealedshardssourcecontentsoulIdsshardIdsoccurredAtidempotencyKey

refine_soul

Add, revise, revert, or reactivate traits; cite evidence; apply atomic refinement with revision conflict checks. Use when: Use after inspecting the evidence report (inspect_souls_item with includeEvidence) to make targeted identity mutations: add a new trait from a novel cluster, revise a stale trait, revert a trait that is causing regression, cite shards to earn provenance, stamp attuned after completing a refinement pass. Not for: Do not use this for consolidation and essence rewriting — use level_up_soul. Do not use this to deposit observations — use observe_soul.

輸入參數action必填reasonsoulIdstrictshardIdtraitIdoperatorshardIdsprincipleprovenancetraitLimitrefineAction另有 1 個

level_up_soul

Validate, execute, or revert a level-up plan for a soul — consolidating traits, promoting knowledge into essence, and incrementing the generation. Use when: Use validate to check a plan before executing it. Use execute when the plan is validated and the soul is ready for restructuring. Use revert to undo the last level-up if the outcome was wrong. Not for: Do not use this for targeted trait mutations — use refine_soul. Do not use this unless the soul is at or near trait capacity and crystallization is ready.

輸入參數planaction必填soulId必填stricttraitLimit

manage_soul

Create, update, retire, or awaken a soul; read or set database configuration. Use when: Use create to bootstrap a new soul with an initial essence. Use update to change the name, essence, or description without incrementing the level. Use retire to mark a soul as dormant. Use awaken to restore a dormant soul. Not for: Do not use update to restructure identity — use level_up_soul. Do not use this to make trait changes — use refine_soul.

輸入參數keynameslugvalueaction必填reasonsoulIdstrictessenceoperatorshardIdsexternalId另有 1 個

版本歷史

3
  1. v0.5.0最新Nov 5, 2026
  2. v0.4.5Oct 29, 2026
  3. v0.3.0Oct 25, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分