feat: add DeepSeek Harness plugin - #61
Conversation
There was a problem hiding this comment.
💡 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 |
There was a problem hiding this comment.
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) => { |
There was a problem hiding this comment.
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 }) |
There was a problem hiding this comment.
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 👍 / 👎.
No description provided.