Skip to content

Comments

feat(import): add OpenClaw import crate, CLI, gateway RPC, and UI#217

Open
penso wants to merge 2 commits intomainfrom
openclaw-import-v2
Open

feat(import): add OpenClaw import crate, CLI, gateway RPC, and UI#217
penso wants to merge 2 commits intomainfrom
openclaw-import-v2

Conversation

@penso
Copy link
Collaborator

@penso penso commented Feb 23, 2026

Summary

  • Add moltis-openclaw-import crate with full import pipeline from OpenClaw configurations (providers, skills, memory, channels, sessions, MCP servers, identity)
  • Add CLI subcommand (moltis import detect|all|select) for headless import
  • Wire RPC methods (openclaw.detect, openclaw.scan, openclaw.import) through gateway
  • Add OpenClaw import step in onboarding wizard and settings page UI
  • 63 unit tests covering all import modules

What it imports

Category Description
Providers API keys from OpenClaw auth profiles → Moltis provider keys
Skills Custom skill directories → ~/.moltis/skills/
Memory MEMORY.md + daily logs → Moltis memory files
Channels Telegram bot configs → Moltis channel settings
Sessions Conversation history → Moltis session format
MCP Servers Server configurations → mcp-servers.json
Identity Agent name + timezone → Moltis config

Files changed

  • New crate: crates/openclaw-import/ (12 source files, 63 tests)
  • CLI: crates/cli/src/import_commands.rs + main.rs wiring
  • Gateway: RPC handlers in methods.rs, service impl in onboarding.rs, startup detection in server.rs
  • Service traits: 3 new methods on OnboardingService trait
  • Web UI: Import step in onboarding wizard, import section in settings page
  • GonData: openclaw_detected flag for conditional UI rendering

Validation

Completed

  • cargo check -p moltis-openclaw-import
  • cargo check -p moltis-gateway
  • cargo test -p moltis-openclaw-import — 63 tests passing
  • Feature-gated behind openclaw-import (enabled by default)
  • Rebased on latest main (including providers crate extraction)

Remaining

  • cargo +nightly-2025-11-30 clippy -Z unstable-options --workspace --all-features --all-targets --timings -- -D warnings
  • cargo +nightly-2025-11-30 fmt --all -- --check
  • E2E tests for onboarding/settings UI

Manual QA

  1. Place an OpenClaw config at ~/.openclaw/config.json5
  2. Run moltis import detect — should show detected categories
  3. Run moltis import all --dry-run — should preview what would be imported
  4. Start Moltis, onboarding wizard should show import step if OpenClaw detected
  5. Settings → OpenClaw Import section should allow selective import

@codspeed-hq
Copy link
Contributor

codspeed-hq bot commented Feb 23, 2026

Merging this PR will degrade performance by 47.04%

❌ 1 regressed benchmark
✅ 38 untouched benchmarks
⏩ 5 skipped benchmarks1

⚠️ Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Benchmark BASE HEAD Efficiency
env_substitution 10.4 µs 19.6 µs -47.04%

Comparing openclaw-import-v2 (0eca320) with main (7eae997)

Open in CodSpeed

Footnotes

  1. 5 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

@penso penso force-pushed the openclaw-import-v2 branch 2 times, most recently from 03d33a0 to 294b4dd Compare February 23, 2026 05:31
@penso penso force-pushed the openclaw-import-v2 branch from 294b4dd to 3c62baa Compare February 23, 2026 05:39
# Conflicts:
#	crates/gateway/Cargo.toml
#	crates/web/ui/e2e/specs/providers.spec.js
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