Skip to content

feat(provider): add DaoXE#1948

Merged
zerob13 merged 3 commits into
ThinkInAIXYZ:devfrom
seven7763:feat/daoxe-provider
Jul 13, 2026
Merged

feat(provider): add DaoXE#1948
zerob13 merged 3 commits into
ThinkInAIXYZ:devfrom
seven7763:feat/daoxe-provider

Conversation

@seven7763

@seven7763 seven7763 commented Jul 12, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add DaoXE as a disabled built-in OpenAI-compatible provider
  • discover models from the authenticated /models endpoint instead of shipping a static catalog
  • add the DaoXE icon plus focused provider/runtime/icon tests

DaoXE is not available in mainland China.

Provider details

  • ID: daoxe
  • API type: openai-completions
  • Base URL: https://daoxe.com/v1
  • Auth: API key in the existing provider configuration
  • Runtime: existing openai-compatible transport
  • Model source/check: authenticated /models fetch; no paid inference request

Validation

  • pnpm run format
  • pnpm run i18n
  • pnpm run lint
  • pnpm exec vitest run test/main/presenter/configPresenter/defaultProviders.test.ts test/main/presenter/llmProviderPresenter/basicApiKeyProviders.test.ts test/renderer/components/ModelIcon.test.ts (19 passed)
  • pnpm run typecheck
  • public provider links: HTTP 200
  • unauthenticated https://daoxe.com/v1/models: HTTP 401 as expected

Environment note

The local machine has Node 25.9.0 while the repository declares >=24.14.1 <25, so pnpm emitted an engine warning. The initial Electron binary postinstall also hit a network fetch failed; dependencies were completed with --ignore-scripts. All validation commands listed above passed.

Summary by CodeRabbit

  • New Features

    • Added DaoXE as a built-in, disabled-by-default provider.
    • Supports OpenAI-compatible API connections, API-key authentication, and model discovery.
    • Added DaoXE links for official resources, documentation, API keys, and available models.
    • Added DaoXE branding and model icon support.
  • Tests

    • Added coverage for provider configuration, runtime behavior, model discovery, and icon rendering.
  • Documentation

    • Added DaoXE provider specifications, implementation tasks, and planning details.

@coderabbitai

coderabbitai Bot commented Jul 12, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters (1)
  • src/renderer/src/assets/llm-icons/daoxe.png is excluded by !**/*.png

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 001a2cef-c8d8-4477-9171-b65367052251

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Adds DaoXE as a disabled built-in OpenAI-compatible provider with API-key authentication, authenticated model discovery, website metadata, icon registration, documentation, and focused configuration, runtime, and icon tests.

Changes

DaoXE provider integration

Layer / File(s) Summary
Provider profile and configuration
docs/features/daoxe-provider/*, src/main/presenter/configPresenter/providers.ts
Documents the DaoXE requirements and implementation checklist, and registers its disabled default configuration, endpoint, and website links.
Runtime provider registration
src/main/presenter/llmProviderPresenter/providerRegistry.ts, test/main/presenter/llmProviderPresenter/basicApiKeyProviders.test.ts
Maps daoxe to the OpenAI-compatible runtime with API-key credentials and authenticated model fetching, with matching resolution coverage.
Provider icon registration
src/renderer/src/components/icons/modelIconRegistry.ts, test/renderer/components/ModelIcon.test.ts
Registers the DaoXE icon and verifies its rendered URL.
Configuration validation
test/main/presenter/configPresenter/defaultProviders.test.ts
Verifies the default DaoXE provider configuration and website metadata.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

  • ThinkInAIXYZ/deepchat#1789: Extends the same provider registration and icon surfaces with basic API-key provider coverage.
  • ThinkInAIXYZ/deepchat#1895: Adds a provider ID, default provider configuration, and runtime/model-discovery tests through the same plumbing.
  • ThinkInAIXYZ/deepchat#1481: Adds another OpenAI-compatible provider across default configuration, runtime registration, and icon mapping.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely reflects the main change: adding the DaoXE provider.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@zerob13 zerob13 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Everything else looks good. Please just replace the logo.

Comment thread src/renderer/src/assets/llm-icons/daoxe.png
@seven7763

Copy link
Copy Markdown
Contributor Author

Thanks for the review. Logo replaced in 76ed42a with the official DaoXE website mark (https://daoxe.com/favicon.ico converted to the existing 48×48 PNG slot used by other providers).

Please re-check when you have a moment — everything else was already approved.

Replace the temporary favicon-derived mark with the official 800px
DaoXE logo, resized to 128x128 for the provider icon slot.
@seven7763

Copy link
Copy Markdown
Contributor Author

Follow-up on the logo request: replaced again in 80b8d020 with the official DaoXE brand logo (source: our brand asset logo.png, resized to 128×128 PNG for this icon slot).

Previous commit used the website favicon as a stopgap; this one is the proper brand mark. Please re-check when convenient.

@seven7763 seven7763 requested a review from zerob13 July 13, 2026 04:06
@zerob13 zerob13 merged commit f009231 into ThinkInAIXYZ:dev Jul 13, 2026
4 checks passed
@seven7763

Copy link
Copy Markdown
Contributor Author

Follow-up after resolving the logo thread:

Latest commit rebuilds src/renderer/src/assets/llm-icons/daoxe.png directly from the live website brand mark at https://daoxe.com/logo.png (resized to 128×128 PNG for this icon slot).

This is the same public logo users see on daoxe.com — not a NewAPI mark and not a temporary favicon.

Please re-check when you have a moment. Everything else was already approved earlier.

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.

2 participants