ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

Spriteship

โดย spriteship.comรุ่น 1.0.0i★ –iรันบนคลาวด์
ชื่อใน registrycom.spriteship/spriteship

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

Build a game's 2D art layer with your agent: characters, animations, tilesets, levels, 5 engines.

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนคลาวด์
  • ช่องทาง (transport): Streamable HTTP
  • หมวด: เกม กีฬา อาหาร และการเรียน
  • ต้องใส่ค่าเหล่านี้: Authorization

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

ค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต

ต้องเตรียมก่อน

  • รันบนคลาวด์ไม่ต้องลงโปรแกรมเพิ่ม ต่อผ่านอินเทอร์เน็ตได้เลย

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

ที่อยู่นี้ต้องใส่ key ใน header ของคำขอ ซึ่งเมนูเพิ่ม connector ใส่ให้ไม่ได้ ใช้ Claude Code, Cursor หรือ VS Code แทน

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add --transport http spriteship https://spriteship.com/mcp --header 'Authorization: ใส่ค่าของคุณ'

เติมค่าที่เว้นว่างไว้ก่อนรัน

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "spriteship": {
      "url": "https://spriteship.com/mcp",
      "headers": {
        "Authorization": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "spriteship": {
      "type": "http",
      "url": "https://spriteship.com/mcp",
      "headers": {
        "Authorization": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ที่อยู่นี้ต้องใส่ key ใน header ของคำขอ ซึ่งเมนูเพิ่ม connector ใส่ให้ไม่ได้ ใช้ Claude Code, Cursor หรือ VS Code แทน

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าที่ต้องใส่เอง

  • Authorization ความลับ จำเป็น HTTP header
    Bearer . Create one at https://spriteship.com/account/api-keys — keys are scoped, and every paid tool defaults to dryRun so you see the credit cost before anything is spent.

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ใช้กับโปรแกรมไหนได้

ดูจากแบบการต่อของ server ตัวนี้ และเอกสารของผู้ทำโปรแกรมแต่ละตัว ตรวจเมื่อ 10 พ.ย. 2569

ต่อผ่านคลาวด์ได้ใน

ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast

ดูโปรแกรมทั้งหมดพร้อมข้อดีข้อเสีย →

คู่มือที่เกี่ยวข้อง

ทำอะไรได้บ้าง

ชื่อและคำอธิบายเครื่องมือตามที่ server ตอบมาเมื่อ 10 พ.ย. 2569 ผู้ทำเป็นคนเขียน ไม่ใช่เรา แสดงเป็นข้อความล้วน

  • get_project_export_review

    FREE. Check all saved maps, character and asset dependencies, choose the starting map/player, and inspect target-runtime compatibility before downloading an editable complete Phaser, Godot or Unity project. Errors block export; custom game code remains your responsibility.

  • start_project_export

    FREE. Queue a durable complete Phaser, Godot or Unity project export. First review with get_project_export_review and pass its version and selected starting map/player. Returns a job ID immediately; poll get_project_export_status until ready. No generation credits are spent.

  • get_project_export_status

    FREE. Read a queued export job. Poll queued/running jobs about every two seconds. Ready jobs include the artifact size and expiry; failed jobs explain what to fix before retrying. Use get_project_export_command only once ready.

  • get_project_export_command

    Return an authenticated shell download command for a ready project export job. This tool checks status first and never starts a build. Run the command outside the model; do not transmit ZIP bytes through MCP. Supports Phaser, Godot and Unity.

  • get_integration_status

    Free advisory version check. Call once when starting SpriteShip work in a session, passing the version actually read from the installed skill; omit it when unknown. Report an available update with its release summary and manual update guide once, then continue compatible work. Un

  • whoami

    Verify the API key and report which powers it has. Returns { userId, username, keyId, keyName, scopes, mapLimits }. mapLimits contains maxMapsPerProject (null means unlimited), maxAreaPx (width × height allowance per map), maxWidthPx and maxHeightPx (independent technical side li

  • get_credits

    Current credit balance, and optionally the recent ledger. Every ledger entry carries apiKeyId/apiKeyName so you can see exactly what THIS key spent. Check the balance before proposing any paid generation. When the balance will not cover what the user wants, say what IS affordable

  • list_projects

    All of the user's projects: { id, name, gameType, style, itemCount, createdAt, updatedAt }. gameType (platformer / topdown / topdown_overhead / isometric / point_and_click) is the default perspective for new content — read it before generating anything. A character may override t

  • get_project

    One project with its description, registered mount slots, and saved style guide. The legacy assetSuggestions field is currently always null because automatic suggestions are disabled; do not poll for it.

  • list_characters

    Characters with the re-sync signals: contentVersion (opaque change token — compare for equality, never parse or order), hasActiveJob, apiReady, pose/animation counts, tags, favourite. Persist contentVersion per character and re-fetch only when it changes.

  • plan_sync

    Compare the versions in assets/spriteship/spriteship.lock.json with current SpriteShip state in one call. Returns unchanged/changed/unavailable per character, asset, map, or UI pack; exact animation frame-count/FPS/collision, revision, runtime-intent, map-shape and UI component s

  • get_character

    The full PhaserCharacter JSON: animations, frameSize, gameType, animationDirection, per-group atlas + spritesheet URLs, poses and mount points. For topdown characters, animationDirection is Luna's saved mode suggestion or the user's last override; preselect it before asking for o

  • get_character_manifest

    The self-describing export contract (tizo-export.json manifest + its JSON Schema) without downloading the zip. Use this to learn the Phaser integration shape and field meanings before wiring an export into a game project. Its files[] is a logical canonical inventory, not an exact

  • list_character_poses

    All poses on a character: { id, name, prompt, status pending|done|error, url, direction, pendingSince, errorCode, creditsRefunded }. This is the poll target after generate_pose — pose generation has no job id. It is also the source of ready pose ids for generate_character_animati

  • list_assets

    Assets (Object / Object Collection / staged / background / Environment Kit / Terrain Materials) with slug, hasAnimation, updatedAt, tags and favourite. Wire types remain tileset for collections, terrain for kits and texture for brushable materials. Object was formerly called Stat

  • get_asset

    One asset with its revision iterations and typed animation projection. Accepts the asset id OR its slug. New Material assets use the wire-compatible `texture` type and expose a typed `material` block containing the versioned donor recipe and its platformer, topdown, or isometric

  • get_custom_fields

    Typed custom-field definitions for a character or asset, plus the derived builtins ($animation for characters, $autoplay/$loop for animated assets). Per-placement VALUES ride on get_map; map exports bake resolved values and ship fields-schema.json. Read-only here — definitions ar

  • get_frames

    Presigned per-frame thumbnails for a character animation or an asset motion pair — never inline base64. Use format:"sheet" to get ONE index-labeled contact sheet, which lets you judge a whole capture in a single look; that is the intended way to pick which frames to keep before c

  • list_maps

    Level-editor maps with updatedAt and hasMapData. hasMapData:false means the map was never saved and cannot be exported.

  • get_map

    A map row plus its saved level data, revision and dependency-sensitive contentVersion for plan_sync. Preserve the returned contentVersion in the map lock entry after a successful import. Every placement has an immutable internal id and may have a user-authored mapData.materialRen

  • export_map

    Engine-ready map JSON built from the SAVED level data, preserving placement name/gameplayId and baking custom-field values. Every engine retains materialRendering and materialRenderingResolved when present. Bundles include material-rendering.json and bake styled terrain/areas int

  • get_job

    Poll a background job. Every write tool that returns a jobId is polled here. On status:"error" the response is enriched with failureKind, failureAction, attempt-scoped creditsRefunded, retryCost, retryMode, and retryRecovery. If failureAction is edit_input, change the prompt or r

  • get_export_command

    Build the authenticated download URL + a ready-to-run curl line for a zip export (character engine bundle, asset bundle, or map bundle). Run the curl in your own shell — zips are multi-MB binaries and must not be passed through the model. Phaser character and asset exports may se

  • select_frames

    FREE, no AI. Curate which frames an animation keeps, by index into the full capture, in order. Pass an empty array to reset to all frames. Non-destructive: the full capture is retained, so you can re-select at any time. Use get_frames with format:"sheet" first to choose indices.

  • duplicate_animation

    FREE, synchronous, no AI. Make an exact copy of the CURRENT saved animation under a new slug, preserving its selected frame order, loop/hold settings, compositing, mounts, and rendered pixels. The original is untouched. Returns { jobId: null, animation }; do not poll a job.

  • create_animation_from_pose

    FREE, no AI. Promote a pose into a real 1-frame animation (a still/idle) that is scaled to match the character's other animations and exports to every engine. Pass poseId "__idle__" to use the character's default image when it has no poses. Returns a jobId — poll get_job.

  • set_asset_runtime_intent

    FREE and SYNCHRONOUS (no jobId — do not poll). Declare how an asset revision should be rendered at runtime: plain_image, particle_emitter, deformable_strip, repeat_fill, nine_slice or shader_effect. path_follow is accepted only for backward compatibility; do not set it on new ass

  • set_character_collision_roles

    FREE, synchronous metadata edit. Independent normalized full-frame movement, hurtbox and hitbox bodies. Character movement permits a simple body or none; hurtbox/hitbox also permit compound. Omitted keys stay unchanged; null clears that scoped override; none explicitly disables a

  • set_asset_collision_roles

    FREE, synchronous metadata edit for an owned revision or collection tileIndex. Each independent role accepts a normalized simple body, disconnected compound, or none. Coordinates refer to the full sprite or padded collection cell; radius is a fraction of width. Omitted roles stay

  • set_asset_collision_body

    FREE and SYNCHRONOUS (no jobId — do not poll). Author the PHYSICS shape a game should build its collider from for an asset revision: rect, circle, polygon, compound of 1..16 simple disconnected bodies, or none, in NORMALIZED coordinates (0..1 fractions of the sprite/tile cell, or

  • cancel_job

    FREE. Abort a running job. Failed/incomplete provider work is refunded automatically. If the job is waiting for directional-pose approval, its successful reusable 360 and pose charges are retained; no dependent animation has started. Use this when a generation is clearly going wr

  • approve_automatic_pose_fallback

    Successful automatic poses now continue without review, including imports. Four-direction setup stays automatic and eight-direction keeps its existing selection. Imported generation preserves source rendering rather than project style. Use this tool only when get_job returns a pe

  • approve_directional_poses

    FREE approval checkpoint. Use only when get_job returns status:"waiting_approval", wizardPhase:"waiting-directional-pose-approval", and directionalPoseReview. Present every returned previewUrls to the user and let them adjust or review the proposed frameIndices and poseScales. If

  • frame_animation

    FREE, and NO AI AT ALL — no video model, no credits, nothing to approve. The tiles of a tileset/staged asset ARE the frames: give the tile indices in playback order (repeats allowed) and they are composited into a real spritesheet animation on that asset, exportable to every engi

  • rebuild_character

    FREE, no AI. Re-render one animation from its durable cached frames by passing animation. This is the repair/refresh tool: use it when a sheet looks stale or wrong after a series of edits, or when a previous rebuild failed. It never re-generates art, so it cannot change what the

  • mirror_animation

    FREE, no AI. Flip every cached frame of ONE animation horizontally and rebuild it — the cheap way to get walk_left from walk_right. NOT idempotent: calling it twice flips the animation back to its original orientation, so call it once and check the result before calling again. Fr

  • rematte_animation

    FREE, no AI. Try a cleaner background removal on ONE animation's source video — the repair for a quality read showing deliveredIssues containing "matte" (green fringe, flickering holes, ragged edges). The cleaner version is kept ONLY if it measures better, so this can never make

  • phase_split

    FREE, no AI. Carve ONE multi-state clip into separate game-phase animations by frame windows — the classic case is a jump becoming crouch/rise/fall/land, with fall looping while airborne and the rest playing once. Each phase becomes a real exportable animation; the source animati

  • reprocess_asset

    FREE and SYNCHRONOUS (no jobId — do not poll), no AI. Rebuild a staged, tileset, or terrain collection's presentation layout: anchor chooses the shared fixed point and cellOffsets apply per-item nudges. Modern manifest revisions are recomposed from their independent item PNGs and

  • create_project

    FREE and SYNCHRONOUS (no jobId — do not poll). Creates the container everything else needs: characters and assets are created INSIDE a project, and the project's gameType is what decides how they are drawn and animated. Also seeds a starter level map, so the game preview has some

  • create_character

    PAID (standard 1K: 60 credits; 2K: 100; 4K: 150; premium models may differ). Generate a NEW character from a text prompt. This is the entry point for building art from nothing — call create_project first if the user has no project. Artwork is strictly text-free by default: no lab

  • generate_character_animation

    PAID, and the cost MULTIPLIES BY THE NUMBER OF ANIMATIONS (each is its own image-to-video call; Wan 3.0 costs 150 credits/second, so its default 2-second clip is 300 credits). All frames are text-free by default: no subtitles, captions or invented writing. This is real motion — a

  • generate_character_turn

    PAID (200 credits — ONE 2-second rotation video), except retrying the exact failed job is FREE while its provider task/result or validated stored source survives. The default dry run reports 0 credits and recovery:"stored_artifact" in that case; confirmation revives the same job

  • resume_pose

    FREE. Resume a failed pose when list_character_poses reports removalRecoveryAvailable. Reuses the saved image; never generates or charges for another image. Respect the retry-after time on cooldown errors, then poll list_character_poses.

  • generate_pose

    PAID (standard 1K: 60 credits; 2K: 100; 4K: 150; premium models may differ). Generate a new pose for a character from a text description. DEFAULTS TO A COST PREVIEW — see the dryRun argument. Returns { poseId } once executed; poses have no jobId, so poll list_character_poses unti

  • animate_asset

    PAID (image-to-video; Wan 3.0 costs 150 credits/second, so each default 2-second pair is 300 credits; total cost scales with duration × pair count). Animate ANY asset type — the animation lands on the source asset and its still image is preserved. For grid assets (tileset/staged)

  • revise_asset

    PAID. Generate a new revision of an asset from feedback text. The previous revision is kept — revisions are additive, never destructive. Environment Kit (`terrain`) assets also accept the legacy templateId to pull a whole category pack (edges / grounds / props / slopes / textures

  • regen_asset_pair

    PAID (Wan 3.0 costs 150 credits/second: 300 credits at the default 2-second settings). Re-run video generation for a SINGLE motion pair of an animated asset, leaving its other pairs alone. The new take lands as an additional iteration on that pair — earlier takes are preserved. D

  • convert_texture_to_material

    FREE and SYNCHRONOUS, no AI. Copies a legacy repeat-xy texture into a new immutable Brushable Material revision; the original revision is preserved. Topdown/isometric conversions can be ready immediately when the legacy seam check passed. Platformer conversions are marked needs-r

  • fix_asset_seams

    LEGACY ONLY; new Brushable Materials reject this operation because they use world-space sampling. PAID (60 credits per standard-model edit attempt; use the dry-run quote). Make an old texture tile seamless. Legacy textures were created as raw grid cells, so CHECK get_asset first:

  • create_asset

    PAID (one image call). Creates a NEW asset from a prompt in any of the six types. The default dry run now returns a strictly text-free artwork brief: no captions, labels, lettering, digits or pseudo-writing unless the user explicitly requests specific intrinsic writing on an obje

  • retry_job

    FREE when the original KIE task or a validated stored artifact can be recovered; otherwise PAID only for the sub-steps that still need to run. Re-runs the FAILED step of a job whose status is "error" — the prompt, model and every setting are already on the job, so this is the che

  • generate_project_intake

    PAID but very cheap and SYNCHRONOUS. Use this for a broad game vision, story, or mood before create_project. Returns a proposed project name, game type, art style, world description, creative guidance, and a validated styleGuide object ready to pass unchanged to create_project. I

  • generate_project_vision

    PAID but very cheap (one configured text-model call) and SYNCHRONOUS — the result comes back in this response, there is no jobId to poll. Turns a rough game idea into { aiVision, aiPromptGuidance, aiNegativeGuidance }: a written creative direction plus the positive/negative guida

  • suggest_motion_hint

    PAID but very cheap (one configured text-model call) and SYNCHRONOUS — returns { hint, cost } inline, no jobId. Reads a STAGED asset's prompt plus the stage pairs you intend to animate and writes the one-sentence motion description to pass as animate_asset's motionHint. Use it wh

  • get_subscription_allowances

    Read the currently enabled subscriber benefits and their separate monthly limits, caps and balances. Disabled benefits return zeroed values and cannot be used. Unused units accumulate up to three monthly grants while the feature is enabled. These are not generation credits.

  • retry_unusable_result

    Quality Retry is the subscription compensation for AI art that invents details, ignores the request, or arrives unusable, letting the user try again without asking support for a credit refund. Costs ONE quality retry and ZERO credits; it is not a refund and preserves the original

  • import_asset_image

    Free imports: import ONE still PNG or WebP as an Object or Character. Unlimited for every account, including free users, with zero credits and no subscription or allowance check. Before uploading, tell the user: transparency required, one clear complete subject, clean edges, cons

  • list_ui_packs

    List owned UI Packs, optionally within a project.

  • get_ui_pack

    Read components, immutable revisions, capabilities, fonts and batch progress. Artwork URLs expire; native engine capability gaps are not successful tests.

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 11 พ.ย. 2569

  • ! ควรระวัง

    ตัวตนผู้ทำตรงกับ repo

    ทะเบียนไม่ได้ระบุ repo ของโค้ด จึงยังจับคู่ผู้ลงทะเบียน (spriteship.com) กับโค้ดไม่ได้

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • ✓ ผ่าน

    endpoint ตอบ

    ตอบกลับใน 122 ms (HTTP 200)

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ไม่ต้องล็อกอิน

  • ✓ ผ่าน

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    อ่านคำอธิบายเครื่องมือ 60 ตัวแล้ว ไม่พบคำสั่งแอบแฝงถึง AI

รีวิวจากผู้ใช้

ยังไม่มีรีวิว

เทียบกับตัวอื่นในหมวด เกม กีฬา อาหาร และการเรียนi

  • ดาวมากกว่า 0% ของอีก 1362 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 22% ของอีก 1362 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 51% ของอีก 1362 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

Spriteship ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 2 จาก 3 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

ต้องใส่ค่าเหล่านี้: Authorization

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนคลาวด์ของผู้ทำ ต่อผ่านอินเทอร์เน็ตได้เลย ไม่ต้องลงโปรแกรม แต่ข้อมูลที่ส่งให้จะผ่านเซิร์ฟเวอร์ของผู้ทำ

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.0.0) เข้า registry 3 เดือนที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Honcho, ShipSwift, Pm Claude Skills

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Honcho

Memory that reasons: continual learning for stateful agents. Better context, fewer tokens.

โดย plastic-labsใช้กันมาก★ 8.1Kอัปเดต 3 เดือนที่ผ่านมา

รันบนคลาวด์

ShipSwift

40+ production-ready SwiftUI recipes for building full-stack iOS apps via MCP.

โดย signerlabsใช้กันมาก★ 3.3Kอัปเดต 9 เดือนที่ผ่านมา

รันบนคลาวด์

Pm Claude Skills

1310 professional Agent Skills + workflow recipes — searchable & fetchable over MCP.

โดย mohitagw15856ใช้กันมาก↓ 2.5K/สัปดาห์★ 1.5Kอัปเดต 18 วันที่ผ่านมา

รันบนเครื่อง

README จากผู้ทำ

ไม่พบ README ใน repo