Migrating pipelines from OpenClaw
OpenClaw pipelines often hardcode absolute paths in prompts and node config. Ripline’s profiles and pipeline inputs let you keep the same pipeline YAML and switch contexts (paths, projects) via profiles and --input without editing the pipeline file.
Why paths are hardcoded in OpenClaw
In OpenClaw, pipelines typically assume a fixed workspace layout and use absolute paths in prompt strings, for example:
prompt: |
Read project states: ls /home/openclaw/.openclaw/workspace/kanban/projects/
Write ideas to: /home/openclaw/.openclaw/workspace/kanban/ideas/Those paths are inside prompt text, not pipeline inputs. Ripline cannot automatically replace them; you migrate by turning them into inputs and then supplying values via profiles or --input.
Step 1 — Extract paths into pipeline inputs
Replace hardcoded paths in prompts (and in node fields like cwd) with template variables that reference run inputs:
# Before
prompt: "Read project states from /home/openclaw/.openclaw/workspace/kanban/projects/"
# After
prompt: "Read project states from {{ run.inputs.projectsPath }}"Do the same for any other path-like values (e.g. ideasPath, memoryPath). If a node uses cwd, you can set:
cwd: "{{ run.inputs.projectRoot }}"The pipeline YAML format (nodes, edges, contracts) is unchanged; you are only parameterising values that used to be literal strings.
Step 2 — Create a profile with those inputs
Define a profile that provides the same paths you had in OpenClaw (or your desired equivalents):
# ~/.ripline/profiles/openclaw-workspace.yaml
name: openclaw-workspace
description: "OpenClaw workspace paths"
inputs:
projectsPath: /home/openclaw/.openclaw/workspace/kanban/projects
ideasPath: /home/openclaw/.openclaw/workspace/kanban/ideas
memoryPath: /home/openclaw/.openclaw/workspace/memory
projectRoot: /home/openclaw/.openclaw/workspace/kanbanUse whatever input keys your pipeline now expects.
Step 3 — Invoke with the profile
Run the pipeline by ID (or path) and pass the profile:
ripline run idea-generation --profile openclaw-workspaceOverride a single value if needed:
ripline run idea-generation --profile openclaw-workspace --input '{"ideasPath": "/tmp/ideas-test/"}'agentId behavior outside OpenClaw
OpenClaw pipelines may set agentId (e.g. vector, nova, writer, main) to choose an OpenClaw agent configuration. When running without OpenClaw (standalone Ripline CLI or HTTP server):
agentIdis passed to the runner but does not change which model or persona is used. The LLM and Claude Code runners use a single configured model; they do not mapagentIdto different agents.- To get different “personas” or instructions, express that in the node’s prompt (and optionally different nodes) rather than relying on
agentId.
So: keep agentId in the YAML for compatibility; outside OpenClaw it effectively acts as a label. Put any persona- or model-specific behavior in the pipeline definition (e.g. prompt text, node structure).
Bypass permissions and isolation
If you use Ripline’s bypass permissions mode (see Agent integration), note that it does not provide the same isolation as OpenClaw’s built-in sandboxing. Use a container or VM when you need isolated execution with bypass enabled.
What stays compatible
- Pipeline YAML format — same node types, edges, contracts, and structure.
- Node types and contracts — input/output schemas and node definitions are unchanged.
- Existing pipelines with hardcoded paths continue to parse and run; migration is opt-in. They will keep using those literal paths until you replace them with inputs and use profiles or
--inputto supply values.