Repository navigation
teleagent: list opencode-teleagent-auth - #882
Merged
yetone merged 1 commit intoNov 9, 2026
Merged
Conversation
TeleAgent (天翼 AI 星辰超级智能体) desktop app, as a magpie provider plugin: the desktop's own sign-in, no API key. - Sign-in: reads the app's `app-auth/token.json` and decrypts it with the keychain entry `TeleAgent Safe Storage` (Electron safeStorage v10), so a user who is signed in to the desktop is signed in here — nothing is pasted. - Requests: per-request two-step HMAC over `ts`/`nonce`/`body` sha256 with the device fingerprint the desktop stores, straight to the app's own OpenAI-compatible gateway; no client impersonation, no injected persona. - Models: the 5 the desktop ships (`chat-pro` 400K/x0.6, `chat-flagship` 400K/x1.0, `chat-flash` 400K/x0.2, `chat-lite` 100K/x0.5, `chat-nano` 100K/x0.1), whitelisted locally. Image input only on `chat-pro` and `chat-flash`: measured, not copied from the app's catalog, because `chat-lite` answers 200 to an image but ignores it and the other two reject it (`1210` / not-multimodal). - Usage and check-in: read-only points balance, expiry and plan name, and a daily check-in that reads `claimed_today` first, so it never claims twice. - Safety: concurrency 2, 20 requests/minute, circuit break open for 10 minutes after 3 consecutive 401/403, per account. Two accounts were banned by the upstream during development over synthetic probing, so those numbers are account-survival parameters, not performance knobs. The `teleagent` channel is not listed yet. Package: https://github.com/anbulang/opencode-teleagent-auth npm: https://www.npmjs.com/package/opencode-teleagent-auth
Contributor
|
Merged as ab16053: I read every file of Small follow-ups worth a PR, none blocking:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds the
teleagentchannel to the market.Package:
opencode-teleagent-auth— https://github.com/anbulang/opencode-teleagent-authProvider id:
teleagentWhat it signs in to: the TeleAgent (天翼 AI 星辰超级智能体) desktop app's own sign-in.
What it does
app-auth/token.jsonand decrypts it with the keychain entryTeleAgent Safe Storage(Electron safeStorage v10). No API key, nothing pasted: signed in to the desktop means signed in here.ts/nonce/ body sha256 plus the device fingerprint the desktop stores.chat-pro400K/x0.6,chat-flagship400K/x1.0,chat-flash400K/x0.2,chat-lite100K/x0.5,chat-nano100K/x0.1. Model ids outside that catalog are refused locally, not sent upstream.auth.usage, somagpie quotaand the card both show it).claimed_todayfirst and returnsdonewhen already claimed, so it is idempotent.pointstool; no arguments, no spend, no model request.Image input is declared only on
chat-proandchat-flash. That is measured, not copied from the app's own catalog:chat-liteanswers 200 to an image but ignores it,chat-nanosays the model is not multimodal, andchat-flagshipanswers business code1210.Why it is careful about request shape
The upstream treats automation as hostile. Two accounts got banned during development over the plugin's own synthetic probing (5 models × image data URLs, 50–600 KB filler bodies, 10/100/265 generated tool names, a real chat request on every boot), the second one within about 1h45m. The plugin therefore ships concurrency 2, 20 requests/minute and a circuit break of 10 minutes after 3 consecutive 401/403, per account; no boot-time probe, and no retry on quota-exceeded, banned or rate-limited replies. Those are account-survival parameters rather than performance ones, and
docs/PROTOCOL.mdwrites up both incidents.It does not impersonate the official client:
messages[0]is the agent's own prompt, the tools are magpie's, and only the parts the desktop's own protocol requires (its device fingerprint, its session/message ids) are reproduced.Single channel
providers: ["teleagent"]is not in any existing entry, so this adds a channel rather than duplicating one.Checks
scripts/registry.mjs:registryProblems→ none,agentKindProblems→ none, 63,977 bytes.bun test— 7,288 pass / 9 skip / 43 fail. The same 43 fail onmainwithout this change on this machine (they need Chrome and a real macOS profile), so they are not from the added entry;registry.jsonis only read by the market tests.assets/icon.svg(200 on the URL above), so the card does not depend on a third-party host.Note on a name collision
Another repository,
cuddlesgiggles/teleagent-auth, publishes apackage.jsonwhosenameis alsoopencode-teleagent-auth; it is a different, earlier implementation for Windows. Listing this package here is what lets magpie's market card win the dedupe over the tagged repository card (plugins.js: a tagged repo whose package the market already lists is drawn as the market's card), so users searchingteleagentinstall this one rather than that one.