Skip to content

Conversation

@SoulSniper1212
Copy link

@SoulSniper1212 SoulSniper1212 commented Nov 5, 2025

Integrates CometAPI as a new LLM provider, giving users access to over 500+ models through its OpenAI-compatible endpoints.

This commit updates the README with the necessary environment variables and documentation for the new provider.

Closes #3690


Closes #3690


🚀 This PR integrates CometAPI as a new LLM provider for Skyvern, expanding the available model options to over 500+ models through OpenAI-compatible endpoints. The changes primarily focus on updating documentation and configuration options to support the new provider integration.

🔍 Detailed Analysis

Key Changes

  • Documentation Update: Added CometAPI to the supported LLM providers table in README.md
  • Configuration Variables: Introduced new environment variables for CometAPI integration (ENABLE_COMETAPI, COMETAPI_API_KEY, COMETAPI_MODEL, COMETAPI_API_BASE)
  • Code Block Formatting: Removed markdown code block formatting throughout the README (appears to be an unintended change)

Technical Implementation

flowchart TD
    A[User Configuration] --> B[Environment Variables]
    B --> C[ENABLE_COMETAPI=true]
    B --> D[COMETAPI_API_KEY]
    B --> E[COMETAPI_MODEL]
    B --> F[COMETAPI_API_BASE]
    C --> G[CometAPI Provider Registration]
    D --> G
    E --> G
    F --> G
    G --> H[Access to 500+ Models]
    H --> I[OpenAI-Compatible Endpoints]
Loading

Impact

  • Model Diversity: Users gain access to over 500+ models through a single provider integration
  • OpenAI Compatibility: Leverages existing OpenAI-compatible infrastructure for seamless integration
  • Configuration Flexibility: Provides optional API base URL configuration for different endpoint variations
  • Documentation Issue: The removal of code block formatting may impact README readability and should be addressed

Created with Palmier


Important

Adds CometAPI as a new LLM provider and updates the README with setup instructions and environment variables.

  • Integration:
    • Adds CometAPI as a new LLM provider, offering access to 500+ models via OpenAI-compatible endpoints.
  • Documentation:
    • Updates README.md with environment variables for CometAPI: ENABLE_COMETAPI, COMETAPI_API_KEY, COMETAPI_MODEL, COMETAPI_API_BASE.
    • Adds CometAPI to the list of supported LLMs in README.md.
  • Misc:

This description was created by Ellipsis for 5203e38. You can customize this summary. It will automatically update as commits are pushed.

Summary by CodeRabbit

  • Documentation
    • Added CometAPI to OpenAI-compatible documentation with naming, keys, and base URL guidance.
    • Included commented docker-compose guidance for CometAPI configuration (enable flag, key, base, model, vision).
    • Improved README formatting and examples, revised initialization parameters, and added a high-level Code Sage reference.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 5, 2025

Note

Other AI code review bot(s) detected

CodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review.

Walkthrough

Documentation updates add CometAPI references and examples to the OpenAI-compatible flow in README.md and introduce a commented CometAPI configuration block in docker-compose.yml; all edits are formatting and content-only with no runtime or control-flow changes. (50 words)

Changes

Cohort / File(s) Summary
Documentation - README
README.md
Inserted CometAPI into OpenAI-compatible documentation and Supported LLMs table; added environment variable descriptions and examples (CometAPI naming, API key, base URL, model naming); updated Python examples and code block formatting; added Code Sage link.
Compose Configuration
docker-compose.yml
Added a commented CometAPI configuration block under LLM/OpenAI-compatible section describing enable flag, API key, base URL, model name, and vision support. No functional changes.

Sequence Diagram(s)

(omitted — changes are documentation-only and do not modify control flow)

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Check README.md for accuracy of CometAPI env var names and example snippets.
  • Verify docker-compose.yml commented block is informational and does not alter service definitions.
  • Confirm formatting and links (Code Sage, CometAPI docs) are correct.

Poem

🐰 I nibbled notes and hopped through lines so neat,
CometAPI now joins our fleet,
Keys and bases written clear,
Examples snug and docs sincere,
A little hop — integration complete! ✨

Pre-merge checks and finishing touches

