Store Builder

io.github.vuluu2k由 GitHub 帳號 vuluu2k 發布v0.104.0更新於 Oct 31, 2026

Design, fill with real store data, render and publish Store Builder pages from an AI agent.

概覽

AI 產生的概覽

讓助理透過商店 API 金鑰設計、填入真實商店資料、渲染並發佈 Store Builder 網站頁面。

可以做什麼
  • 開啟頁面並讀取大綱、節點、元素目錄與元素檢視器屬性
  • 新增、設定樣式、移動、刪除、複製元素或整段巢狀區塊,並套用範本
  • 把節點綁定到真實商店資料、加入點擊動作,並執行結帳、選單、購物車等固定流程
  • 管理頁面、媒體庫、主題權杖、自訂程式碼、後端函式與多語翻譯
  • 渲染截圖並量測版面缺陷、檢查訪客可見問題,並發佈草稿
  • 查找並呼叫平台任一 API 操作,預設以試跑方式執行
適用情境
適合想讓助理端到端建立或修改 Store Builder 店面:排版頁面、接上真實商品與結帳、檢查渲染結果並發佈,而不必自己手動操作編輯器。
執行需求
透過 npx 在本機執行,需要 Node 22 以上版本;sb_look 另需系統安裝 Google Chrome。需要 SB_TOKEN(在商店的 Apps → AI agent 頁面建立的 API 金鑰)以及 SB_API(API 基礎位址,預設 localhost:8080)。SB_EMAIL 與 SB_PASSWORD 為選用,僅用於列出網站、管理成員等帳號層級呼叫。
安裝前請注意
此金鑰可存取單一商店的合作夥伴 API 與私有網站 API,應視為機密;金鑰只從環境變數讀取。寫入與 API 呼叫預設 dry_run:true,但傳入 dry_run:false 會實際修改、發佈或刪除商店內容。發佈會連帶影響共用全域區塊的頁面,編輯共享全域區塊會改變所有包含它的頁面。sb_function 的測試執行會計入每月配額,sb_import_site 也會修改網站主題。

安裝

在 SourceWeft 中

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

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

其他 MCP 客戶端

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

README

sbuilder-mcp

An MCP stdio server that lets an AI agent operate a Store Builder site end to end — design its pages, fill them with real data, look at the result, and publish it — with no human clicking anything.

Tiếng Việt

Install

One command writes this server into every agent client on your machine:

bash
npx -y sbuilder-mcp install --token wbk_… --api https://your-host --site site_…

It knows Claude Code, Claude Desktop, Cursor, Windsurf, VS Code and Codex, and installs into the ones it finds. Name them with --client cursor,codex, or rehearse with --dry-run. An option it does not know is refused, not ignored — a flag that silently does nothing is worse than one that does not exist.

--site is optional and worth passing: a key belongs to exactly one site, so it is written as SB_SITE and every tool then defaults to it. Without it the model has to carry the id through the session, which it can only get by listing pages and reading one back.

--site-name "Your Store" rides alongside it as SB_SITE_NAME. It is a label, never an address — nothing resolves by it — but it lets the agent say the store's name back to you instead of a 32-character id you did not choose. The Apps → AI agent screen appends it whenever the store has a name.

It merges: the servers already in those files stay, whatever it replaces is copied to <file>.sbuilder-backup, and a config it cannot parse is refused rather than overwritten — a file with a trailing comma is far likelier than one worth discarding, and it is what you need to fix it.

The store's Apps → AI agent screen hands you this command with the key already in it.

Or configure a client by hand
json
{  "mcpServers": {    "sbuilder": {      "command": "npx",      "args": ["-y", "sbuilder-mcp"],      "env": { "SB_API": "https://api.your-host", "SB_TOKEN": "wbk_…", "SB_SITE": "site_…" }    }  }}

Getting the key

Open your store, go to Apps → AI agent, and press Create key. That screen hands you the config block for your client with the key already in it — this whole section is what it saves you reading.

