Commit Graph
28 Commits
Author SHA1 Message Date
wyt c55b023df7 fix: support Windows dependency cross-build paths 2026-08-25 15:33:31 +08:00
wyt cd5f78273e feat: refresh desktop agent workflows
Improve agent orchestration, local integrations, persisted result handling, and renderer continuity.\n\nExpand deterministic coverage for packaged resources, recovery paths, and open desktop behavior.
2026-08-25 15:33:30 +08:00
BlueSkyID666 66e9440bb4 Sync Orkas release 1.6.5 2026-08-11 16:21:45 +08:00
wyt 75a847a033 Sync release 1.6.2
Bring the open-source desktop app up to date with the reviewed release_1.6.2 changes while preserving the local/BYO boundary.
2026-07-29 19:46:48 +08:00
YToolbox 0f4f730706 Sync release 1.6.0 desktop updates 2026-07-21 10:49:38 +08:00
wyt 8df73abd9c Repair open-source connector OAuth flow 2026-07-17 00:25:44 +08:00
wyt f8c9fa9a95 feat: expand desktop workflows and runtime safeguards
- add project-task, local-agent, media production, and interactive CLI workflows
- harden IPC, protocol handling, packaging gates, and runtime bootstraps
- improve lazy renderer loading, connector recovery, marketplace resources, and regression coverage
2026-07-16 23:18:56 +08:00
wyt 0f7483d357 Move VideoStudio compose QA into native runtime 2026-07-09 21:02:03 +08:00
wyt 5e39c6998e Update bundled creative agents 2026-07-08 19:41:12 +08:00
wyt bb1e2c0647 Apply release 1.5.0 incremental updates 2026-07-06 14:54:37 +08:00
wyt b6528a0750 Sync release 1.0.5 updates 2026-07-04 20:44:27 +08:00
wyt 03f254be68 Fix OrkasOpen source startup Electron repair 2026-07-04 16:30:53 +08:00
wyt 5864e41f08 Sync release 1.0.5 open-source changes 2026-07-04 15:48:24 +08:00
wyt ac5c5c4fe9 Use package manager for source dependency install 2026-06-24 21:48:16 +08:00
wyt a047f08b2c Sync release 1.0.4 open-source changes 2026-06-24 19:32:25 +08:00
wyt 8ecd50b999 Fix startup runtime checks and dependency audit 2026-06-20 12:32:39 +08:00
wyt f158c27261 Harden bundled runtime tool execution 2026-06-20 00:49:16 +08:00
wyt acb0ced991 Prune packaged runtime by target 2026-06-20 00:46:22 +08:00
wyt 9d04768263 Bundle pinned Python runtime tooling 2026-06-20 00:46:17 +08:00
wyt c6d7348621 Improve runtime tooling, packages, and marketplace flows
Add local agent bridge and package tooling, expand system skills and permission prompts, improve connector and marketplace install flows, refresh project/group chat surfaces, and update desktop packaging support.
2026-06-16 21:05:51 +08:00
wyt 926072194f Sync release updates into OrkasOpen 2026-06-05 14:14:21 +08:00
wyt a0911ac905 feat(reflection orchestrator + window state + signals patch suggester + plan polish)
- Reflection: rename `reflection-trigger` → `reflection-orchestrator`; the
  module now drives the multi-step reflection pipeline (signal aggregation
  → metacognition update → skill patch suggestion) on top of the existing
  startup-batch entry point. Per-agent 48h cooldown preserved.
- Expert signals: patch_suggester surface — the daily `<uid>/local/signals/
  <yyyy-mm-dd>.jsonl` stream feeds a phase-1 critic that proposes skill
  patches; commit lands the extractor + integration tests (no UI yet).
- Window state: persist last window bounds + state across restarts
  (`features/window_state.ts`); restored on createWindow().
- group_chat: more abort / cancel / `MAX_WORKER_TURNS` invariant tests;
  plan rail's failed-step UI hides while in-flight non-empty.
- Marketplace + agents + skills: misc create/install reliability fixes
  (default-installs seed, post-install KB-vector reconcile trigger).
- i18n fallback fixes in PC + iOS shared chat UI.

`features/app_update.ts` + `settings.app_update.*` i18n keys + auto-update
push channel stay stripped from this build.
2026-05-22 11:29:05 +08:00
wyt f1071fd945 feat(chat picker for skills + connectors + agent enabled_connectors + signals polish)
- Chat picker: add skill + connector picker chips next to agent picker; the
  recipient picker now opens a unified surface (commander → agent/skill/
  connector). Skill picker honors `agent.skill_list` three-state; connector
  picker honors `agent.enabled_connectors` (strict — undefined/[] = none).
- agents: `enabled_connectors` field becomes a first-class agent spec entry;
  UI-only (agent-edit LLM never authors it) plumbed through the create modal
  + detail edit form. Loader normalizes to `string[]`.
- Expert signals: extractor + emitter polish (test coverage on the chokepoint
  set; turn_id convention recorded in the daily jsonl payload for downstream
  reflection / patch-suggester pairing).
- group_chat: agent worker visibility slice + dispatch primitive tests
  ensure no actor reads the full `<cid>.jsonl`.
- Various test fixture updates (pin LOCAL_DATA_VERSION expected value;
  connector i18n mock).

