Skip to content

Commit 49092d4

Browse files
523034406523034406
authored andcommitted
fix: restore workflow and run code panels in Getting Started
- panel-workflow: Python DAG workflow example - panel-run: /soloflow begin/end/propose/generate commands - Both panels were accidentally deleted during earlier regex replacement
1 parent a5557b2 commit 49092d4

1 file changed

Lines changed: 62 additions & 0 deletions

File tree

website/index.html

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -960,6 +960,68 @@ <h2 class="section-title" id="getting-started-title" data-i18n="started.title">U
960960
<span class="code-cmd">hermes</span> skills list | grep soloflow
961961
<span class="code-output"># → soloflow ✓</span></code></pre>
962962
</div>
963+
<div class="code-panel" id="panel-workflow">
964+
<div class="code-header">
965+
<span class="code-dots"><i></i><i></i><i></i></span>
966+
<span class="code-filename">workflow.py</span>
967+
<button class="code-copy" data-copy="workflow" aria-label="Copy to clipboard">
968+
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="9" y="9" width="13" height="13" rx="2"/><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"/></svg>
969+
</button>
970+
</div>
971+
<pre class="code-block"><code class="lang-python"><span class="code-comment"># Create a DAG workflow with parallel branches</span>
972+
<span class="code-keyword">import</span> asyncio
973+
<span class="code-keyword">from</span> pathlib <span class="code-keyword">import</span> Path
974+
<span class="code-keyword">from</span> hermes_plugin.store.sqlite_store <span class="code-keyword">import</span> SQLiteStore
975+
<span class="code-keyword">from</span> hermes_plugin.services.workflow_service <span class="code-keyword">import</span> WorkflowService
976+
<span class="code-keyword">from</span> hermes_plugin.services.scheduler <span class="code-keyword">import</span> Scheduler
977+
978+
<span class="code-keyword">async def</span> <span class="code-func">main</span>():
979+
store = SQLiteStore(Path(<span class="code-string">"soloflow.db"</span>))
980+
store.initialize()
981+
ws = WorkflowService(store)
982+
ws.set_scheduler(Scheduler(store, ws))
983+
984+
<span class="code-comment"># Define workflow with parallel branches</span>
985+
wf = <span class="code-keyword">await</span> ws.create_workflow(
986+
name=<span class="code-string">"research-report"</span>,
987+
description=<span class="code-string">"行业调研报告"</span>,
988+
steps=[
989+
{<span class="code-string">"id"</span>: <span class="code-string">"search_a"</span>, <span class="code-string">"name"</span>: <span class="code-string">"学术搜索"</span>, <span class="code-string">"discipline"</span>: <span class="code-string">"quick"</span>},
990+
{<span class="code-string">"id"</span>: <span class="code-string">"search_b"</span>, <span class="code-string">"name"</span>: <span class="code-string">"行业搜索"</span>, <span class="code-string">"discipline"</span>: <span class="code-string">"quick"</span>},
991+
{<span class="code-string">"id"</span>: <span class="code-string">"merge"</span>, <span class="code-string">"name"</span>: <span class="code-string">"合并分析"</span>, <span class="code-string">"discipline"</span>: <span class="code-string">"deep"</span>},
992+
],
993+
edges=[(<span class="code-string">"search_a"</span>, <span class="code-string">"merge"</span>), (<span class="code-string">"search_b"</span>, <span class="code-string">"merge"</span>)],
994+
)
995+
996+
<span class="code-comment"># Execute with DAG parallelism</span>
997+
<span class="code-keyword">await</span> ws.start_workflow(wf[<span class="code-string">"id"</span>])</code></pre>
998+
</div>
999+
<div class="code-panel" id="panel-run">
1000+
<div class="code-header">
1001+
<span class="code-dots"><i></i><i></i><i></i></span>
1002+
<span class="code-filename">Terminal</span>
1003+
<button class="code-copy" data-copy="run" aria-label="Copy to clipboard">
1004+
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="9" y="9" width="13" height="13" rx="2"/><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"/></svg>
1005+
</button>
1006+
</div>
1007+
<pre class="code-block"><code class="lang-bash"><span class="code-comment"># Mark workflow boundaries</span>
1008+
<span class="code-cmd">/soloflow</span> begin research-report
1009+
1010+
<span class="code-comment"># Perform your steps...</span>
1011+
<span class="code-comment"># SoloFlow watches and aggregates automatically</span>
1012+
1013+
<span class="code-cmd">/soloflow</span> end
1014+
1015+
<span class="code-comment"># Propose a skill from detected pattern</span>
1016+
<span class="code-cmd">/soloflow</span> propose
1017+
1018+
<span class="code-comment"># Generate and install the skill</span>
1019+
<span class="code-cmd">/soloflow</span> generate research-report
1020+
1021+
<span class="code-output"># → Skill installed to ~/.hermes/skills/</span>
1022+
<span class="code-output"># → Run 'hermes skills reload' to activate</span></code></pre>
1023+
</div>
1024+
</div>
9631025
</div>
9641026
</div>
9651027
</section>

0 commit comments

Comments
 (0)