Skip to content

feat: support configurable API base URL for Feishu plugins - #4153

Open
tomorrowthief wants to merge 2 commits into
langgenius:mainfrom
tomorrowthief:feature/feishu-configurable-api-base-url
Open

tomorrowthief wants to merge 2 commits into
langgenius:mainfrom
tomorrowthief:feature/feishu-configurable-api-base-url

Conversation

@tomorrowthief

@tomorrowthief tomorrowthief commented Oct 30, 2026 •

Copy link
Copy Markdown

Summary

Fixes #4151.

The seven Feishu tool plugins currently hardcode their proxy service URL. Add an optional api_base_url provider credential so self-hosted deployments can use a compatible internal gateway without modifying and repackaging the plugins.

  • Preserve https://lark-plugin-api.solutionsuite.cn/lark-plugin as both the UI default and the runtime fallback for missing or blank values.
  • Pass the configured URL through credential validation and every tool client initialization.
  • Normalize whitespace and trailing slashes, preserve path prefixes, and validate HTTP(S) URLs. Store overrides per client instance.
  • Document the proxy protocol requirement and bump each affected plugin from 0.0.x to 0.1.0 for this backward-compatible feature.

Affected plugins: Feishu Base, Calendar, Document, Message, Spreadsheet, Task, and Wiki. This changes existing official plugins; it does not add a community plugin.

Release Notes

Feishu plugins now support an optional API Base URL in provider credentials for compatible self-hosted proxy services. The existing service remains the default. Custom endpoints must implement the current proxy API contract; the Feishu Open Platform URL is not a direct replacement.

Change Type

  • Non-LLM plugin (tools, extensions, datasource, etc.)

Screenshots / Videos

Configuration dialog from a locally installed -test package. The API Base URL field displays the existing service URL by default. App credentials are blank. Test labels include -test suffixes; production labels in this PR do not. This screenshot confirms installation and configuration UI only, not successful authentication or tool execution.

Feishu test plugin API Base URL configuration

Version

  • Bumped top-level version in all seven manifest.yaml files to 0.1.0.
  • SDK dependencies and lockfiles are unchanged by this PR.

Testing

  • Passed Python syntax compilation for all affected Python files.

  • Ran an offline harness against all seven actual client and authentication definitions with mocked HTTP requests: verified missing/blank defaults, custom URL normalization and path prefixes, instance isolation, invalid URL rejection, and custom endpoints for both token acquisition and a document API request.

  • Checked all affected tool client initialization sites for credential forwarding.

  • No live Dify deployment or Feishu integration test was performed. The offline harness bypasses the Dify runtime imports; production-environment validation is still needed.

  • Local deployment

  • SaaS (cloud.dify.ai)

Supersedes #4152 to use the feature/ branch prefix. The code is unchanged.

This branch has not been deployed

No deployments
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.

[Feature Request] Make API_BASE_URL configurable for Feishu plugins

1 participant