`features/feedback.ts`, `ipc/feedback.ts`, `feedback.js`, the
`settings-feedback-*` block, and the `settings.feedback.*` i18n keys remain
absent in this build (no Server-backed feedback upload). The chat picker
itself ships intact since skills + connectors are first-class here.
2026-05-22 11:22:09 +08:00
wyt 3f63dd2437 feat(group_chat plan stability + Japanese locale + reflection + signals)
- Group chat: stabilize plan recovery surfaces (retryStep / skipStep go
  through plan_executor → reconcileAfterStepTransition; retryButton hides
  while state.in_flight non-empty; rail status icons single-sourced in
  `plan-rail.js::STATUS_ICON`).
- Plan-level transient retry only matches network-layer patterns
  (`TRANSIENT_ERR_PATTERNS`); user-initiated aborts must NOT auto-retry.
- Japanese localization: ja.json drops in main + renderer locales (all
  user-visible strings i18n-keyed; renderer subscribes to `i18n-change`).
- Reflection-trigger: per-agent metacognitive reflection — 48h cooldown,
  time-triggered (not per-turn); startup-delayed to keep first-paint snappy.
- Expert signals: `<uid>/local/signals/<yyyy-mm-dd>.jsonl` stream — sole
  writer is `features/expert_signals/emitSignal`; chokepoints at bus.ts
  turn-end / `_enqueueBody` USER_ID / retryStep / skipStep /
  markFormSubmittedAndDispatch / plan_executor.dispatchReady; model-layer
  signals route through `ChatOptions.onSkillAdvertised` / `onSkillInvoked`
  callbacks drained at turn-end (no `import { emitSignal }` from model/).
- Renderer: gate first paint on i18n boot (drop the English→Chinese flash);
  preload synchronously fetches the i18n bundle.
- 5-minute periodic safety-net sync ticker bound to engine lifetime (master
  switch gates it for free) — applied to PC-only sync engine (stripped here).
- review: redact web account URL from logs.

The login flow, account.onChange listener wiring, sync.onDataChanged listener,
relay startup polling, voice ASR proxy handler, and the devtools LLM-call
archive (`archiveLlmCall`) all stay stripped from this build per
strip-rules.json.
2026-05-22 11:21:00 +08:00
wyt 062e5ef882 feat(quality validator + dashboard renderer + output_format tiers + manifest gate)
- Quality validator: persistent ValidationReports per skill / agent surface
  the violation list when a write or marketplace install was rejected; new
  `ipc/quality.ts` exposes the readSkill / readAgent report channels for the
  renderer's detail-panel error UI.
- Renderer: `:::dashboard` fenced directive (`renderDashboard` in
  `modules/utils.js`) lands with ~12 components (Stack / Grid / Card /
  Separator / Metric / Chart / Table / Alert / Timeline / Code / Markdown /
  Image); schema reference for the LLM lives in chat_shared_rules.md.
- Agents: `agent.output_format` three-tier user-facing values (`markdown_only`
  default for new agents → `dashboard` → `artifact`); injected into the worker
  prompt's runtime tail so the cache prefix stays stable for unconstrained
  agents. Legacy `allow_artifacts` / `auto` aliases preserved by the buildHint.
- LOCAL_DATA_VERSION manifest-data-version gate (`features/sync/data_version.ts`):
  PC engine aborts the pass when `manifest.data_version > LOCAL_DATA_VERSION`
  with a sticky `pause_reason = 'version_outdated'`; Server mirrors it on
  commit (50404 `client_outdated`). Both versions bumped to 2 with the
  per-instance `secrets_enc` connectors schema change.
- Manifest stays a Server-mediated atomic CAS commit; OrkasOpen carries the
  classifyPullCandidates 3-way docs in CLAUDE.md but no engine.

Membership/billing renderer UI + per-billing-provider URL minting +
subscription / sync-card grace-banner are intentionally absent (no
account/billing concept in OrkasOpen). connector-meta-tools and quality
validator are not gated; they land identically in both builds.
2026-05-22 11:01:58 +08:00
aiserviceandClaude Opus 4.7 377dd15900 feat(local-agents): support local CLI agents (claude code / codex / openclaw / opencode / hermes)
- Agent spec gets `runtime`. `kind === 'cli'` skips the SkillLoader +
  in-process system-prompt build and routes the worker turn through
  `features/local_agents/runner.ts`, the single child_process.spawn
  entry. SIGTERM → 10s → SIGKILL on cancel.
- New `features/local_agents/` tree: registry / runner / per-run
  jsonl persist / version probe / `which` discovery, plus per-CLI
  backends (ACP for claude/hermes, JSON-line text for openclaw /
  opencode / codex).
- group_chat/bus.ts routes a CLI agent's worker turn into the runner;
  reply still re-enters via `bus.enqueue` (single primitive).
- Agent modal gains a runtime selector + a CLI badge + a missing-CLI
  warning chip on the card; the CLI edit prompt
  (`chat_agent_setup_cli.md`) tells the LLM not to author
  workflow / skills / runtime sub-tags.
- macOS Dock + Cmd-Tab name fix: `app.setName('Orkas')` early in
  main, plus `scripts/ensure-deps.cjs` renames `Electron.app` →
  `Orkas.app` post-install (rename + plist edit + ad-hoc resign +
  lsregister + killall Dock — `setName` alone does NOT change the
  Dock).

The PC build also archives every CLI dispatch into the in-app debug
panel (`devtools.archiveLlmCall`); the open-source build has no debug
panel, so per-run output lands in `local-agent-runs/<runId>/` and
that's the only artifact.

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
2026-05-03 21:07:49 +08:00
aiservice 5f60dc0755 Restore macOS ad-hoc codesign script + pin esbuild arm64 as optional dep 2026-04-29 21:16:04 +08:00
aiservice 7957c1506f Initial version 2026-04-29 20:00:15 +08:00