{"adoption": {"forks": 201, "observed_at": "2026-09-01T02:14:02.688701+00:00", "stars": 1115}, "canonical_url": "https://ross.abutalabs.com/products/opencode-telegram-bot", "card": {"archived": false, "artifact_type": "application", "description": "OpenCode mobile client via Telegram: run and monitor AI coding tasks from your phone while everything runs locally on your machine. Scheduled tasks support.", "domain": ["developer-tools", "large-language-models"], "enriched": true, "function": ["chatbot", "agent-framework", "developer-tools", "cli", "scheduling"], "health_score": 100, "homepage": null, "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["grinev/opencode-telegram-bot"], "name": "grinev/opencode-telegram-bot", "platform": ["windows", "cli"], "pushed_at": "2026-08-31T16:59:23+00:00", "repo": "grinev/opencode-telegram-bot", "stars": 1115, "tags": ["opencode", "telegram-bot", "remote-coding", "grammy", "mobile-client", "coding-agent", "scheduled-tasks", "ai-agents", "automation", "command-line", "macos", "linux", "nodejs", "telegram"], "topics": ["grammy", "opencode", "telegrambot", "ai-agent", "coding-agent", "developer-tools", "nodejs", "typescript", "openclaw-alternative", "autonomous-agent", "telegram"], "urls": [], "use_cases": ["run AI coding tasks from my phone", "monitor opencode sessions remotely via telegram", "control a local coding agent without exposing ports", "schedule autonomous coding tasks", "switch LLM models in opencode from telegram", "get notifications when background coding sessions finish"], "what_it_is": "A Telegram bot that acts as a secure mobile client for the OpenCode CLI, letting users run and monitor AI coding tasks from their phone while everything executes locally. It supports session management, model switching, live status tracking, and scheduled tasks.", "when_to_avoid": ["you don't use OpenCode as your coding agent", "you prefer a native mobile app over a Telegram interface", "you need a web-based dashboard instead of chat-based control"], "when_to_choose": ["you use OpenCode and want remote/mobile access to it", "you want a lightweight OpenClaw alternative for scheduled coding tasks", "you need secure remote control with no open ports or exposed APIs"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/opencode-telegram-bot", "repo": "grinev/opencode-telegram-bot", "role": "main", "score": 82}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-09-01T02:14:02.688701+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:47:10.906484+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "34eda8d6b0122fc0ec4650959ad06822f8ac5d2accea1e1d0b149377044a9f4a", "fetched_at": "2026-09-01T02:14:02.688701+00:00", "kind": "readme", "missing": false, "url": "https://github.com/grinev/opencode-telegram-bot"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-09-01T02:14:02.688701+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:47:10.906484+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "34eda8d6b0122fc0ec4650959ad06822f8ac5d2accea1e1d0b149377044a9f4a", "fetched_at": "2026-09-01T02:14:02.688701+00:00", "kind": "readme", "missing": false, "url": "https://github.com/grinev/opencode-telegram-bot"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:47:10.906484+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "34eda8d6b0122fc0ec4650959ad06822f8ac5d2accea1e1d0b149377044a9f4a", "fetched_at": "2026-09-01T02:14:02.688701+00:00", "kind": "readme", "missing": false, "url": "https://github.com/grinev/opencode-telegram-bot"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-09-01T02:14:02.688701+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-09-01T02:14:02.688701+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-09-01T02:14:02.688701+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:47:10.906484+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "34eda8d6b0122fc0ec4650959ad06822f8ac5d2accea1e1d0b149377044a9f4a", "fetched_at": "2026-09-01T02:14:02.688701+00:00", "kind": "readme", "missing": false, "url": "https://github.com/grinev/opencode-telegram-bot"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-09-01T02:14:02.688701+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-09-01T02:14:02.688701+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:47:10.906484+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "34eda8d6b0122fc0ec4650959ad06822f8ac5d2accea1e1d0b149377044a9f4a", "fetched_at": "2026-09-01T02:14:02.688701+00:00", "kind": "readme", "missing": false, "url": "https://github.com/grinev/opencode-telegram-bot"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-09-01T02:14:02.688701+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-09-01T02:14:02.688701+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-09-01T02:14:02.688701+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:47:10.906484+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "34eda8d6b0122fc0ec4650959ad06822f8ac5d2accea1e1d0b149377044a9f4a", "fetched_at": "2026-09-01T02:14:02.688701+00:00", "kind": "readme", "missing": false, "url": "https://github.com/grinev/opencode-telegram-bot"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-09-01T02:14:02.688701+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-09-01T02:14:02.688701+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:47:10.906484+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "34eda8d6b0122fc0ec4650959ad06822f8ac5d2accea1e1d0b149377044a9f4a", "fetched_at": "2026-09-01T02:14:02.688701+00:00", "kind": "readme", "missing": false, "url": "https://github.com/grinev/opencode-telegram-bot"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:47:10.906484+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "34eda8d6b0122fc0ec4650959ad06822f8ac5d2accea1e1d0b149377044a9f4a", "fetched_at": "2026-09-01T02:14:02.688701+00:00", "kind": "readme", "missing": false, "url": "https://github.com/grinev/opencode-telegram-bot"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:47:10.906484+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "34eda8d6b0122fc0ec4650959ad06822f8ac5d2accea1e1d0b149377044a9f4a", "fetched_at": "2026-09-01T02:14:02.688701+00:00", "kind": "readme", "missing": false, "url": "https://github.com/grinev/opencode-telegram-bot"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:47:10.906484+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "34eda8d6b0122fc0ec4650959ad06822f8ac5d2accea1e1d0b149377044a9f4a", "fetched_at": "2026-09-01T02:14:02.688701+00:00", "kind": "readme", "missing": false, "url": "https://github.com/grinev/opencode-telegram-bot"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 100, "longevity": 14, "rhythm": 99}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 205, "days_push": 2, "days_rel": 9, "gap_med": 2.0, "n_releases_24m": 57}, "score": 82, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 5, "stale_scrape": false}}