FixThis

io.github.beyondwin由 GitHub 帳號 beyondwin 發布v1.5.0更新於 Nov 3, 2026

Local-first MCP handoff for Jetpack Compose UI feedback and source candidates.

已驗證STDIO僅桌面開發者工具AI 與機器學習

概覽

AI 產生的概覽

本地優先的 MCP 交接工具,把 Jetpack Compose 介面標註回饋轉成原始碼候選與脈絡,交給編碼代理。

可以做什麼
  • 透過 ADB 與本機回環把 Compose 偵錯應用的畫面鏡像到本機瀏覽器主控台
  • 點擊或拖曳選取介面元件,並附上修改說明形成編號標註
  • 產生精簡交接內容:截圖範圍、語意資訊、含行號的前三名原始碼候選、編輯面提示與信心警告
  • 把交接存到 MCP 供 Claude Code 或 Codex 使用(可選附帶受限且去識別化的 Android 診斷基準),或複製 Markdown 提示給任意聊天代理
  • 透過桌面 CLI 在專案中安裝並驗證 Gradle 外掛與 MCP 設定
適用情境
當你希望編碼代理修改某個 Jetpack Compose 介面,而單純截圖不夠用時適用:介面密集、清單渲染或以 composable 命名的情境,代理需要原始碼候選與編輯提示。主要針對開發階段的 Android Compose 偵錯建置。
執行需求
以本機 stdio 程序在桌面機器上執行,可透過 Homebrew、npm 或 GitHub 發行包安裝。需要含僅偵錯用 Gradle 外掛的 Android Jetpack Compose 專案、可經 ADB 存取的裝置或模擬器,以及主控台使用的本機回環存取。未宣告帳號、API 金鑰或環境變數。
安裝前請注意
截圖與診斷資訊可能含有敏感畫面或執行期資料,分享前請先檢視,並避免把 .fixthis/ 目錄提交到版本庫。除非把工作階段設為 Manual 或 Off,Save to MCP 會附帶診斷基準。安裝器會把 Gradle 外掛與 MCP 設定寫入專案,且不應設定到發行建置。

安裝

在 SourceWeft 中

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

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

其他 MCP 客戶端

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

README

FixThis for Android Compose

[CI] [License: MIT] [JDK 21] [Node 20+] [Compose]

[FixThis Studio — point at any Jetpack Compose UI element, annotate, hand off AI-ready context to your coding agent]

Point at a Jetpack Compose UI, write the change, and hand Claude, Codex, Cursor, or another coding agent the source context it needs.

FixThis is debug-only. It attaches a sidekick to a Compose debug app, mirrors the screen into a local browser console, and turns annotations into a compact handoff: screenshot bounds, semantics, source candidates, and confidence warnings.

Click a component to select it. Drag when the target is spacing, empty room, or something that is not a clean Compose node.

Works Today

  • Try the sample app in about five minutes.
  • Install the desktop CLI/MCP with Homebrew, npm, or GitHub Releases.
  • Add it to an external app with the Gradle plugin io.github.beyondwin.fixthis.compose.
  • Let Claude Code or Codex configure the sample with ./scripts/bootstrap-mcp.sh --sample.
  • Let an agent configure your app with fixthis install-agent.
  • Use Copy Prompt with Cursor, ChatGPT, or any chat agent.
  • Use Save to MCP with Claude Code or Codex.
  • Save to MCP can attach a bounded, redacted Android diagnostics baseline. Switch the session to Manual or Off if you do not want that. Copy Prompt never starts collection.
  • Runs locally over ADB and 127.0.0.1. No external API calls.

Quick Start: Agent Installs FixThis in Your App

Claude Code / Codex Bootstrap Prompt

Paste this into Claude Code or Codex from the root of a Jetpack Compose Android app:

text
Install FixThis in this project and configure it for this agent.
Use this order:1. Run `fixthis install-agent --project-dir . --target all --verify --json`.2. Use the JSON `readiness.state` and `actions[]` as the source of truth.3. If `requiresUserAction` is true, tell me the exact blocking action.4. Do not call `fixthis_open_feedback_console` until `readyForMcpTooling` is true, or until the report's `agent_after_restart` action is reached after restart.
Restart Claude Code or Codex if the report asks for it.Do not configure release builds. Do not commit `.fixthis/`.

The agent should run:

