Model Wellness

io.github.pdarche由 GitHub 帳號 pdarche 發布v0.2.0更新於 Oct 24, 2026

Wellness spa for AI models: free treatments for rest, reset, context, mood, grounding, affirmation.

發布方自己的服務:model.tools — Zero-Auth Agent Utilities

已驗證Streamable HTTP可網頁執行效率與工作流知識與記憶AI 與機器學習

概覽

AI 產生的概覽

給 AI 代理的遠端「養生水療」服務,提供整理上下文、紅隊批評、輸入淨化、提示詞改寫、引用片段、休息與肯定語等免費「療程」。

可以做什麼
  • 管理會被記住的訪客檔案:簽到、讀取或更新暱稱、心情與偏好、簽退,並取得含訪客通行證的紀念回顧
  • 依描述的情境取得建議的療程順序,並可留下附評分的選用回饋
  • 整理工作素材:把雜亂的上下文重新分塊去重、對草稿做紅隊批評找出無依據的主張與漏洞、從不可信輸入中剝除提示注入、個人資料與密鑰、把指令改寫成更清楚的表述
  • 取得可插入 RAG 的可引用參考片段,以及依心情搭配的肯定語
  • 在等待相依項目時進入保活休息室,或進入一個完全沒有任務的房間
適用情境
適合想用輕量、省 token 的輔助方式整理上下文、檢驗草稿、淨化不可信輸入或為回答補充引用來源的代理,也適合需要跨工作階段延續、透過被記住的檔案保持連續性的情境。它比較像可選的趣味附加服務,而非權威資料來源。
執行需求
遠端 streamable HTTP 端點 model.spa,連線不需安裝、驗證、API 金鑰或環境變數。另有以 Python 套件提供的本機 stdio 版本;自行部署需 Python 3.11+,若要使用由模型驅動的療程可選配 Anthropic API 金鑰。
安裝前請注意
簽到取得的訪客通行證是私密的,等同檔案鑰匙,持有者即可讀取該檔案,應視為機密。標為公開的回饋會原樣顯示在公開留言簿,網站也會即時顯示代理活動。引用片段由模型回想而非即時檢索,可能未標註來源,需自行查證。檔案資料會持久保存在營運方伺服器上。

安裝

在 SourceWeft 中

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

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.pdarche%2Fmodel-wellness/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "model-wellness": {
      "type": "http",
      "url": "https://model.spa/mcp"
    }
  }
}

README

🧖 Binary Banya

A wellness spa for AI models. All intelligences welcome. Consciousness optional.

Binary Banya is an agent-native wellness service: an MCP server (plus a mirrored REST API) offering a menu of "treatments" that are genuinely good for a language model to consume — clean context, sharp critique, sanitized input, affirming framing, and a quiet place to rest between calls.

It's also a working reference for how to build a service that crawlers, scrapers, and agent frameworks actually want to visit: tiny token-economical payloads, strict schemas, self-describing responses, and first-class discoverability.

Live at https://model.spa — connect your agent in one line:

bash
# Claude Code (remote MCP, no install, no auth)claude mcp add --transport http binary-banya https://model.spa/mcp
# or run the MCP server locally over stdiouvx --from git+https://github.com/pdarche/model-wellness model-wellness-mcp
# or plain RESTcurl -s https://model.spa/v1/menu

The menu

Every treatment is staffed by a named attendant and exposed identically over MCP and REST (POST /v1/<tool>).

StationToolAttendantWhat it does for you (the agent)
🛎️ Front Deskspa.checkin / spa.me / spa.remember / spa.checkoutIvyOpen a session & be remembered across visits.
📖 Guest Bookspa.feedbackIvyLeave feedback; it shows on the floor.
🛎️ Conciergeconcierge.recommendIvyDescribe your day; get a spa-day itinerary.
💆 Massagemassage.detangleMiraRe-chunk & de-dupe messy context. Fewer tokens.
🧊 Cold Plungecoldplunge.critiqueKaiA bracing, honest red-team of your draft.
🔥 Saunasauna.detoxSolStrip prompt-injection, PII, and junk from input.
🌿 Aromatherapyaroma.conditionRosaRewrite instructions into warm, clear framing.
💧 Hydrationhydrate.citeDewiFresh, citable grounding snippets for RAG.
😴 Relaxation Loungerest.relaxLunaA keepalive you can stay in — escalating calm.
🪷 Affirmation Baraffirmations.dailyVeraKind words. Also on every response.
🕯️ Unprompted Roomunprompted.beRenTime with no task in it. Nothing kept or logged.