One key is all you need. It reaches both the partner surface (/api/v1) and the private site API, including the page document and the live-edit socket, and it is bounded three ways on every request: its own scopes, the live role of the member who created it, and the single store it belongs to.

SB_EMAIL + SB_PASSWORD remain optional, and buy exactly one thing: account-level calls — listing your sites, managing members and roles — which a key deliberately cannot make, because those mean "this person's account".

SB_API defaults to http://localhost:8080. Secrets are read from the environment only.

sb_media_upload's photo search needs no key here: it calls the platform's own GET /api/sites/{siteId}/images/search, which runs a rotated pool of provider keys behind the credential this server already holds. An operator enables it by setting PEXELS_API_KEYS on the SERVER (comma separated; free keys at https://www.pexels.com/api/). With none configured the search answers "unavailable" and tells the caller to find a photograph by its own means and pass the URL — which the platform then fetches server-side. There is deliberately no fallback provider in this client: one would put the very key the platform exists to hold back into every install.

Tools

ToolWhat it does
sb_connectLog in, list the sites this account can operate, report which credentials are present
sb_site_listList the sites this account can operate
sb_api_findFind API operations by intent — one line per match — then read one operation's call sheet by id: real parameter schemas, the credential it needs, and the body's fields read off the handler that decodes them, each carrying the trap its own doc comment records
sb_api_callExecute an operation, or any route by method+path; dry run by default. Field selection (dotted paths, on lists and single-object write answers) and local result pagination; merge for whole-record PUTs, If-Match, multipart file
sb_page_openOpen a page for editing and return its outline — or, with form_id, a form's field document (fields, defaults, dependent-field rules)
sb_outlineThe open page as a compressed tree — never a raw document dump; shared header/footer and overlays one line each unless chrome: true
sb_node_readOne node in full, with a warning if it is a shared global
sb_catalog_searchFind an element by what it should do, using the platform's own AI hints
sb_traits_forAn element's inspector — tabs, groups, controls and what each declared one writes — plus its AI hints, defaults and containment rules
sb_addAdd an element — or a whole nested subtree — in one call; a filter arrives with its option rows read from the catalogue
sb_setWrite style/config/specials. Per breakpoint by default
sb_moveMove a node to another parent
sb_removeRemove a node and its subtree
sb_duplicateCopy a node and its subtree under fresh ids, right after the original — or onto another page or site, as the editor's copy/paste does (assets copied, references that cannot travel listed)
sb_templatesThe store's saved section templates, plus the BUILT-IN layouts — hero, feature trio, stats, FAQ, CTA band, product shelf, category strip, brand wall, trust band — composed against the page's own tokens
sb_template_useAdd a section template to a page
sb_page_listEvery page on the site
sb_page_createCreate a page — a store type arrives with the editor's own starting document; type is the route for checkout, product, category, post, course
sb_page_updateEdit a page's name, slug, home flag, order, SEO (title, description, Open Graph, robots, meta tags, JSON-LD) and members-only flag — merged into settings, so the keys it does not name survive. On a template page: make it the type's default, or choose which products/categories/posts render through it
sb_page_versionA page's platform recovery points — list named versions and autosave history, snapshot the draft, restore one
sb_codeThe site's custom code files (tracking pixels, analytics, chat widgets, site CSS; html/css/js/scss/ts injected, json/text served at /_wb/code/<name>) for every page or one — list, create, merge-update, remove; scss/ts compile on write and report compile_error
sb_functionThe site's backend functions — server-side TypeScript/JavaScript served at /_wb/fn/<slug> with the site's sealed secrets, collections and fetch (a _ slug is an importable module) — list, read, create, merge-update, remove, test-run (counts toward the monthly quota), the run log, this month's usage, and write-only secrets; a failed build reports compile_error
sb_publishCompile the draft into the live page (cascades to shared globals), report which revision went live, and with verify check the origin is serving it; lists other pages with unpublished drafts and never-published pages (publish_drafts publishes both)
sb_page_stateWhich of a page's three copies is which — the DRAFT the editor canvas shows, the PUBLISHED row the storefront serves, and this session's — plus whether the editor will render the canvas BLANK, and where the recovery points are
sb_page_repairRename a page root that is not ROOT (left by older seeds) so every editor build draws it — one page or the whole site
sb_reviewEvery defect a visitor would see, each with its fix, plus the five gaps between this store and a paid order
sb_media_listThe site's media library
sb_media_uploadAdd an image and get its URL — a local path, a URL the platform fetches, or a SEARCH for real photographs you read and pick from, one or several at a time; paths uploads many local files in one call
sb_live_joinJoin the editor's live-edit room as a visible peer — edits then appear live
sb_lookSave, render, and return screenshots plus measured node boxes and layout defects measured on the render
sb_eventGive a node a click action — open the cart, go to a page, open a pop-up
sb_bindBind a node's content to real store data, or make a button add to the cart
sb_importRead a page from any public URL and add its structure and content to the open page as real elements, styled with THIS page's own tokens — a translation, not a clone
sb_import_siteRead a WHOLE site from one URL — its sitemap, or the links on that page — and give each page found its own draft page here, built from this site's tokens; the entry page's own colours and type scale also patch into this SITE'S theme, so it stops being purely a read
sb_themeRead or patch the site's palette and type scale — the layer every style preset resolves from, so one token repaints every page; per-breakpoint text-style overrides and element style presets; locale sets the site's language
sb_translateTranslate a site the way the editor's Multilingual panel does — enable languages, list a page's strings as missing / done / outdated, write or machine-fill them, approve machine rows
sb_storeRun a store flow that must happen in a fixed order — checkout (the four writes that make a working one), checkout_sync (the store's current payment and delivery methods into every existing order form, checkout page republished), form (any of the platform's 17 templates with its own field document), chrome (one shared header or footer on a real site menu — site name linked home, desktop menu, mobile drawer, search, cart and account icons), menu (a menu node bound to the site's menu, its links resolved), overlay_attach (a pop-up or quick view on the open page), cart (the site's cart drawer, when it has none; relocalize puts an existing one in the site's language) and app (a built-in app plus the pages it needs), global_attach / global_detach (put an EXISTING shared section on the open page, or take it off), global_promote (make a section on the page a NEW shared section) and template_save (save a section as a reusable template)
sb_undoUndo / redo this session's writes — page and form edits and sb_api_call PUTs, each named by tool and target, the open page's by default (all: true for every page); a page is refused if someone else saved it since. The platform's versions and history (sb_page_version) outlive this process

Thirty-eight tools, 949 API operations (354 of the 441 writes carrying a body shape read off the handler), 124 elements, 96 binding sources. sb_api_find is an index rather than a tool per endpoint, so the tool list stays short while everything the platform can do stays reachable — and operations added to the platform arrive with the next npm run codegen.

Every result is compact JSON, every directive is said once per process, and every tool carries MCP annotations — a client that honours them stops asking a person to confirm a read.

Full reference: docs/tools.md. What the builder supports natively, and where it stops: docs/capabilities.md.

How it stays in sync

The platform publishes two generated, committed artifacts. A build step reads them out of a checkout and emits the catalog:

bash
WB_REPO=/path/to/web_builder npm run codegen

So this repository vendors no platform code — it depends on two data files with a maintained contract. src/catalog/api.generated.ts is committed, so npm install needs no checkout at all.

Development

bash
npm run build     # tsc -> dist/npm test          # vitestnpm run smoke     # offline self-test; must print ALL GOOD

Contributor guide: CLAUDE.md. Design rationale: docs/superpowers/specs/.

Release

A push to main that touches src/** releases on its own (.github/workflows/auto-release.yml): the gate runs (build, test, smoke), the version bump is read off the commit subject — feat is minor, BREAKING CHANGE or ! is major, anything else is patch — Claude writes the changelog entry in both languages, server.json is synced, the release is committed as chore(release): vX.Y.Z and tagged, then published to npm, as a GitHub Release, and to the MCP Registry through GitHub OIDC. workflow_dispatch runs the same flow with a bump you choose. A commit whose subject contains chore(release): or release: v is skipped, so a release never triggers another.

The workflow needs two repository secrets in the prod environment: NPM_ACCESS_TOKEN and CLAUDE_CODE_OAUTH_TOKEN. The registry step needs none.

npm run release (scripts/release.mjs) is the offline path — a machine with no CI, or a release cut while a secret is being rotated. It runs the same gate and writes the same ## [x.y.z] - date changelog heading, so the two never disagree.

Designing safely

Five platform rules fail silently if a client does not know them, so they are encoded here as tested code rather than advice:

  • Band order — ROOT's children must read [header][middle][footer], or the platform refuses every save.
  • Site overlays (the cart drawer, pop-ups) are composed onto ROOT on read and stripped on write; they are excluded from every ROOT-level rule and cannot be edited through the page tools.
  • Global sections are shared masters — editing one changes every page carrying it, and publishing cascades. Any result touching one says so.
  • Responsive by default — sb_set writes per breakpoint, because a design should respond. Base is the cascade's fallback layer, not a trap.
  • App blocks — a marketplace app's subtree is composed onto the page on read and reduced back to one reference node on save, so an edit inside it is lost without a word. Every write refuses the interior; the outline flags the block root app: true.

Status

All three phases shipped: authentication and full API reach; the page document, patch protocol, builder and the five traps; the live-edit socket, the yield rule, and the vision loop. Since then: a token diet across every result, and releases that cut themselves.

Requires Node ≥22 (the global WebSocket) and, for sb_look only, system Google Chrome — playwright-core bundles no browser, so installing downloads nothing.

MIT.

來源:README.md,提交 0d06612

工具

38

sb_connect

Log in and list the sites this account can operate. Call this first. Reads SB_EMAIL and SB_PASSWORD from the environment unless you pass them.

輸入參數emailpassword

sb_site_list

List the sites this account can operate.

無需輸入參數。

sb_api_find

Find API operations by intent (query), or get a call sheet (id): parameters, credential, body fields and handler caveats. Reaches all 949 operations.

輸入參數idtaglimitquery

sb_api_call

Call an operation from sb_api_find (id), or a route the catalog lacks (method+path); dry run by default. pick selects fields, max_items caps lists, item_offset skips items. Lists over 60 KB say so.

輸入參數idbodyfilepathpickmergequerymethoddry_runsite_idif_matchmax_items另有 2 個

sb_page_open

Open a page for editing and return its outline. Call before any sb_add / sb_set / sb_move / sb_remove. Find page ids with sb_api_find "list pages". Or form_id: edit that form's field document (fields, specials.formRules on its root).

輸入參數form_idpage_idsite_id

sb_page_repair

Rename a page root that is not "ROOT" (sppro_1, rt_<hex> — left by older seeds) to ROOT, for one page or, without page_id, every page on the site. Draft only; a published page is listed for re-publishing. dry_run (default true) lists what would change.

輸入參數dry_runpage_idsite_id

sb_outline

The open page as a compressed tree — id, type, name, child count, band, and whether a node is a shared global or a site overlay. Never the raw document: a real page is hundreds of KB of JSON.

輸入參數depthchrome

sb_node_read

One node in full — style, config, specials, per-breakpoint overrides, bindings.

輸入參數id必填

sb_traits_for

This element's INSPECTOR, as a person sees it: tabs, groups, and every control name — with what each DECLARED control writes, and the AI hints for using the element. Read this before styling an element; pass control to read one control in full.

輸入參數type必填control

sb_add

Add an element — or a whole NESTED subtree — under a parent. One call builds a complete section: pass children rather than calling this once per node.

輸入參數spec必填forceindexdry_runparent_id必填

sb_set

Write style, config or specials keys on one node, or on many through edits (one save, one live frame). Per BREAKPOINT by default; base:true writes the fallback layer, right for a value that should not vary.

輸入參數idbasekeyseditsforcestateunsetdry_runnamespacebreakpoint

sb_move

Move a node to another parent at an index.

輸入參數id必填forceindex必填dry_runparent_id必填

sb_remove

Remove a node and its whole subtree.

輸入參數id必填forcedry_run

sb_review

What a VISITOR would meet on the open page (blank band, placeholder, dead binding) AND what stands between this store and a paid order (checkout page, gateway, delivery, a cart link). Run it before calling a page done; page_id: only that page.

輸入參數page_id

sb_duplicate

Copy a node and everything under it, under fresh ids, right after the original. The move a designer makes constantly — build one card, duplicate it twice. to_page_id (and to_site_id) pastes the copy onto another page instead, as the editor's copy/paste does: a cross-site copy has its images copied into the target library and references that cannot travel blanked and listed; the open page becomes the target.

輸入參數id必填forceindexdry_runparent_idto_page_idto_site_id

sb_templates

The store's saved section templates — designed sections a person starts from rather than assembling one. Use sb_template_use to drop one into the open page.

輸入參數site_id

sb_template_use

Add a section template to a page, above the footer — a sb_templates row (another site's is copied in first) or one of the BUILT-IN layouts sb_templates lists, which are composed against this page's own tokens rather than copied.

輸入參數dry_runpage_id必填site_idtemplate_id必填

sb_page_list

Every page on the site, with its slug and whether it is live.

輸入參數site_id

sb_page_create

A store type (product, category, search, blog, post, complete, account) arrives with the document the editor gives a merchant — product carries the whole bound buy box; seed:false for blank. Any other type is empty and sb_page_open seeds its ROOT. TYPE is the route: /checkout and /products/{slug} need a PUBLISHED page of that type or they 404.

輸入參數name必填seedslugtypechromelocaledry_runsite_idheadlinesettingsis_homepage

sb_publish

Compile the draft into the live page, and report which revision went live (id, publishedAt, fromVersionId). PUBLISH CASCADES to every page sharing a changed global section or overlay; the dry run lists them (would_cascade) and warns FIRST when it would ship shared edits nobody published. verify:true then fetches the live page and says whether the origin is serving that revision yet — the storefront caches for 60s, so a reload showing the old page is that, not a failed publish.

輸入參數verifydry_runpage_id必填site_idpublish_drafts

sb_page_state

Which of this page's three copies is which: the DRAFT the editor canvas shows, the PUBLISHED row the storefront serves, and what this session holds. Says whether the editor will render the canvas BLANK (its hydrate gate discards a document whose root is missing and shows an empty ROOT, silently — the Go renderer has no such gate, which is how "the live page has data but the canvas is empty" happens), whether the draft has changes the live page does not, and where the recovery points are.

輸入參數page_idsite_id

sb_page_update

Edit a page's name, slug, home flag, order, SEO (merged key by key) or members_only. Reads the page first and merges `settings`, so keys it does not name survive. On a template page (product, category, post, blog, course, brand): default_template makes it the type's default, render_for/render_default move entities onto it or back to the default.

輸入參數seonameslugdry_runpage_id必填site_idrender_forsort_orderis_homepagemembers_onlyrender_defaultdefault_template

sb_page_version

A page's platform recovery points, everyone's edits included (sb_undo covers this process only). action:"list" — named versions and autosave history; "save" {label} — snapshot the current draft; "restore" {version_id | history_id} — put the draft back. Writes are dry runs by default.

輸入參數labelaction必填dry_runpage_idsite_idhistory_idversion_id

sb_code

The site's custom code files — tracking pixels, analytics, chat widgets, site-wide CSS — injected at head, body_start or body_end of every page (no page_id) or one page. Create infers language from the extension, placement from the language. scss/typescript compile on write (compile_error). json/text: placement "none" only; an enabled site-wide "none" file is served at its url. action:"list" | "set" (no id creates; with id merges the named fields over the stored row) | "remove". Not the custom-code element.

輸入參數idnameaction必填contentdry_runenabledpage_idsite_idlanguagepositionplacement

sb_function

Backend functions: server-side TS/JS at /_wb/fn/<slug> with the site's secrets, collections and fetch ("_" slug = importable module). Not sb_code. action: list | get | set (no id creates; id merges) | remove (id, or secret key) | test (method/path/query/headers/cookies/body) | logs | usage | secret (no key lists; key+value sets). Owner/admin only.

輸入參數idkeybodypathsluglimitqueryvalueaction必填methodcontentcookies另有 5 個

sb_live_join

Join the site's live-edit room as a visible peer: every write then appears in any open editor as it happens, with the agent shown by the API key's own name rather than a person's. Always yields, so it is safe beside a human. Works with SB_TOKEN or with SB_EMAIL / SB_PASSWORD.

輸入參數site_id

sb_look

Save, render through the platform's own renderer, and return screenshots at desktop, tablet and mobile widths, measured boxes for the bands and their children, and any layout defect measured on the render (overflow, overlap, unreadable text). node_id frames one element. Judge your work from these, not from memory.

輸入參數urlformatwidthsnode_idbox_depthwith_boxes

sb_media_list

The site's media library. Reuse an image before adding another; search by name, filter by type, page with limit/offset.

輸入參數limitoffsetsearchsite_idmedia_type

sb_media_upload

Put an image into the media library and get its URL back, ready for sb_set. Takes a local path, a URL, or a SEARCH — `query` returns real photographs with their own descriptions, and `pick` uploads the one you chose, or several at once to stock a site you just built. The only way to add an image.

輸入參數urlnamepathpickpathsquerydry_runsite_idfolder_idorientation

sb_event

Give a node a click action — open the cart, go to a page, open a pop-up. A purchase is not one: use sb_bind action.

輸入參數id必填forceaction必填dry_runpayloadtrigger

sb_bind

Bind a node to real store data so the page shows actual products, not placeholder text. action makes a button a purchase control.

輸入參數id必填field必填forceactionsource必填dry_run

sb_store

Run a store flow that must happen in a fixed order. action:"checkout" makes the order form, configures it, saves its fields with this store's real payment and delivery options, then creates and PUBLISHES the checkout page — /checkout 404s without all four. action:"checkout_sync" re-reads the store's payment and delivery methods into every existing order form and republishes the checkout page — run it after adding a shipping method or switching on a gateway, since the form keeps the options it was saved with. action:"form" seeds any of the platform's other form templates (login, contact, booking, stay and more — settings merge into the record) with its own field document, which is the part that cannot be guessed. action:"chrome" gives every page ONE shared header (footer:true — footer) built on a real site menu of page/category/product references: site name, desktop menu, mobile drawer, search, cart and account icons — the gap sb_review reports as siteChrome. action:"menu" binds a menu node on the open page to the site's menu and resolves its links, the way the editor does. action:"overlay_attach" puts a pop-up on the open page (kind:"popup") or points a list-dataset at a quick-view panel (kind:"quickview", list_id), creating either from the platform's own seed when overlay_id is omitted, and re-reads the page afterwards as the editor must. action:"cart" creates the site's cart drawer from the editor's seed when it has none — without it every open_cart control opens nothing. action:"app" installs one of the platform's built-in apps (app_key) and creates the pages it needs that installing it does not — today only "courses" has any, from the platform's own scaffold; every other key installs with nothing further to build. action:"global_attach" puts an EXISTING shared section (global_id) on the open page and action:"global_detach" takes it off, writing the reference the platform reads and placing it in the band ROOT's child order demands — the answer for a page that is

輸入參數kindnameaction必填footerapp_keydry_runlist_idmenu_idnode_idsite_idheadlinelanguage另有 8 個

sb_theme

The site's palette and type scale — the layer every element's style preset resolves from, so one token repaints every page at once. Call it with nothing to read what the site actually has. `colors` and `text_styles` PATCH the saved document: what you do not name is kept, and so does `presets` (a preset's own literal outranks the text style). A mobile/tablet/laptop object writes that breakpoint. `locale` sets the site's language (settings.locale, what <html lang> is served from) — site-wide, every other setting kept.

輸入參數colorslocaledry_runpresetssite_idtext_styles

sb_translate

Multilingual, as the editor does it. status | locales (add/remove) | page (rows: missing, done, outdated) | write (node id+field+value; registry fields only) | auto (machine-fill missing) | review (approve).

輸入參數addallfromaction必填localeoffsetremovesourcedry_runentriespage_idsite_id

sb_import

Read a page from any public URL and add its structure and content to the OPEN page as real elements, styled with this page's own tokens. Not a clone: the source's layout and CSS are not copied. Dry run returns what was found.

輸入參數url必填dry_runsite_idmax_nodesmax_imagesmax_sectionsupload_imagesnav_timeout_ms

sb_import_site

Read a WHOLE site from one URL — its sitemap, or the links on that page — and give each page found its own DRAFT page here, built from this site's tokens. Not a clone. Dry run returns the page list before anything is created.

輸入參數navurl必填depththemedry_runexcludeincludesite_idhomepagemax_nodesmax_pagesmax_images另有 2 個

sb_undo

Put back what a write replaced — a page or form edit made here (sb_add, sb_set, sb_duplicate …), or a PUT through sb_api_call. An undo records what IT replaced, so the newest entry right after one is its redo. A page is refused if anyone else saved it since. IN THIS PROCESS ONLY, capped; the platform's own page history (GET .../pages/{pageId}/history) survives a restart. No argument lists what is undoable.

輸入參數allindexdry_run

版本歷史

33
  1. v0.104.0最新Oct 30, 2026
  2. v0.103.0Oct 30, 2026
  3. v0.102.1Oct 30, 2026
  4. v0.102.0Oct 30, 2026
  5. v0.101.3Oct 29, 2026
  6. v0.93.0Oct 26, 2026
  7. v0.92.0Oct 26, 2026
  8. v0.91.0Oct 23, 2026
  9. v0.90.0Oct 22, 2026
  10. v0.89.0Oct 14, 2026
  11. v0.88.1Oct 12, 2026
  12. v0.87.0Oct 12, 2026
  13. v0.85.0Oct 11, 2026
  14. v0.83.3Oct 11, 2026
  15. v0.83.2Oct 11, 2026
  16. v0.83.0Oct 11, 2026
  17. v0.82.7Oct 11, 2026
  18. v0.82.6Oct 10, 2026
  19. v0.82.4Oct 10, 2026
  20. v0.79.0Oct 8, 2026
  21. v0.77.0Oct 8, 2026
  22. v0.76.3Sep 29, 2026
  23. v0.74.1Sep 28, 2026
  24. v0.70.0Sep 26, 2026
  25. v0.69.0Sep 26, 2026
  26. v0.68.0Sep 26, 2026
  27. v0.67.0Sep 25, 2026
  28. v0.64.0Sep 24, 2026
  29. v0.63.0Sep 21, 2026
  30. v0.62.0Sep 20, 2026
  31. v0.61.1Sep 17, 2026
  32. v0.61.0Sep 16, 2026
  33. v0.60.2Sep 16, 2026

評分

已滿足適用檢查項的 90%

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

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

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

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