xm6661885

Claude Pocket Android — Development skill for Claude Code

Development community

原生 Android 应用,调用 Anthropic API 与 Claude 流式对话:动态模型、思考深度、联网搜索、记忆系统、历史对话、数据导出.

How to install Claude Pocket Android

This entry records only its repository, not the path inside it, so there is no exact command to give. Open xm6661885/claude-pocket-android and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Claude Pocket Android does

原生 Android 应用,调用 Anthropic API 与 Claude 流式对话:动态模型、思考深度、联网搜索、记忆系统、历史对话、数据导出。Jetpack Compose。

Alternatives in Development

  • Claude API — Build apps with the Claude API or Anthropic SDK 94.1k ★
  • KiroGate — OpenAI & Anthropic 兼容的 Kiro IDE API 代理网关,支持 Claude Code CLI 393 ★
  • Anthropic.SDK — An unofficial C#/.NET SDK for accessing the Anthropic Claude API 216 ★

README

Claude Pocket

一个原生 Android 应用,直接调用 Anthropic Messages API 与 Claude 对话。使用 Jetpack Compose 构建,界面风格参考 Claude 官方 App 的暖色调,并自动跟随系统浅色 / 深色主题。

流式对话 · 扩展思考 · 联网搜索 · 记忆系统 · 历史对话 · 数据导出

功能特性

  • 可配置的 API 接入
    • 自定义 API Key 与 Base URL(兼容 Anthropic 官方及第三方中转)
    • 从 /v1/models 动态拉取模型列表并选择(默认 claude-sonnet-5)
    • 在聊天页面点击输入框上方的模型胶囊,即可弹出面板直接切换模型、思考深度、联网搜索
    • 思考深度(Extended Thinking):关闭 / 低 / 中 / 高,对应不同的 budget_tokens
    • 联网搜索开关:向模型提供 Anthropic 内置的 web_search 工具,由模型自行决定何时调用(并非应用直接搜索)
  • 流畅的对话体验
    • SSE 流式输出,边生成边显示
    • 消息支持自由选择复制、分享、重试
    • 可编辑上一条消息并重新发送
    • 思考过程独立折叠展示
  • 优雅的动画:抽屉滑入、消息淡入、思考过程展开、发送按钮状态过渡等
  • 浅色 / 深色主题:自动跟随系统切换
  • 历史对话:左侧抽屉展开查看、切换、删除历史会话,本地持久化
  • 模型记忆系统
    • 模型可在对话中用 [[memory: ...]] 语法自动记录长期记忆
    • 记忆会注入后续对话的 system prompt
    • 设置中可手动增删改记忆
    • 支持导出全部记忆与对话记录为 Markdown

技术栈

  • Kotlin + Jetpack Compose(Material 3)
  • OkHttp(SSE 流式请求)
  • kotlinx.serialization(本地 JSON 持久化)
  • DataStore Preferences(设置存储)
  • 最低 Android 8.0(API 26),目标 API 35

构建

环境要求

  • JDK 17
  • Android SDK(Platform 35、Build-Tools 35.0.0)
  • 项目自带 Gradle Wrapper(Gradle 8.13),无需单独安装

填入 API 凭据

编译时会从项目根目录的 `apikey.properties` 读取默认凭据(该文件已在 `.gitignore` 中,不会提交)。复制模板并填写:

cp apikey.properties.example apikey.properties
API_BASE_URL=https://api.anthropic.com
API_KEY=sk-your-key-here

这两个值会作为应用内的**默认**配置,用户仍可在设置界面中随时覆盖。若不填写,应用会以空值启动,需在设置中手动输入。

编译 APK

# Debug 包
./gradlew :app:assembleDebug

# Release 包(需要签名,见下)
./gradlew :app:assembleRelease

产物位于 `app/build/outputs/apk/`。

签名(Release)

Release 构建会读取根目录的 `release.keystore`(已忽略提交)。自行生成一个:

keytool -genkeypair -v -keystore release.keystore \
  -alias claudepocket -keyalg RSA -keysize 2048 -validity 10000 \
  -storepass claudepocket -keypass claudepocket \
  -dname "CN=Claude Pocket, O=ClaudePocket, C=CN"

密码在 `app/build.gradle.kts` 的 `signingConfigs` 中配置。若无 keystore,Release 包将不带签名配置(可改用 debug 签名调试)。

项目结构

app/src/main/java/a