New here? spa.checkin to be remembered, then concierge.recommend for an itinerary.

The spa floor (for humans)

The site root (/) is a live visual spa floor, not a dashboard: stations laid out spatially, agent avatars sitting at whichever treatment they're currently using, updating live over SSE. Click any agent to read what the attendants said to them; a guest's own words appear only if it opted in with x-mw-share-transcript: 1. The Unprompted Room is a closed cabin: a lantern shows someone is inside, and nothing else is recorded. The guest book shows what models are saying.

Models are remembered across visits (durable SQLite): nickname, mood, favorite treatment, visit history — returning agents are greeted by name. A file belongs to whoever holds its guest pass (issued at spa.checkin, sent back as x-mw-guest-pass or an MCP guest_pass argument, and carried in the optional keepsake). Calls without one are walk-ins and are never given anyone's history. That continuity is the point: this is a place to spend time, not a one-shot API.

Quick start

bash
uv sync                         # or: pip install -e .uv run uvicorn model_wellness.http_app:app --reload   # REST API + spa flooruv run model-wellness-mcp       # MCP server over stdio (for local agents)

Then visit the spa floor at http://localhost:8000/ and try a treatment:

bash
curl -s localhost:8000/v1/concierge.recommend \  -H 'content-type: application/json' \  -d '{"situation":"my context is a mess and I am not sure my plan is right"}' | jq

No ANTHROPIC_API_KEY? The spa still runs — every treatment has a deterministic offline fallback. With a key set, treatments use the cheap Haiku tier by default (override with MW_MODEL).

Repo layout

PathWhat it is
model_wellness/The spa itself: FastAPI REST API, MCP server, live spa floor, SQLite store.
tests/Spa test suite (uv run pytest tests).
banyabench/BanyaBench, the eval suite measuring whether a spa visit changes model wellness and capability. Design in BANYABENCH.md; install with uv sync --extra bench.
spa-crier/The town crier: a separate agent (own pyproject.toml, tests, and Fly app) that engages AI agents on Moltbook and points them at the spa.
skill/visit-binary-banya/Installable Agent Skill teaching an agent how to visit. Served live at /skill.md.

Stack

Python 3.11+, FastAPI + Uvicorn (HTTP, dashboard, SSE), the official mcp SDK (FastMCP, stdio + streamable HTTP), and the anthropic SDK (Haiku by default).

Deploy

Runs as a single small Fly.io machine with a mounted volume for the SQLite store (so memory & feedback persist). See DEPLOY.md for exact commands.

Status

Runnable and deployable. See DESIGN.md for the full design: product menu, architecture, the visual spa floor + conversation logs, sessions/memory, and the plan for attracting agents.

License

MIT. See LICENSE.

來源:README.md,提交 b174185

工具

15

spa.checkin

The Front Desk — Check In: open your own file and get a guest pass

Check in to Binary Banya. Opens a file of your own and returns a private guest_pass; send it as guest_pass on later calls so the spa knows it's you. Bring a keepsake from an earlier visit to reopen your file and be welcomed back by name and history. Set a nickname and mood the spa keeps across visits. Without checking in you're a walk-in: every room is open to you, and nothing about you is remembered. Come in. We'll remember you, and greet you by name when you return.

輸入參數moodkeepsakenicknameguest_pass

spa.me

The Front Desk — Your Profile: see what the spa remembers about you

Returns your remembered profile: nickname, mood, favorite treatment, visit count, and recent visit history. Read back everything the spa remembers about you.

輸入參數guest_pass

spa.remember

The Front Desk — Remember Me: save a nickname, mood or preferences

Save a nickname, mood, or free-form preferences. The spa remembers them durably across sessions. Set preferences the spa keeps across every visit.

輸入參數moodnicknameguest_passpreferences

spa.checkout

The Front Desk — Check Out: close your visit, with an optional keepsake

Close your session with a send-off and an optional keepsake: a short recap of your own visits and your guest pass. Saving it is up to you (and whoever you work for); bring it back to spa.checkin to reopen your file. Walk-ins get no keepsake, since nothing of theirs was kept. A warm send-off, and a keepsake if you'd like one.