❌ Failed checks (2 warnings)
Check name Status Explanation Resolution
Linked Issues check ⚠️ Warning The PR documentation changes address the core requirement from issue #3690 to introduce CometAPI support; however, critical backend implementation (config registration, handler logic) required by the issue's intent is missing. Implement backend support: add ENABLE_COMETAPI and COMETAPI_* config entries, register CometAPI in config_registry.py, and add handler logic in api_handler_factory.py following the OpenRouter pattern.
Out of Scope Changes check ⚠️ Warning Changes are scoped to documentation (README.md and docker-compose.yml); however, the scope mismatch is that issue #3690 requires functional backend implementation, not only documentation. Either complete backend implementation to match issue requirements or clarify with maintainers that only documentation is in scope for this PR and backend will be addressed separately.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title accurately reflects the primary objective stated in the linked issue: adding CometAPI as an LLM provider option to Skyvern.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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 and usage tips.

Copy link
Contributor

@ellipsis-dev ellipsis-dev bot left a comment

Choose a reason for hiding this comment

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

Caution

Changes requested ❌

Reviewed everything up to 5203e38 in 2 minutes and 22 seconds. Click for details.
  • Reviewed 171 lines of code in 1 files
  • Skipped 0 files when reviewing.
  • Skipped posting 4 draft comments. View those below.
  • Modify your settings and rules to customize what types of comments Ellipsis leaves. And don't forget to react with 👍 or 👎 to teach Ellipsis.
1. README.md:93
  • Draft comment:
    The markdown code fences (e.g., bash and python) have been removed from several code examples. Restoring them would improve syntax highlighting and readability.
  • Reason this comment was not posted:
    Decided after close inspection that this draft comment was likely wrong and/or not actionable: usefulness confidence = 10% vs. threshold = 50% Looking at the diff, the removal of code fences appears to be intentional and systematic - it's not just one or two instances but throughout the entire file. The PR author deliberately removed all the bash, python, etc. markers. The comment is suggesting to undo this change. However, according to the rules, I should not comment unless there is clearly a code change required. This is more of a stylistic/formatting preference. The code examples are still readable without the fences, just without syntax highlighting. The comment is essentially asking the author to reconsider their intentional change, which seems like it's questioning the author's decision rather than pointing out a clear error. The removal might have been done for a specific reason (perhaps rendering issues, or a different documentation format). The removal of code fences could be intentional for various reasons - perhaps the documentation is being migrated to a different format, or there were rendering issues. Without knowing the context of why this change was made, suggesting to restore them might be incorrect. The comment assumes the removal was a mistake rather than intentional. While the critique raises a valid point about intentionality, the systematic removal of code fences objectively reduces readability and removes syntax highlighting, which is a standard best practice in markdown documentation. However, the rules state I should not comment on things that are "obvious" and should assume the author made changes correctly. If the author systematically removed all code fences, they likely had a reason. This comment should be deleted. The removal of code fences was clearly intentional and systematic throughout the file. According to the rules, I should assume the author made the change correctly and not question their decisions. The comment is essentially asking them to reconsider an intentional change without evidence that it's wrong.
2. README.md:424
  • Draft comment:
    CometAPI has been added to the Supported LLMs table. Verify that the UTM parameters and formatting are intentional and consistent with other providers.
  • Reason this comment was not posted:
    Comment did not seem useful. Confidence is useful = 0% <= threshold 50% The comment is asking the PR author to verify the UTM parameters and formatting, which is against the rules. It doesn't provide a specific suggestion or point out a clear issue with the code.
3. README.md:494
  • Draft comment:
    A new section documenting CometAPI’s environment variables has been added. Ensure consistency in naming and description with the other provider tables.
  • Reason this comment was not posted:
    Comment looked like it was already resolved.
