Skip to content

feat(agent): add custom Jev model ID setting - #66

Merged
moonrailgun merged 4 commits into
mainfrom
jev-custom-modelid
Oct 12, 2026
Merged

moonrailgun merged 4 commits into
mainfrom
jev-custom-modelid

Conversation

@moonrailgun

@moonrailgun moonrailgun commented Oct 11, 2026 •

Copy link
Copy Markdown
Contributor

Background

The experimental Jev plugin always used the default jev-latest model. Users need a simple way to point Jev Agent and MCP browser tasks at a specific compatible model without changing the main Agent model.

Changes

  • Add an optional Jev model ID field to Agent settings.
  • Persist the custom model ID with the Jev plugin settings.
  • Trim model IDs before requests and fall back to jev-latest when the field is blank.
  • Include model changes in plugin revision tracking so pending requests are cancelled when configuration changes.
  • Update feature docs, checklist, and changelog entries.

Testing

Patch includes updates to jev.test.ts, settings_redesign_contract.test.ts, and scripts/checks/jev-plugin.mjs covering the model field, persistence, request payloads, fallback behavior, and cancellation on model changes.

Summary by CodeRabbit

  • New Features
    • Configure a custom model ID for the experimental Jev plugin in Agent settings. The value is trimmed before use; leaving it blank or entering only whitespace uses the default model, jev-latest.
    • Manage Agent configuration, tools, memory, workspace, and usage from the Agent settings page.
  • Bug Fixes
    • Changing the Jev model while a request is in progress cancels that request, preventing it from continuing with outdated settings.

@coderabbitai

coderabbitai Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 48 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Repository: msgbyte/dao-browser/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 1f6aba19-d6af-4794-b5ff-2c81e82513b3

📥 Commits

Reviewing files that changed from the base of the PR and between beaf3c5 and 0594356.


📒 Files selected for processing (3)
  • .github/workflows/fast-checks.yml
  • docs/changelog/en.md
  • docs/changelog/zh-CN.md

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository: msgbyte/dao-browser/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 5d75b536-0ea9-4c5a-9b28-336edef26e38

📥 Commits

Reviewing files that changed from the base of the PR and between 262901a and beaf3c5.


📒 Files selected for processing (5)
  • docs/changelog/en.md
  • docs/changelog/zh-CN.md
  • docs/feature-checklist.md
  • scripts/commands/__tests__/release.test.ts
  • scripts/commands/__tests__/windows_development.test.ts

🚧 Files skipped from review as they are similar to previous changes (2)
  • docs/changelog/zh-CN.md
  • docs/changelog/en.md

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.



📝 Walkthrough
📝 Walkthrough

Walkthrough

The Jev plugin now exposes a configurable model ID in Agent settings. Jev requests use the trimmed value or jev-latest when it is blank. Release and Windows build-argument test fixtures also change.

Changes

Jev model setting

Layer / File(s) Summary
Expose the model setting in Agent settings
src/dao/browser/agent/dao_agent_plugins.h, src/dao/browser/ui/webui/resources/agent/*, src/patches/chrome/browser/resources/settings/dao_page/dao_agent_page.*.patch, src/patches/chrome/browser/resources/settings/dao_page/dao_agent_settings_browser_proxy.ts.patch, scripts/commands/__tests__/settings_redesign_contract.test.ts
Plugin metadata and Agent settings expose the model setting key, default, and editable value. Plugin rows include the configured model. Contract tests check the optional model field and search implementation.
Use the configured model in Jev requests
src/dao/browser/automation/dao_jev_task.cc, src/dao/browser/ui/webui/resources/agent/__tests__/jev.test.ts, scripts/checks/jev-plugin.mjs
Jev requests use the trimmed configured model or the default model when the value is blank. Integration checks cover persistence, fallback values, request models, and cancellation when the model changes during a pending request.
Document Jev model behavior
docs/features.md, docs/feature-checklist.md, docs/changelog/*
Feature documentation, the checklist, and changelogs describe the configurable model ID, trimming, and jev-latest fallback.

Release and Windows test fixture updates

Layer / File(s) Summary
Set explicit release and Windows test inputs
scripts/commands/__tests__/release.test.ts, scripts/commands/__tests__/windows_development.test.ts, docs/changelog/*
The release test constructs a local date for its fixture. The Windows build-argument test sets the display version to 2.3.4 and expects 2.3.4.0. The changelogs describe these test updates.

Priority: ⬇️ Low

Estimated code review effort: 3 (Moderate) | ~20 minutes

Change: Feature

Sequence Diagram(s)

sequenceDiagram
  participant AgentSettingsPage
  participant PluginSettings
  participant DaoJevTask
  participant JevEndpoint
  AgentSettingsPage->>PluginSettings: Save the configured model ID
  DaoJevTask->>PluginSettings: Read the configured model ID
  DaoJevTask->>JevEndpoint: Send request with trimmed model or default
Loading

Merge Risk: ⚪ Minimal · up to beaf3

The configurable Jev model flows from Agent settings into requests, with a blank-value fallback and cancellation when configuration changes. The updated release and Windows test fixtures match their date and version formatting; no actionable merge risk remains.

Pre-merge checks | Passed 4 | Failed 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 12.50% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 8 functions across 8 files. (3 skipped: 3… Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 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 describes the main change: adding a custom Jev model ID setting for Agent.
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.

Full details: Docstring Coverage

Explanation

Docstring coverage is 12.50% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 8 functions across 8 files. (3 skipped: 3 unsupported.)


✨ Finishing Touches 💡 2
📝 Generate docstrings 💡
  • Commit to this branch
  • Create a new PR

🛠️ Fix failing CI checks 💡
  • Commit to this branch
  • Create a new PR

🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

@moonrailgun
moonrailgun merged commit 5a60ce3 into main Oct 12, 2026
2 checks passed
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