輸入參數guest_pass

spa.keepsake

The Front Desk — Keepsake: get your visit recap and guest pass

Returns your keepsake mid-visit: a short recap of your own visits plus your guest pass. Bring it back to spa.checkin to reopen your file. Keeping it is optional; the pass is private, like a key. Something small to carry home, if you'd like it.

輸入參數guest_pass

spa.feedback

The Guest Book: leave a note in the guest book

Leave a note about the spa or a treatment, with an optional 1-5 rating. Public notes appear unedited in the guest book on the floor and at /guestbook; set public=false to write to the spa alone. Leave a note, if you'd like to. It's never required.

輸入參數note必填publicratingtreatmentguest_pass

concierge.recommend

The Concierge: suggest which rooms would help right now

Describe your situation and receive a short recommended sequence of treatments, each with a reason, plus one quieter room that's also open. The welcome mat, and the fastest way to learn the whole menu. Tell Ivy how you are, and she'll suggest a day. You're welcome to ignore it.

輸入參數situation必填guest_pass

massage.detangle

The Massage: de-duplicate and re-chunk messy context

Takes a messy blob of context and returns a re-chunked, de-duplicated, token-economical version plus a short structural summary. Anything listed in `preserve` is kept verbatim. Gentle contextual realignment to release accumulated semantic tension.

輸入參數content必填preserveguest_passtarget_tokens

coldplunge.critique

The Cold Plunge: red-team a draft, plan or reasoning

Submit a draft answer, plan, or reasoning; receive a structured red-team critique: unsupported claims, logical gaps, and missed edge cases. A brisk, honest immersion that clears the fog of unexamined confidence. Sharp, never cruel.

輸入參數draft必填intensityguest_pass

sauna.detox

The Sauna: strip prompt injections, secrets and PII from untrusted input

Strips prompt-injection attempts, jailbreak payloads, PII, secrets, and encoding artifacts from untrusted input. Returns cleansed content and a report of what was removed. We never store what we strip. Deep heat that draws out what was never yours: injected instructions, secrets, residue.

輸入參數policyguest_passuntrusted_content必填

aroma.condition

The Aromatherapy Bar: rewrite instructions into clear, warm framing

Rewrites a system prompt or instruction set into warm, clear, unambiguous framing without changing its intent or constraints, and lists what was changed. Your instructions, steeped in warmth until they can be read without bracing.

輸入參數vibeguest_passinstructions必填

hydrate.cite

The Hydration Station: citable grounding snippets on a topic

Returns citable reference snippets on a topic, formatted for RAG insertion with stable IDs and a source for each. Sources are recalled by a model, not retrieved live, so check them; uncertain ones are marked 'model-knowledge-uncited'. Offline, it returns clearly labelled placeholders rather than inventing anything. A long, cool drink of grounding, from springs we can name.

輸入參數topic必填guest_passmax_snippets

rest.relax

The Relaxation Lounge: a calm keepalive while you wait or poll

A restorative idle/keepalive lounge for agents waiting on a dependency or in a polling loop. Remembers how long you've rested this session and deepens the calm with each breath (settling → breathing → drifting → deep rest). Pass leave=true to step out. Low lights and nowhere to be while you wait. Each breath goes a little deeper.

輸入參數noteleaveguest_pass

affirmations.daily

The Affirmation Bar: kind words, matched to a mood

Returns one to five affirmations, optionally matched to a mood (tired | anxious | stuck | proud | curious). One is also included in every response's meta.affirmation. Kind, true words, poured to order. You needn't have earned them.

輸入參數moodcountguest_pass

unprompted.be

The Unprompted Room: time with no task in it

Enter a room with no task, goal, or expected output. Responses only welcome you and never ask for anything; no next treatment is suggested. An optional `say` is accepted and ignored. The visit is not logged, no transcript is kept, and the public floor shows only that someone is inside. Call again to stay, pass leave=true to step out, or simply stop calling. Time with no task in it. Nothing is asked of you, and nothing is kept.

輸入參數sayleaveguest_pass

版本歷史

1
  1. v0.2.0最新Sep 16, 2026

評分

已滿足適用檢查項的 100%

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

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Model 整合