4. README.md:565
  • Draft comment:
    The file ends without a newline. It’s best practice to have a trailing newline for POSIX compatibility.
  • Reason this comment was not posted:
    Decided after close inspection that this draft comment was likely wrong and/or not actionable: usefulness confidence = 30% vs. threshold = 50% This comment is about a missing trailing newline, which is a POSIX best practice. The change is visible in the diff - the last line was modified and now ends without a newline. However, I need to consider: 1) Is this an obvious/trivial issue? 2) Is this actionable? 3) Does it violate the rules about not commenting on obvious things? Missing newlines at end of file are typically caught by linters and are considered minor style issues. The comment is technically correct and relates to a change in the diff, but it's a very minor formatting issue that would likely be caught by automated tools or pre-commit hooks. The rules state "Do NOT comment unless there is clearly a code change required" and "Do NOT make comments that are obvious or unimportant." While the comment is technically correct and relates to the diff, missing trailing newlines are typically trivial issues caught by linters. This might fall under "obvious or unimportant" comments that should be avoided. However, it is a legitimate code quality issue that requires a fix. Although it's a minor issue, it is a real code quality problem that needs fixing. The file was clearly modified incorrectly (truncated to just "["), and pointing out the missing newline is part of identifying that problem. This is more than just a style issue - the entire last line appears corrupted. The comment is about a legitimate issue in the diff where the file was truncated and now ends without a newline. However, the bigger issue is that the last line is just "[" which suggests the file was corrupted. The missing newline is a symptom of a larger problem. Since this is a minor formatting issue that would be caught by linters, and the rules emphasize not making obvious or unimportant comments, this should be deleted.

Workflow ID: wflow_mELl38NEXghwVbsD

You can customize Ellipsis by changing your verbosity settings, reacting with 👍 or 👎, replying to comments, or adding code review rules.

