Skip to content

feat: add Tencent Coding Plan support - #904

Merged
Astro-Han merged 6 commits into
mainfrom
feat/tencent-coding-plan-support
Jul 13, 2026
Merged

Astro-Han merged 6 commits into
mainfrom
feat/tencent-coding-plan-support

Conversation

@Astro-Han

Copy link
Copy Markdown
Contributor

Summary

  • Add the independent tencent-coding-plan access path across the shared provider registry, Desktop, interactive CLI, storage, and runtime.
  • Sync the upstream models.dev snapshot while keeping the product fallback restricted to Tencent's four current Coding Plan model IDs and disabling vision for this access path.
  • Vendor the byte-exact Tencent Cloud mark with complete Lobe Icons provenance and license coverage.

Why

Tencent Coding Plan is a separate personal AI Coding subscription with its own sk-sp-* credentials and OpenAI-compatible endpoint. It must not be conflated with Tencent TokenHub or a future Tencent Token Plan, and Tencent documents this subscription for interactive coding tools rather than benchmark or automation use.

Refs #860.

Scope

This PR implements only the persisted provider ID tencent-coding-plan. It does not add Tencent Token Plan, other expanded providers, or Phase 7 work. Headless deliberately exposes no Tencent Coding Plan credential environment mapping; its coverage uses deterministic fake requests only.

Verification

  • npm run typecheck
  • npm test — scripts 15/15; Core 850/850; Storage 244/244; Runtime 1400 pass / 7 skip; Headless 861/861; CLI 310/310; UI 125/125; Desktop 2417/2417
  • npm run build
  • npm run check:stale
  • npm --workspace @maka/desktop run build:renderer — packaged THIRD_PARTY_LICENSES.txt checker passed
  • node --test --test-name-pattern='Tencent Cloud mark for Tencent Coding Plan' apps/desktop/dist/main/__tests__/icon-governance-contract.test.js
  • Upstream SVG byte comparison passed; SHA-256: 0563b1dbaa01aff4f20352bc9eb49bec17debeb3901a9ee80b044ac4d792c97d
  • git diff --check

Local Desktop E2E was intentionally deferred to CI per the issue delivery boundary. The UI change reuses the existing catalog/detail ProviderLogo and ProviderAssetMask seams; a Playwright contract covers both rendered locations, stable ID, endpoint, fallback model, and credential field. The byte/hash governance test and renderer build are the substitute evidence for this additive provider-row change, so no static screenshot is attached.

Impact

Users can persist and use Tencent Coding Plan from Desktop and the interactive CLI with the exact tencent-coding-plan ID and supported model IDs. Existing connections require no migration. Raw models.dev metadata remains auditable, while product fallback excludes retired Hunyuan entries and prevents Kimi vision metadata from leaking into this non-multimodal access path.

Reviewer notes

  • The public Coding Plan endpoint has no documented /models contract, so model discovery is fallback-only and the UI hides model refresh.
  • Runtime conformance locks Bearer auth, exact model propagation, reasoning_content, assistant tool-call replay, and the subsequent tool result without real credentials.
  • Tencent Cloud SVG provenance: @lobehub/icons-static-svg@1.91.0, commit e4302041fbb3039608d25f9f618bd462783b875e, path packages/static-svg/icons/tencentcloud.svg, MIT.

Ready for review

  • Verification is complete and the results above are current
  • Impact, compatibility, migration, documentation, and release-note needs are addressed
  • User-visible UI/UX changes include visual evidence, or Verification explains why it is not applicable

@Astro-Han
Astro-Han force-pushed the feat/tencent-coding-plan-support branch from da8e75f to 520f030 Compare July 13, 2026 18:05
@Astro-Han
Astro-Han merged commit 0c071e0 into main Jul 13, 2026
3 checks passed
@Astro-Han
Astro-Han deleted the feat/tencent-coding-plan-support branch July 13, 2026 18:09
@Astro-Han Astro-Han mentioned this pull request Jul 13, 2026
3 tasks done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant