Skip to content

sync: background job runtime, agent/plugin manager plugins, slimmer prompts - #112

Open
Luhaozhu wants to merge 1 commit into
mainfrom
sync/upstream-2026-08
Open

sync: background job runtime, agent/plugin manager plugins, slimmer prompts#112
Luhaozhu wants to merge 1 commit into
mainfrom
sync/upstream-2026-08

Conversation

@Luhaozhu

Copy link
Copy Markdown
Contributor

Syncs the community edition with upstream. 96 files changed (38 new).

Background job runtime

Adds the run_job subsystem so long-running work survives a single reply turn:
jobs / internal_jobs routes, job_service, job_runtime, job_wakeup, the
job_tool agent tool, and the jobs / job_items / job_calls tables via
migration ce_0006_job_runtime.

Jobs run in the background by default. The callback address is probed rather
than hardcoded to the host, orphaned jobs are reaped instead of hanging around,
and timestamps keep their timezone. Progress is surfaced in chat through
JobProgressStrip.

Previously the tool was registered and the prompt described it, but the route,
the model export and the migration were all missing on the CE side, so
submitting a job died on the first callback. All three are wired up here.

Agent manager and plugin manager plugins

Two new marketplace plugins, each backed by its own MCP server, move sub-agent
and plugin management into the conversation: search, install, create, edit,
enable/disable and submit-to-market. Every write is scoped to the calling user
and produces private, self-visible resources only. Each plugin bundles an
authoring skill (agent-designer, plugin-creator).

Prompt and tool-description slimming

Compresses the default system prompt and the code-execution prompt, plus 14 MCP
tool descriptions, to cut the static per-request prefill. Every rule is kept —
the citation section is deliberately left verbatim, since compressing it
measurably degrades anchor placement.

Also corrects two stale claims in the sandbox prompt: the old memory ceiling and
an openpyxl contradiction, and documents $PY_BIN as the interpreter that
actually carries the preinstalled dependencies.

Chat and UI

  • Sidebar chat list supports drag-and-drop ordering, persisted per account, with
    manual order taking precedence over updatedAt.
  • Mobile viewport adaptation: safe areas, iOS zoom behaviour and touch targets.
  • A build-time dark-mode gate so dark styling regressions fail the build.
  • Fixes to tool-state refresh and stream segment handling.

Verification

  • CE derivation gates pass: brand neutralisation, forbidden-artifact, required
    runtime files, LICENSE.
  • CE wiring checked statically: all 43 CE_ROUTERS modules resolve, all 15
    model imports resolve, and the migration chain has a single head.

…rompts

Sync the community edition with upstream. Highlights:

Background job runtime
- Add the `run_job` subsystem: `jobs` / `internal_jobs` routes, `job_service`,
  `job_runtime`, `job_wakeup`, the `job_tool` agent tool and the `jobs` /
  `job_items` / `job_calls` tables (migration `ce_0006_job_runtime`).
- Jobs now run in the background by default; the callback address is probed
  instead of hardcoded, orphaned jobs are reaped, and timestamps keep their
  timezone.
- Surface progress in chat through `JobProgressStrip`.

Agent manager and plugin manager plugins
- Add two marketplace plugins backed by new MCP servers so sub-agents and
  plugins can be searched, installed, created, edited and submitted from the
  conversation itself, each bundling an authoring skill.

Prompt and tool-description slimming
- Compress the default system and code-execution prompts and 14 MCP tool
  descriptions to cut per-request prefill, keeping every rule intact.
- Correct the stale sandbox limits and the openpyxl contradiction, and
  document `$PY_BIN` as the interpreter that carries the dependencies.

Chat and UI
- Support drag-and-drop ordering of the sidebar chat list, persisted per account.
- Adapt to mobile viewports (safe areas, iOS zoom, touch targets) and add a
  build-time dark-mode gate.
- Fix tool-state refresh and stream segment handling.
Luhaozhu pushed a commit that referenced this pull request Aug 17, 2026
sync: background job runtime, agent/plugin manager plugins, slimmer prompts (#113)

Brings the community edition up to date with upstream:

- Background job runtime, wired up on the CE side (routers, model export and the
  ce_0006 migration), with workflow mode carried through the job wake-up round.
- ce_0006 creates its tables conditionally — ce_0001 already builds them via
  ce_create_all, so an unconditional create_table failed every fresh install.
- New agent-manager and plugin-manager marketplace plugins.
- Prompt and tool-schema slimming (~3k tokens of static prefill saved per request).
- Search rate-limit revert, cross-event-loop sandbox session lock fix, sidebar
  drag-to-reorder and a mobile pass.

Supersedes #111 and #112.
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