Skip to content

feat(ecosystem): add explicit import and undo workflows for external agent content - #2978

Open
kev1n77 wants to merge 1 commit into
GCWing:mainfrom
kev1n77:fmy/compatibility
Open

feat(ecosystem): add explicit import and undo workflows for external agent content#2978
kev1n77 wants to merge 1 commit into
GCWing:mainfrom
kev1n77:fmy/compatibility

Conversation

@kev1n77

@kev1n77 kev1n77 commented Sep 11, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Add reviewed import and undo workflows for external Skills, MCP servers, and supported Hooks, including batch selection, progress, and per-item results.
  • Separate external discovery from native management and Skill execution. Unimported Skills remain discoverable but cannot enter chat suggestions, model catalogs, or Skill tool calls.
  • Preserve Skill import provenance and source parsing behavior, support import aliases, and revoke invocation after undo.
  • Add DeepSeek Harness MCP discovery and improve configuration handling across supported MCP adapters.
  • Improve compatibility dialogs and replace persistent import/undo success banners with notifications that dismiss after 3.2 seconds.

Type and Areas

Type: Feature, bug fix, UI/UX

Areas: Rust core, desktop/Tauri, web UI, external-source adapters, runtime contracts, docs, and locales.

Motivation / Impact

External content discovery previously overlapped with native management and execution. In particular, a Skill could be invoked without being explicitly imported.

Users now review supported content before importing it into OpenBitFun, inspect its source and import status, and undo individual or batch imports. Undo targets the imported native copy while preserving the external source. Old external Skill keys cannot bypass the import boundary.

The compatibility UI also provides clearer operation progress and prevents completed success messages from remaining on screen indefinitely.

Verification

Passed:

  • cargo test --locked -p openbitfun-core --no-default-features --features agent-runtime,git,external-sources --lib agentic::tools::implementations::skill
    — 70 tests passed.
  • cargo test --locked -p openbitfun-agent-runtime --no-default-features --features agent-runtime --test agent_definition_contracts skill_contracts
    — 39 tests passed.
  • pnpm --dir src/web-ui run test:run src/app/scenes/ecosystem-compatibility/ExternalAgentContent.test.tsx
    — 21 tests passed.
  • pnpm run check:web
    — Type checking and appearance/theme governance checks passed.
  • git diff --cached --check
    — Passed before commit.

Coverage includes local import/invocation/undo behavior, legacy Skill metadata, stale source references, and remote-workspace filesystem interface behavior.

Real SSH, remote-control, Peer Device Mode, and Detached Dispatch end-to-end scenarios were not exercised.

Reviewer Notes

  • External discovery remains available independently of native installation.
  • Native Skill ownership is separate from import provenance; imported copies retain the source dialect needed for parsing.
  • Approved plugin Skill contributions retain their existing publication path.
  • Import mutations are gated to supported local desktop contexts; remote and peer contexts expose an explicit unsupported state.
  • Architecture documentation and English, Simplified Chinese, and Traditional Chinese strings are updated.

Checklist

  • This PR is focused and does not include secrets, temporary prompts, generated scratch files, or unrelated artifacts.
  • Relevant verification is recorded above, or skipped checks are explained.
  • User-facing strings, docs, and locales are updated where applicable.

@kev1n77
kev1n77 force-pushed the fmy/compatibility branch 2 times, most recently from ee5a33e to 88d02e6 Compare September 11, 2026 12:06
Separate external discovery from native Skill execution, preserve import provenance, and support reviewed batch import and undo for ecosystem content. Improve source adapters, compatibility dialogs, and transient success notifications.
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