diff --git a/docs/lifecycle/lifecycle.md b/docs/lifecycle/lifecycle.md index f298a6094..e666176f5 100644 --- a/docs/lifecycle/lifecycle.md +++ b/docs/lifecycle/lifecycle.md @@ -5,3 +5,12 @@ nav_order: 4 has_children: true permalink: /lifecycle --- + +# Lifecycle + +Shire 的生命周期是围绕 IDE 与 LLM 生成过程所设计的。Shire 的生命周期包括: + +- When: 决定是否在 UI 中展示 Shire 指令。 +- onStreaming:在 Streaming 过程中对生成的内容进行处理。(TBD) +- onStreamingDone:在 Streaming 完成后通过一系列的后处理器对生成的内容进行处理。 +- afterStreaming:在 Streaming 完成后,根据条件执行后续操作,诸如执行新的 Shire 指令、调用其它工具等等。 diff --git a/docs/lifecycle/on-streaming-done.md b/docs/lifecycle/on-streaming-done.md index 9fdca8b55..a78289545 100644 --- a/docs/lifecycle/on-streaming-done.md +++ b/docs/lifecycle/on-streaming-done.md @@ -5,14 +5,9 @@ parent: Lifecycle nav_order: 3 --- -`onStreamingDone` 即在 Streaming 完成后通过一系列的后处理器对生成的内容进行处理,诸如: +`onStreamingDone` 即在 Streaming 完成后通过一系列的后处理器对生成的内容进行处理。 -- ParseCode,从生成的结果中解析生成的代码块。 -- SaveFile,将保存生成的代码到文件。 -- CodeVerify,检查代码错误或 PSI 问题 -- RunCode,运行生成的代码(取决于是否存在对应的 RunService)。 - -### 示例: +示例: ```shire --- @@ -22,6 +17,17 @@ onStreamingEnd: { parseCode | saveFile | openFile | verifyCode | runCode } 生成一个 python hello world,使用 markdown block 返回 ``` +该代码会调用 LLM 生成一个 python hello world,然后将生成的代码块解析,保存到文件,打开文件,检查代码错误或 PSI 问题,最后运行生成的代码。 + +对应的后处理器有: + +- ParseCode,从生成的结果中解析生成的代码块。 +- SaveFile,将保存生成的代码到文件。 +- OpenFile,打开生成的文件。 +- VerifyCode,检查代码错误或 PSI 问题 +- RunCode,运行生成的代码(取决于是否存在对应的 RunService)。 + + ### 内置 PostHandler 最新版本见源码:com.phodal.shirecore.middleware.BuiltinPostHandler