diff --git a/.github/workflows/version-bump.yml b/.github/workflows/version-bump.yml index 43fe89c679..5a30c76a34 100644 --- a/.github/workflows/version-bump.yml +++ b/.github/workflows/version-bump.yml @@ -40,11 +40,35 @@ jobs: run: echo "${{ steps.next.outputs.version }}" > VERSION - name: Increment versionCode + id: vcode run: | FILE=android/app/build.gradle.kts CODE=$(grep -oP 'versionCode\s*=\s*\K\d+' "$FILE") - sed -i "s/versionCode\s*=\s*[0-9]\+/versionCode = $((CODE+1))/" "$FILE" - echo "versionCode: $CODE -> $((CODE+1))" + NEW_CODE=$((CODE+1)) + sed -i "s/versionCode\s*=\s*[0-9]\+/versionCode = $NEW_CODE/" "$FILE" + echo "versionCode: $CODE -> $NEW_CODE" + echo "code=$NEW_CODE" >> "$GITHUB_OUTPUT" + + - name: Generate fastlane changelog + env: + GH_TOKEN: ${{ github.token }} + run: | + PREV_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "") + if [ -n "$PREV_TAG" ]; then + MERGED_SINCE=$(git log -1 --format=%aI "$PREV_TAG") + NOTES=$(gh pr list --state merged --base main \ + --search "merged:>$MERGED_SINCE" \ + --json title --jq '.[].title | "* " + .' | head -20) + fi + if [ -z "${NOTES:-}" ]; then + NOTES="* v${{ steps.next.outputs.version }}" + fi + CODE=${{ steps.vcode.outputs.code }} + for locale in en-US ja; do + dir="android/fastlane/metadata/android/${locale}/changelogs" + mkdir -p "$dir" + printf '%s\n' "$NOTES" > "${dir}/${CODE}.txt" + done - name: Create Pull Request uses: peter-evans/create-pull-request@v7 @@ -54,3 +78,7 @@ jobs: body: "Automated version bump: `${{ steps.current.outputs.version }}` → `${{ steps.next.outputs.version }}`" branch: chore/bump-${{ steps.next.outputs.version }} delete-branch: true + add-paths: | + VERSION + android/app/build.gradle.kts + android/fastlane/metadata/android/ diff --git a/android/fastlane/metadata/android/en-US/changelogs/4.txt b/android/fastlane/metadata/android/en-US/changelogs/4.txt new file mode 100644 index 0000000000..ad41db73b2 --- /dev/null +++ b/android/fastlane/metadata/android/en-US/changelogs/4.txt @@ -0,0 +1,11 @@ +Initial release. + +* Chat UI with Jetpack Compose +* Embedded Go backend (single binary in APK) +* Voice mode with continuous conversation loop +* Floating assistant overlay (replace Google Assistant) +* Device automation via AccessibilityService +* 16+ built-in tools (file ops, web search, memory, cron, MCP) +* Multi-channel support (Telegram, Discord, Slack, WhatsApp, LINE) +* 10+ LLM providers (OpenAI, Anthropic, Gemini, and more) +* Termux edition for advanced users \ No newline at end of file diff --git a/android/fastlane/metadata/android/en-US/full_description.txt b/android/fastlane/metadata/android/en-US/full_description.txt new file mode 100644 index 0000000000..1ebd6fd65e --- /dev/null +++ b/android/fastlane/metadata/android/en-US/full_description.txt @@ -0,0 +1,26 @@ +ClawDroid is an Android AI assistant with an embedded Go backend. Install the APK, launch, and start chatting — no separate server setup needed. + +A Kotlin/Jetpack Compose app provides the chat UI, voice assistant, and device automation. The Go backend runs as a single binary bundled inside the APK, handling the agent loop, tool execution, LLM calls, and messaging channels. + +Features: + +* Chat UI built with Jetpack Compose +* Floating assistant overlay — replace Google Assistant with long-press home +* Voice mode — continuous conversation loop (listen, send, think, speak) +* Device automation — tap, swipe, text input, screenshot via AccessibilityService +* 16+ built-in tools — file operations, web search, memory, cron, sub-agents, MCP +* Multi-channel messaging — Telegram, Discord, Slack, WhatsApp, LINE +* 10+ LLM providers — OpenAI, Anthropic, Gemini, DeepSeek, Groq, Mistral, Ollama, and more +* Long-term memory and daily notes +* Scheduled tasks with cron expressions +* MCP (Model Context Protocol) server support +* Customizable personality via workspace files + +Two editions: + +* Embedded — Go backend bundled in the APK, works out of the box +* Termux — Run the Go backend separately in Termux for advanced users + +Requires an LLM API key (OpenAI, Anthropic, Gemini, etc.) to function. + +Source code: https://github.com/KarakuriAgent/clawdroid \ No newline at end of file diff --git a/android/fastlane/metadata/android/en-US/images/icon.png b/android/fastlane/metadata/android/en-US/images/icon.png new file mode 100755 index 0000000000..d960cb9522 Binary files /dev/null and b/android/fastlane/metadata/android/en-US/images/icon.png differ diff --git a/android/fastlane/metadata/android/en-US/images/phoneScreenshots/1.png b/android/fastlane/metadata/android/en-US/images/phoneScreenshots/1.png new file mode 100644 index 0000000000..8f1292a1f2 Binary files /dev/null and b/android/fastlane/metadata/android/en-US/images/phoneScreenshots/1.png differ diff --git a/android/fastlane/metadata/android/en-US/images/phoneScreenshots/2.png b/android/fastlane/metadata/android/en-US/images/phoneScreenshots/2.png new file mode 100644 index 0000000000..32fecf2bc0 Binary files /dev/null and b/android/fastlane/metadata/android/en-US/images/phoneScreenshots/2.png differ diff --git a/android/fastlane/metadata/android/en-US/images/phoneScreenshots/3.png b/android/fastlane/metadata/android/en-US/images/phoneScreenshots/3.png new file mode 100644 index 0000000000..7f729fae66 Binary files /dev/null and b/android/fastlane/metadata/android/en-US/images/phoneScreenshots/3.png differ diff --git a/android/fastlane/metadata/android/en-US/images/phoneScreenshots/4.png b/android/fastlane/metadata/android/en-US/images/phoneScreenshots/4.png new file mode 100644 index 0000000000..9239b0f921 Binary files /dev/null and b/android/fastlane/metadata/android/en-US/images/phoneScreenshots/4.png differ diff --git a/android/fastlane/metadata/android/en-US/images/phoneScreenshots/5.png b/android/fastlane/metadata/android/en-US/images/phoneScreenshots/5.png new file mode 100644 index 0000000000..0b2ff55d0d Binary files /dev/null and b/android/fastlane/metadata/android/en-US/images/phoneScreenshots/5.png differ diff --git a/android/fastlane/metadata/android/en-US/images/phoneScreenshots/6.png b/android/fastlane/metadata/android/en-US/images/phoneScreenshots/6.png new file mode 100644 index 0000000000..b33be609bb Binary files /dev/null and b/android/fastlane/metadata/android/en-US/images/phoneScreenshots/6.png differ diff --git a/android/fastlane/metadata/android/en-US/images/phoneScreenshots/7.png b/android/fastlane/metadata/android/en-US/images/phoneScreenshots/7.png new file mode 100644 index 0000000000..db145df181 Binary files /dev/null and b/android/fastlane/metadata/android/en-US/images/phoneScreenshots/7.png differ diff --git a/android/fastlane/metadata/android/en-US/short_description.txt b/android/fastlane/metadata/android/en-US/short_description.txt new file mode 100644 index 0000000000..d1b16f46bd --- /dev/null +++ b/android/fastlane/metadata/android/en-US/short_description.txt @@ -0,0 +1 @@ +AI assistant with embedded Go backend - chat, voice, device automation \ No newline at end of file diff --git a/android/fastlane/metadata/android/ja/changelogs/4.txt b/android/fastlane/metadata/android/ja/changelogs/4.txt new file mode 100644 index 0000000000..5c7c0111c9 --- /dev/null +++ b/android/fastlane/metadata/android/ja/changelogs/4.txt @@ -0,0 +1,11 @@ +初回リリース + +* Jetpack Composeチャット UI +* Go内蔵バックエンド(APK内バイナリ) +* 音声モード(会話ループ) +* アシスタントオーバーレイ +* デバイス自動操作(タップ、スワイプ等) +* 16以上のツール(ファイル、Web検索、メモリ、MCP) +* マルチチャンネル(Telegram、Discord、Slack等) +* 10以上のLLMプロバイダー対応 +* Termux版 \ No newline at end of file diff --git a/android/fastlane/metadata/android/ja/full_description.txt b/android/fastlane/metadata/android/ja/full_description.txt new file mode 100644 index 0000000000..045023ca49 --- /dev/null +++ b/android/fastlane/metadata/android/ja/full_description.txt @@ -0,0 +1,26 @@ +ClawDroidはGoバックエンドを内蔵したAndroid AIアシスタントです。APKをインストールして起動するだけですぐに使えます。サーバーの別途セットアップは不要です。 + +Kotlin/Jetpack Composeアプリがチャット UI、音声アシスタント、デバイス自動操作を提供します。Goバックエンドはシングルバイナリとして APK 内にバンドルされ、エージェントループ、ツール実行、LLM呼び出し、メッセージングチャンネルを処理します。 + +主な機能: + +* Jetpack Composeで構築されたチャットUI +* フローティングアシスタントオーバーレイ — ホームボタン長押しでGoogleアシスタントの代わりに起動 +* 音声モード — 継続的な会話ループ(聞く→送信→思考→話す) +* デバイス自動操作 — AccessibilityServiceによるタップ、スワイプ、テキスト入力、スクリーンショット +* 16以上の組み込みツール — ファイル操作、Web検索、メモリ、cron、サブエージェント、MCP +* マルチチャンネル — Telegram、Discord、Slack、WhatsApp、LINE +* 10以上のLLMプロバイダー — OpenAI、Anthropic、Gemini、DeepSeek、Groq、Mistral、Ollama等 +* 長期メモリとデイリーノート +* cron式によるスケジュールタスク +* MCP(Model Context Protocol)サーバー対応 +* ワークスペースファイルによるカスタマイズ可能なパーソナリティ + +2つのエディション: + +* 組み込み版 — Goバックエンドを APK に内蔵、すぐに使える +* Termux版 — 上級者向け、GoバックエンドをTermuxで別途実行 + +動作にはLLM APIキー(OpenAI、Anthropic、Gemini等)が必要です。 + +ソースコード: https://github.com/KarakuriAgent/clawdroid \ No newline at end of file diff --git a/android/fastlane/metadata/android/ja/images/phoneScreenshots/1.png b/android/fastlane/metadata/android/ja/images/phoneScreenshots/1.png new file mode 100644 index 0000000000..8f1292a1f2 Binary files /dev/null and b/android/fastlane/metadata/android/ja/images/phoneScreenshots/1.png differ diff --git a/android/fastlane/metadata/android/ja/images/phoneScreenshots/2.png b/android/fastlane/metadata/android/ja/images/phoneScreenshots/2.png new file mode 100644 index 0000000000..32fecf2bc0 Binary files /dev/null and b/android/fastlane/metadata/android/ja/images/phoneScreenshots/2.png differ diff --git a/android/fastlane/metadata/android/ja/images/phoneScreenshots/3.png b/android/fastlane/metadata/android/ja/images/phoneScreenshots/3.png new file mode 100644 index 0000000000..7f729fae66 Binary files /dev/null and b/android/fastlane/metadata/android/ja/images/phoneScreenshots/3.png differ diff --git a/android/fastlane/metadata/android/ja/images/phoneScreenshots/4.png b/android/fastlane/metadata/android/ja/images/phoneScreenshots/4.png new file mode 100644 index 0000000000..9239b0f921 Binary files /dev/null and b/android/fastlane/metadata/android/ja/images/phoneScreenshots/4.png differ diff --git a/android/fastlane/metadata/android/ja/images/phoneScreenshots/5.png b/android/fastlane/metadata/android/ja/images/phoneScreenshots/5.png new file mode 100644 index 0000000000..0b2ff55d0d Binary files /dev/null and b/android/fastlane/metadata/android/ja/images/phoneScreenshots/5.png differ diff --git a/android/fastlane/metadata/android/ja/images/phoneScreenshots/6.png b/android/fastlane/metadata/android/ja/images/phoneScreenshots/6.png new file mode 100644 index 0000000000..b33be609bb Binary files /dev/null and b/android/fastlane/metadata/android/ja/images/phoneScreenshots/6.png differ diff --git a/android/fastlane/metadata/android/ja/images/phoneScreenshots/7.png b/android/fastlane/metadata/android/ja/images/phoneScreenshots/7.png new file mode 100644 index 0000000000..db145df181 Binary files /dev/null and b/android/fastlane/metadata/android/ja/images/phoneScreenshots/7.png differ diff --git a/android/fastlane/metadata/android/ja/short_description.txt b/android/fastlane/metadata/android/ja/short_description.txt new file mode 100644 index 0000000000..a5b8f80c21 --- /dev/null +++ b/android/fastlane/metadata/android/ja/short_description.txt @@ -0,0 +1 @@ +Go内蔵AIアシスタント - チャット、音声、デバイス自動操作 \ No newline at end of file diff --git a/fdroid/metadata/io.clawdroid.yml b/fdroid/metadata/io.clawdroid.yml new file mode 100644 index 0000000000..a0dcf53a64 --- /dev/null +++ b/fdroid/metadata/io.clawdroid.yml @@ -0,0 +1,67 @@ +# F-Droid metadata for ClawDroid +# Reference: https://f-droid.org/docs/Build_Metadata_Reference/ +# +# This file is a template for submitting to fdroiddata. +# To submit: fork https://gitlab.com/fdroid/fdroiddata, add this file +# to metadata/, and create a merge request. + +Categories: + - System + - Internet + +License: MIT +AuthorName: KarakuriAgent +WebSite: https://github.com/KarakuriAgent/clawdroid +SourceCode: https://github.com/KarakuriAgent/clawdroid +IssueTracker: https://github.com/KarakuriAgent/clawdroid/issues +Changelog: https://github.com/KarakuriAgent/clawdroid/releases + +AntiFeatures: + NonFreeNet: + en-US: Requires a third-party LLM API (OpenAI, Anthropic, etc.) to function. + ja: 動作にサードパーティのLLM API(OpenAI、Anthropic等)が必要です。 + +RepoType: git +Repo: https://github.com/KarakuriAgent/clawdroid.git + +Builds: + - versionName: 0.4.0 + versionCode: 4 + commit: '0.4.0' + timeout: 20000 + subdir: android/app + submodules: true + + sudo: + - apt-get update + - apt-get install -y make + + init: |- + cd ../.. + # Extract Go version from go.mod + GO_VERSION=$(grep '^go ' go.mod | awk '{print $2}') + # Download and install Go + wget -q https://go.dev/dl/go${GO_VERSION}.linux-amd64.tar.gz + tar -C $HOME -xzf go${GO_VERSION}.linux-amd64.tar.gz + rm go${GO_VERSION}.linux-amd64.tar.gz + + prebuild: |- + cd ../.. + export PATH=$HOME/go/bin:$PATH + export GOPATH=$HOME/gopath + # Build Go backend for all Android architectures + make build-android + + gradle: + - embedded + + ndk: r27c + + antifeatures: + NonFreeNet: + en-US: Requires a third-party LLM API to function. + +AutoUpdateMode: Version +UpdateCheckMode: Tags +CurrentVersion: 0.4.0 +CurrentVersionCode: 4