Repolode
joreilly

joreilly/ClimateTraceKMP

Kotlin/Compose Multiplatform 跨平台示例,展示 Climate TRACE 排放数据

Star
346
Fork
23
未关闭 Issue
8
最近提交
5天前

这是什么?

ClimateTraceKMP 是一个 Kotlin/Compose Multiplatform 示例项目,用于展示 climatetrace.org 的各国温室气体排放数据。共享的 composeApp 模块承载数据层、view model 和 Compose Multiplatform UI,Android、iOS、桌面以及 Web(Wasm) 客户端都复用它。iOS 端由 SwiftUI 承载,国家列表页可以选用 SwiftUI 或 Compose 实现,选中国家后进入共享的 Compose 排放详情页;项目还附带一个 Kotlin Notebook。

除 UI 客户端外,项目还把数据封装成可供程序调用的形式。mcp-server 模块基于 Kotlin MCP SDK,将各国排放数据暴露为 MCP 工具,可接入 Claude Desktop 等客户端。agents 模块中的 Agent 使用 Google ADK for Kotlin 构建,作为 MCP 客户端通过 Streamable HTTP 连接 mcp-server 获取工具数据;应用内的 Agents 页面基于 Koog,可通过 LLM 查询排放数据。

其他依赖包括 Ktor、Koin、KStore、Voyager 和 KoalaPlot。各目标平台通过 Gradle 任务构建,Android 与 iOS 客户端共用一套 Maestro UI 测试流程,并在 CI 的模拟器上运行。

核心功能

  • 01共享的 Kotlin 数据层、view model 与 Compose Multiplatform UI,供 Android、iOS、桌面和 Web(Wasm) 复用。
  • 02iOS 应用由 SwiftUI 承载,国家列表页可选用 SwiftUI 或 Compose 实现。
  • 03mcp-server 模块基于 Kotlin MCP SDK,把各国排放数据暴露为 MCP 工具,可接入 Claude Desktop。
  • 04基于 Google ADK 的 Agent 以 MCP 客户端身份通过 Streamable HTTP 取数,应用内另有基于 Koog 的 Agents 页面。
  • 05附带 Kotlin Notebook,可查看同一份排放数据。
  • 06Android 与 iOS 共用一套 Maestro UI 测试流程,并在 CI 中运行。

适用场景

  • 了解 KMP 项目如何在移动、桌面与 Web 之间共享数据层和 Compose UI。
  • 通过 MCP 把气候排放数据接入 LLM 助手或 Agent。
  • 用单一 Kotlin 代码库搭建多端客户端原型。
  • 在 Notebook 中交互式查看各国排放数据。

快速上手

  1. 1

    克隆仓库并打开项目目录

  2. 2

    使用 Gradle 运行桌面版应用

    ./gradlew :composeApp:run
  3. 3

    在浏览器中运行 Web(Wasm)版应用

    ./gradlew :composeApp:wasmJsBrowserDevelopmentRun

使用前须知

  • iOS 客户端需要使用 Xcode 才能构建和运行。
  • AI 代理功能需要 Gemini API 密钥。

收录于专题

标签

常见问题

ClimateTraceKMP 是什么?
Kotlin/Compose Multiplatform 跨平台示例,展示 Climate TRACE 排放数据 ClimateTraceKMP 是一个 Kotlin/Compose Multiplatform 示例项目,用于展示 climatetrace.org 的各国温室气体排放数据。共享的 composeApp 模块承载数据层、view model 和 Compose Multiplatform UI,Android、iOS、桌面以及 Web(Wasm) 客户端都复用它。iOS 端由 SwiftUI 承载,国家列表页可以选用 SwiftUI 或 Compose 实现,选中国家后进入共享的 Compose 排放详情页;项目还附带一个 Kotlin Notebook。
ClimateTraceKMP 可以免费使用吗?用的什么许可证?
ClimateTraceKMP 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
ClimateTraceKMP 还在维护吗?
活跃维护中。ClimateTraceKMP 最近一次提交是在 2026年11月2日。
ClimateTraceKMP 适合用来做什么?
了解 KMP 项目如何在移动、桌面与 Web 之间共享数据层和 Compose UI。 通过 MCP 把气候排放数据接入 LLM 助手或 Agent。 用单一 Kotlin 代码库搭建多端客户端原型。 在 Notebook 中交互式查看各国排放数据。
ClimateTraceKMP 怎么安装和运行?
克隆仓库并打开项目目录 使用 Gradle 运行桌面版应用: ./gradlew :composeApp:run 在浏览器中运行 Web(Wasm)版应用: ./gradlew :composeApp:wasmJsBrowserDevelopmentRun
在哪里获取 ClimateTraceKMP?
源代码和安装说明在 GitHub 上:https://github.com/joreilly/ClimateTraceKMP

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目