rsclaw 2026.4.22

AI Agent Engine Compatible with OpenClaw
Documentation
package rsclaw:jimeng;

interface host-browser {
    browser-open: func(url: string) -> result<string, string>;
    browser-snapshot: func() -> result<string, string>;
    browser-click: func(ref-str: string) -> result<string, string>;
    browser-click-at: func(x: u32, y: u32) -> result<string, string>;
    browser-fill: func(ref-str: string, text: string) -> result<string, string>;
    browser-press: func(key: string) -> result<string, string>;
    browser-scroll: func(direction: string, amount: u32) -> result<string, string>;
    browser-eval: func(code: string) -> result<string, string>;
    browser-wait-text: func(text: string, timeout-ms: u32) -> result<string, string>;
    browser-screenshot: func() -> result<string, string>;
    browser-download: func(ref-str: string, filename: string) -> result<string, string>;
    browser-upload: func(ref-str: string, filepath: string) -> result<string, string>;
    browser-get-url: func() -> result<string, string>;
}

interface host-runtime {
    log: func(level: string, msg: string);
    sleep: func(ms: u32);
    read-file: func(path: string) -> result<string, string>;
    /// Send a progress/notification message to the user during long operations.
    notify: func(message: string) -> result<string, string>;
}

interface plugin-api {
    get-manifest: func() -> string;
    handle-tool: func(tool-name: string, args-json: string) -> result<string, string>;
}

world jimeng-plugin {
    import host-browser;
    import host-runtime;
    export plugin-api;
}