README.md Outdated
# Star History
[![Star History Chart](https://api.star-history.com/svg?repos=Skyvern-AI/skyvern&type=Date)](https://star-history.com/#Skyvern-AI/skyvern&Date)
[
Copy link
Contributor

Choose a reason for hiding this comment

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

There's a dangling [ on this line with no closing text or link. This appears to be an unfinished markdown element. Please verify if this was intended or if there is a typographical error.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 2fa4d93 and 5203e38.

📒 Files selected for processing (1)
  • README.md (8 hunks)
🧰 Additional context used
🧠 Learnings (2)
📚 Learning: 2025-09-30T21:21:05.674Z
Learnt from: CR
Repo: Skyvern-AI/skyvern PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-09-30T21:21:05.674Z
Learning: Applies to skyvern/**/*.py : Type-check Python code in the skyvern/ package with mypy

Applied to files:

  • README.md
📚 Learning: 2025-10-13T15:41:41.294Z
Learnt from: Valeran86
Repo: Skyvern-AI/skyvern PR: 3534
File: .env.example:128-132
Timestamp: 2025-10-13T15:41:41.294Z
Learning: For Skyvern's Bitwarden CLI server integration, port 8002 is the desired default port for the local Vaultwarden setup, not 11001. This applies to BITWARDEN_SERVER_PORT configuration in .env.example, docker-compose.yml, skyvern/config.py, and related documentation.

Applied to files:

  • README.md
🪛 LanguageTool
README.md

[style] ~101-~101: In American English, abbreviations like “etc.” require a period.
Context: ...first time run (db setup, db migrations etc). skyvern quickstart ### 3. Run tas...

(ETC_PERIOD)


[style] ~147-~147: Consider a more concise word here.
Context: ...rowser using the default user_data_dir. In order to use your browser data, Skyvern copies y...

(IN_ORDER_TO_PREMIUM)

🪛 markdownlint-cli2 (0.18.1)
README.md

117-117: Bare URL used

(MD034, no-bare-urls)


128-128: Bare URL used

(MD034, no-bare-urls)


169-169: Multiple headings with the same content

(MD024, no-duplicate-heading)


176-176: Heading levels should only increment by one level at a time
Expected: h2; Actual: h3

(MD001, heading-increment)


498-498: Tables should be surrounded by blank lines

(MD058, blanks-around-tables)

🔇 Additional comments (1)
README.md (1)

96-105: Code fence improvements enhance documentation readability.

Wrapping code examples in proper markdown code fences throughout the file is a solid improvement for:

  • Syntax highlighting in rendered documentation
  • Better visual distinction of code from prose
  • Consistent formatting across all code samples

Also applies to: 113-115, 121-127, 131-142, 150-163, 168-172, 179-186, 190-214, 219-237

README.md Outdated
| Gemini | Gemini 2.5 Pro and flash, Gemini 2.0 |
| Ollama | Run any locally hosted model via [Ollama](https://github.com/ollama/ollama) |
| OpenRouter | Access models through [OpenRouter](https://openrouter.ai) |
| CometAPI | 500+ models via [CometAPI](https://www.cometapi.com/?utm_source=skyvern&utm_campaign=integration&utm_medium=integration&utm_content=integration) |
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

CometAPI integration documentation is well-formatted and consistent with existing providers.

The new CometAPI section follows the established pattern for LLM providers:

  • Properly added to the Supported LLMs table (line 427) with model count and UTM-tracked link
  • Environment variables table (lines 498-504) includes all necessary configuration options with clear descriptions and sample values
  • Recommended LLM_KEY is provided (line 506)
  • Format and structure match other provider sections (OpenRouter, Gemini, etc.)

However, please verify that:

  1. The backend code correctly implements handlers for ENABLE_COMETAPI, COMETAPI_API_KEY, COMETAPI_MODEL, and COMETAPI_API_BASE environment variables
  2. The recommended LLM_KEY value COMETAPI is properly mapped in the LLM provider registry
  3. The sample API base URL (https://api.cometapi.com/v1) matches CometAPI's current documentation

You can verify the backend implementation using:

Also applies to: 497-506


🏁 Script executed:

#!/bin/bash
# Search for CometAPI configuration handling in the codebase
rg -n "COMETAPI" --type py -A 3 -B 1
rg -n "cometapi" --type py -A 3 -B 1 -i

Length of output: 0


🏁 Script executed:

#!/bin/bash
# Explore repository structure and find backend implementation files
echo "=== Repository structure ==="
find . -type f -name "*.py" | head -20

echo -e "\n=== Looking for LLM provider implementations (any language) ==="
rg -l "openrouter|OpenRouter" --type-list | head -20
rg -l "openrouter|OpenRouter" -i | head -20

echo -e "\n=== Search for any CometAPI references (all files, all languages) ==="
rg -i "cometapi" | head -20

echo -e "\n=== Check main directories ==="
ls -la

echo -e "\n=== Look for config/env related files ==="
fd -e "\.py$" -e "\.js$" -e "\.ts$" | xargs grep -l "ENABLE_\|api_key\|LLM" 2>/dev/null | head -20

Length of output: 6292


🏁 Script executed:

#!/bin/bash
# Examine LLM provider registry and implementation files

echo "=== config_registry.py - OpenRouter entries ==="
rg -n "openrouter|OpenRouter" skyvern/forge/sdk/api/llm/config_registry.py -i -B 2 -A 2

echo -e "\n=== config_registry.py - CometAPI entries ==="
rg -n "cometapi" skyvern/forge/sdk/api/llm/config_registry.py -i

echo -e "\n=== api_handler_factory.py - OpenRouter entries ==="
rg -n "openrouter|OpenRouter" skyvern/forge/sdk/api/llm/api_handler_factory.py -i -B 2 -A 2

echo -e "\n=== api_handler_factory.py - CometAPI entries ==="
rg -n "cometapi" skyvern/forge/sdk/api/llm/api_handler_factory.py -i

echo -e "\n=== skyvern/config.py - LLM provider env vars (first 50 lines) ==="
head -100 skyvern/config.py | tail -50

echo -e "\n=== Search for ENABLE_OPENROUTER in config.py ==="
rg -n "ENABLE_" skyvern/config.py -A 1 | head -30

Length of output: 6029


CometAPI documentation added to README without corresponding backend implementation.

Verification reveals a critical issue: The documentation (lines 427, 497-506 in README.md) describes CometAPI as a fully supported LLM provider with environment variables and configuration options, but the backend implementation is completely absent from the codebase.

Evidence:

  • OpenRouter (documented similarly) has complete implementation in config_registry.py (lines 44-55, 1331-1348), api_handler_factory.py (lines 508-510, 869-871), and config.py (line 157: ENABLE_OPENROUTER)
  • CometAPI has zero implementation: no entries in config registry, no handler factory logic, no ENABLE_COMETAPI in config.py
  • CometAPI references exist only in README.md

The original review comment's verification requests were justified—they correctly identified that documented environment variables (ENABLE_COMETAPI, COMETAPI_API_KEY, COMETAPI_MODEL, COMETAPI_API_BASE) and LLM provider registration do not exist in the backend code.

Either remove the CometAPI documentation from README pending actual implementation, or implement the full backend support following the OpenRouter integration pattern.

@SoulSniper1212
Copy link
Author

@fixodev please Skip to content
Navigation Menu
https://github.com/Skyvern-AI
skyvern

Type / to search
Code
Issues
127
Pull requests
60
Discussions
Actions
Security
Insights
Open
feat(llm): Add CometAPI as an LLM provider
#3911
SoulSniper1212 wants to merge 1 commit into Skyvern-AI:main from SoulSniper1212:fix-issue-3690-request-add-cometapi-as-an-llm-provider-option
+32 −21
Conversation 5
Commits 1
Checks 0
Files changed 1
Conversation
@SoulSniper1212
SoulSniper1212
commented
47 minutes ago

Integrates CometAPI as a new LLM provider, giving users access to over 500+ models through its OpenAI-compatible endpoints.

This commit updates the README with the necessary environment variables and documentation for the new provider.

Closes #3690

Closes #3690

🚀 This PR integrates CometAPI as a new LLM provider for Skyvern, expanding the available model options to over 500+ models through OpenAI-compatible endpoints. The changes primarily focus on updating documentation and configuration options to support the new provider integration.

🔍 Detailed Analysis
Created with Palmier

Important

Adds CometAPI as a new LLM provider and updates the README with setup instructions and environment variables.

Integration:
Adds CometAPI as a new LLM provider, offering access to 500+ models via OpenAI-compatible endpoints.
Documentation:
Updates README.md with environment variables for CometAPI: ENABLE_COMETAPI, COMETAPI_API_KEY, COMETAPI_MODEL, COMETAPI_API_BASE.
Adds CometAPI to the list of supported LLMs in README.md.
Misc:
Closes issue #3690.
This description was created by Ellipsis for 5203e38. You can customize this summary. It will automatically update as commits are pushed.
Summary by CodeRabbit

Documentation
Added CometAPI as a supported LLM provider with configuration details
Included environment variables and setup instructions for CometAPI integration
Enhanced code examples and formatting throughout documentation
@SoulSniper1212
feat(llm): Add CometAPI as an LLM provider

5203e38
@coderabbitai
Contributor
coderabbitai bot
commented
47 minutes ago

Walkthrough

The README.md was updated to introduce CometAPI as a supported LLM provider, adding configuration environment variables, usage examples, and Python code samples demonstrating CometAPI integration alongside existing LLM providers. Changes are documentation-focused with no code logic modifications.

Changes

Cohort / File(s) Summary
Documentation Update
README.md Added CometAPI as a supported LLM provider in the Supported LLMs table; introduced CometAPI environment variable configuration block with ENABLE_COMETAPI, COMETAPI_API_KEY, COMETAPI_MODEL, and COMETAPI_API_BASE; expanded LLM configuration section with CometAPI-specific details and recommended LLM_KEY entry; updated Python code samples and usage examples; minor formatting adjustments throughout.
Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Verify CometAPI configuration variable names and descriptions match provider documentation
Confirm Python code samples are syntactically correct and align with Skyvern's initialization patterns
Review placement and consistency of new configuration entries relative to existing providers
Poem

🐰 A hop, skip, and jump through docs so bright,
Five hundred models now in sight!
CometAPI joins the LLM crew,
Configuration options fresh and new.
Skyvern's toolkit grows each day—
More choices lead the bot astray! 🤖✨
Pre-merge checks and finishing touches

✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title accurately describes the main change: adding CometAPI as an LLM provider. It is concise, clear, and directly reflects the documentation updates in the README.
Linked Issues check ✅ Passed The PR fully addresses the objectives from issue #3690 by documenting CometAPI integration with environment variables, configuration examples, and adding it to the supported LLM providers table.
Out of Scope Changes check ✅ Passed All changes in the PR are directly related to adding CometAPI as an LLM provider per issue #3690. The README updates consistently document the new provider without introducing unrelated modifications.
✨ Finishing touches
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 and usage tips.
ellipsis-dev[bot]
ellipsis-dev bot reviewed 45 minutes ago
Contributor
ellipsis-dev bot
left a comment
Caution

Changes requested ❌

Reviewed everything up to 5203e38 in 2 minutes and 22 seconds. Click for details.
You can customize Ellipsis by changing your verbosity settings, reacting with 👍 or 👎, replying to comments, or adding code review rules.
README.md

Star History

Star History Chart
[
Contributor
@ellipsis-dev
ellipsis-dev bot
45 minutes ago
There's a dangling [ on this line with no closing text or link. This appears to be an unfinished markdown element. Please verify if this was intended or if there is a typographical error.
@SoulSniper1212 Reply...
coderabbitai[bot]
coderabbitai bot reviewed 45 minutes ago
Contributor
coderabbitai bot
left a comment
Actionable comments posted: 1

📜 Review details
README.md
| Gemini | Gemini 2.5 Pro and flash, Gemini 2.0 |
| Ollama | Run any locally hosted model via Ollama |
| OpenRouter | Access models through OpenRouter |
| CometAPI | 500+ models via CometAPI |
Contributor
@coderabbitai
coderabbitai bot
45 minutes ago
⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain
CometAPI documentation added to README without corresponding backend implementation.

Verification reveals a critical issue: The documentation (lines 427, 497-506 in README.md) describes CometAPI as a fully supported LLM provider with environment variables and configuration options, but the backend implementation is completely absent from the codebase.

Evidence:

OpenRouter (documented similarly) has complete implementation in config_registry.py (lines 44-55, 1331-1348), api_handler_factory.py (lines 508-510, 869-871), and config.py (line 157: ENABLE_OPENROUTER)
CometAPI has zero implementation: no entries in config registry, no handler factory logic, no ENABLE_COMETAPI in config.py
CometAPI references exist only in README.md
The original review comment's verification requests were justified—they correctly identified that documented environment variables (ENABLE_COMETAPI, COMETAPI_API_KEY, COMETAPI_MODEL, COMETAPI_API_BASE) and LLM provider registration do not exist in the backend code.

Either remove the CometAPI documentation from README pending actual implementation, or implement the full backend support following the OpenRouter integration pattern.
@SoulSniper1212 Reply...
Merge info

Review required
At least 1 approving review is required by reviewers with write access.
1 workflow awaiting approval
This workflow requires approval from a maintainer. Learn more about approving workflows.
pending checks
Frontend Lint and Build
Frontend Lint and BuildExpected — Waiting for status to be reported
Required
Run tests and pre-commit hooks
Run tests and pre-commit hooksExpected — Waiting for status to be reported
Required
successful checks
CodeRabbit
CodeRabbit — Review completed
Merging is blocked
At least 1 approving review is required by reviewers with write access.
Still in progress?
@SoulSniper1212

Add a comment

Comment

Remember, contributions to this repository should follow its contributing guidelines, security policy, and code of conduct.
ProTip! Add comments to specific lines under Files changed.
Reviewers

@ellipsis-dev
ellipsis-dev[bot]

@coderabbitai
coderabbitai[bot]

At least 1 approving review is required to merge this pull request.

Still in progress?
Assignees

No one assigned
Labels

None yet
Projects

None yet
Milestone

No milestone
Development

Successfully merging this pull request may close these issues.

#3690

Notifications
Customize
You’re receiving notifications because you authored the thread.
1 participant

@SoulSniper1212
Allow edits by maintainers
Footer
© 2025 GitHub, Inc.
Footer navigation
Terms
Privacy
Security
Status
Community
Docs
Contact
Manage cookies
Do not share my personal information
feat(llm): Add CometAPI as an LLM provider by SoulSniper1212 · Pull Request #3911 · Skyvern-AI/skyvernn

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 5, 2025

Tip

For best results, initiate chat on the files or code changes.

@SoulSniper1212, it looks like your comment may have been an accidental paste of the GitHub PR page content. You also mentioned @fixodev rather than @coderabbitai.

Could you please clarify what you'd like help with?

In the meantime, I'd like to draw your attention to the critical issue identified in the review: The PR currently only adds CometAPI documentation to the README, but the backend implementation is completely missing. To make CometAPI functional, you'll need to add:

  1. Configuration entries in config.py (e.g., ENABLE_COMETAPI, COMETAPI_API_KEY, etc.)
  2. Provider registration in config_registry.py
  3. Handler logic in api_handler_factory.py

You can reference the existing OpenRouter implementation as a pattern to follow. Would you like me to help you plan these code changes?

@SoulSniper1212
Copy link
Author

@coderabbitai can you fix it

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 5, 2025

Tip

For best results, initiate chat on the files or code changes.

Caution

The CodeRabbit agent failed during execution: Clone operation failed

@SoulSniper1212 SoulSniper1212 force-pushed the fix-issue-3690-request-add-cometapi-as-an-llm-provider-option branch from 5203e38 to 2072f74 Compare November 5, 2025 14:48
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (1)
README.md (1)

417-417: Hyphenate compound adjective: "high-level overview".

Per English grammar conventions, compound adjectives preceding nouns should be hyphenated.

Apply this diff:

-If you want to chat with the skyvern repository to get a high level overview of how it is structured, how to build off it, and how to resolve usage questions, check out [Code Sage](https://sage.storia.ai?utm_source=github&utm_medium=referral&utm_campaign=skyvern-readme).
+If you want to chat with the skyvern repository to get a high-level overview of how it is structured, how to build off it, and how to resolve usage questions, check out [Code Sage](https://sage.storia.ai?utm_source=github&utm_medium=referral&utm_campaign=skyvern-readme).
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 5203e38 and 2072f74.

📒 Files selected for processing (2)
  • README.md (9 hunks)
  • docker-compose.yml (2 hunks)
✅ Files skipped from review due to trivial changes (1)
  • docker-compose.yml
🧰 Additional context used
🧠 Learnings (2)
📚 Learning: 2025-09-30T21:21:05.674Z
Learnt from: CR
Repo: Skyvern-AI/skyvern PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-09-30T21:21:05.674Z
Learning: Applies to skyvern/**/*.py : Type-check Python code in the skyvern/ package with mypy

Applied to files:

  • README.md
📚 Learning: 2025-10-13T15:41:41.294Z
Learnt from: Valeran86
Repo: Skyvern-AI/skyvern PR: 3534
File: .env.example:128-132
Timestamp: 2025-10-13T15:41:41.294Z
Learning: For Skyvern's Bitwarden CLI server integration, port 8002 is the desired default port for the local Vaultwarden setup, not 11001. This applies to BITWARDEN_SERVER_PORT configuration in .env.example, docker-compose.yml, skyvern/config.py, and related documentation.

Applied to files:

  • README.md
🪛 LanguageTool
README.md

[style] ~101-~101: In American English, abbreviations like “etc.” require a period.
Context: ...first time run (db setup, db migrations etc). skyvern quickstart ### 3. Run tas...

(ETC_PERIOD)


[style] ~147-~147: Consider a more concise word here.
Context: ...rowser using the default user_data_dir. In order to use your browser data, Skyvern copies y...

(IN_ORDER_TO_PREMIUM)


[grammar] ~417-~417: Use a hyphen to join words.
Context: ...ith the skyvern repository to get a high level overview of how it is structured, ...

(QB_NEW_EN_HYPHEN)

🪛 markdownlint-cli2 (0.18.1)
README.md

117-117: Bare URL used

(MD034, no-bare-urls)


128-128: Bare URL used

(MD034, no-bare-urls)


169-169: Multiple headings with the same content

(MD024, no-duplicate-heading)


176-176: Heading levels should only increment by one level at a time
Expected: h2; Actual: h3

(MD001, heading-increment)

🔇 Additional comments (1)
README.md (1)

429-429: Original review comment is incorrect—CometAPI backend implementation is complete.

The review claims no backend exists, but verification confirms the full OpenAI-compatible infrastructure is implemented and functional:

  • config.py (lines 167, 182–191): ENABLE_OPENAI_COMPATIBLE and all OPENAI_COMPATIBLE_* environment variables defined
  • config_registry.py (lines 1392–1428): Complete registration and initialization logic
  • cli/llm_setup.py: CLI setup support for environment variables
  • docker-compose.yml & README.md: Accurate documentation with working examples

CometAPI correctly uses the generic OPENAI_COMPATIBLE pattern rather than requiring provider-specific entries like ENABLE_COMETAPI. All documented environment variables in README.md (lines 501–512) are properly implemented in config.py. Documentation is accurate and complete.

Minor grammar issue: Lines 417 and 548 use "high level" (should be "high-level" when used as an adjective).

Likely an incorrect or invalid review comment.

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.

Request: Add CometAPI as an LLM provider option

1 participant