bash
# macOSbrew install beyondwin/tools/fixthis
# Nodenpm install -g @beyondwin/fixthis
# macOS/Linux fallbackcurl -fsSL https://raw.githubusercontent.com/beyondwin/FixThis/main/scripts/install-fixthis.sh \  | bash -s -- --version v1.5.0
fixthis install-agent --project-dir . --target all --verify --json

If Homebrew already has it, run brew update && brew upgrade beyondwin/tools/fixthis and check fixthis --version.

fixthis install-agent applies the Gradle plugin, writes MCP config, and writes .fixthis/project.json plus .fixthis/agent-setup.*. If doctor reports NEEDS_INSTALL or metadata is missing, run ./gradlew fixthisSetup and rerun fixthis install-agent --project-dir . --target all --verify --json. Restart Claude Code or Codex when the report asks, then call fixthis_open_feedback_console. For a manual check, use fixthis doctor --project-dir . --json.

Published plugin:

kotlin
plugins {    id("io.github.beyondwin.fixthis.compose") version "1.5.0"}

The plugin adds the debug-only sidekick and keeps release builds out.

Quick Start: Sample App to Agent Handoff

bash
git clone <this-repo> && cd FixThis./gradlew :fixthis-cli:installDist :fixthis-mcp:installDistfixthis-cli/build/install/fixthis/bin/fixthis doctor --package io.github.beyondwin.fixthis.samplefixthis-cli/build/install/fixthis/bin/fixthis run --package io.github.beyondwin.fixthis.sample

fixthis run installs the sample debug APK, launches it, and opens FixThis Studio at http://127.0.0.1:<port>.

In the console:

  1. Click Annotate.
  2. Click a UI element, or drag an area.
  3. Type the change you want.
  4. Repeat for other spots on this screen.
  5. Copy Prompt for a chat agent, or Save to MCP for Claude Code / Codex.

You are done when a numbered annotation is visible and you have copied Markdown or saved a local MCP handoff.

Maintainers can prove that Copy Prompt path on a connected device:

bash
npm run real-copy-prompt:smoke -- --strict

Pick Your Path

GoalStart here
Try it without touching your appSample quick start
Add it to your debug buildAdd to your app
Connect an agentConnect your agent
Bootstrap MCP from this repoMCP.md
Use the consoleConsole tour
Understand the productProduct
Diagnose a failureTroubleshooting
Inspect contractsDocs index
ContributeCONTRIBUTING.md
ReaderStart here
First-time userSample quick start
External app developerAdd to your app
Agent in this repoAGENTS.md and project map
MaintainerDocs index and project map
Contract or CLI changeReference contracts

Why not just a screenshot?

A screenshot is enough when the target is obvious. FixThis helps when the UI is dense, list-rendered, or named mostly by composable:

  • Top-3 source candidates with line numbers and match reasons
  • editSurface hints for call site vs component vs copy vs layout vs interop
  • Instance grouping so identical cards stay distinct
  • Screen fingerprint so a rotated or changed screen cannot sneak into a save
  • Honest confidence: visual-only, stale, or possible AndroidView/WebView
  • Bounded runtime diagnostics on Save to MCP
  • Retry-safe batches that do not duplicate work

Modules

ModuleRole
:app (sample/)Validation sample
:fixthis-compose-corePure Kotlin domain
:fixthis-compose-sidekickDebug Android runtime
:fixthis-gradle-pluginSource index and debug wiring
:fixthis-cliDesktop CLI
:fixthis-mcpMCP server and local console

More: Product, decisions, architecture.

Status

Public install paths:

  • Gradle plugin io.github.beyondwin.fixthis.compose
  • Maven io.github.beyondwin:fixthis-compose-sidekick and fixthis-compose-core
  • Homebrew brew install beyondwin/tools/fixthis
  • GitHub Release fixthis-cli-mcp-vX.Y.Z.tar.gz
  • npm @beyondwin/fixthis
  • MCP Registry io.github.beyondwin/fixthis

Live dashboard: Release readiness.

main may be ahead of the latest tag. See CHANGELOG and release notes.

Agents in this repo should read AGENTS.md.

Trust

FixThis stays on your machine. The sidekick talks over ADB, the console binds to localhost, and Save to MCP writes under .fixthis/. Screenshots can still contain sensitive pixels. Review them before sharing. Do not commit .fixthis/.

Details: Privacy, Security, Threat model.

V1 stays narrow: Compose debug builds, local ADB, MCP-first handoff, best-effort source candidates, no cloud upload. See Roadmap.

License

MIT. Third-party notices in NOTICE.

來源:README.md,提交 d96c4f8

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v1.5.0最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

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

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

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

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分