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 分