Skip to content

feat: add DeepSeek Harness plugin - #61

Merged
gofenix merged 1 commit into
mainfrom
feat/deepseek-harness-plugin
Aug 24, 2026
Merged

feat: add DeepSeek Harness plugin#61
gofenix merged 1 commit into
mainfrom
feat/deepseek-harness-plugin

Conversation

@gofenix

@gofenix gofenix commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

No description provided.

@gofenix
gofenix merged commit aadd735 into main Aug 24, 2026
4 checks passed

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ce51b66290

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

job_label="com.coremate.opengui.web.${UID}.$$"
launchctl submit -l "$job_label" -o "$log_path" -e "$log_path" -- \
/usr/bin/env "PATH=${PATH}" "DSH_HOME=${dsh_home}" \
"${dsh_command[@]}" --profile "$profile" --host 127.0.0.1 --port "$port" --no-open

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Invoke the web subcommand when starting DSH

When the installer starts a fresh runtime, this executes dsh --profile ... --host ... without a command, although the documented DSH startup syntax is dsh web (deepseek-harness-plugin/README.md:82 and the integration guide use the same form). The CLI therefore does not start the Web host, and the subsequent 60-second readiness loop fails, making the default beginner installation path report an error after the package was installed successfully; insert web before the Web-specific flags.

Useful? React with 👍 / 👎.

}
return startRun(signal)
})
const browserTasks = new CoremateTaskCoordinator(async (task, parent, signal, presentation, requestedOptions) => {

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Share one admission lease across all task coordinators

Because browserTasks, phoneTasks, and commandTasks are independent coordinators, each only checks its own active field. Calls from different sessions can therefore start phone_agent and browser_agent concurrently, and an unrelated direct delegation can occupy a child coordinator while /opengui is routing, causing either concurrent device/browser side effects or a nested delegation to fail with “another OpenGUI task is already running.” Use one plugin-level root-task lease while allowing only children owned by that root task to enter these coordinators.

Useful? React with 👍 / 👎.

isConcurrencySafe: () => false,
async execute(args, exec) {
if (exec.agent === undefined) throw new Error('coremate-mobile: phone_agent requires a calling agent')
const result = await phoneTasks.run(args.task, exec.agent, exec.signal, { nestedUnderCallId: exec.callId })

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Honor dedicated routing for direct delegation tools

When a normal conversation invokes the exposed phone_agent directly, this call supplies no agentOptions, so phoneTasks unconditionally falls back to inheritedAgentOptions(parent.options) even when modelStrategy is dedicated; browser_agent has the same omission at line 979. Thus an explicitly configured visual fallback is ignored outside /opengui, and a text-only receiving model is sent screenshot/tool requests and fails instead of using the configured route. Resolve and pass the configured routing decision for direct tool entry points as well.

Useful? React with 👍 / 👎.

@HarveySang
HarveySang deleted the feat/deepseek-harness-plugin branch August 24, 2026 15:12
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