后端: 1.把最后一块拼图:schedule_refine也搬迁到了agent2,此时agent已经完全解耦。但是它没融入新架构,Codex只尝试把它调整了一部分,回退了一些错误的更改,保持着现在的可运行状态。下次继续改。 2.agent目录先保留,直到refine彻底融入新架构。 3.改善Codex主导的新史山结构:node文件夹里面大量文件,转而改成了module.go+module_tool.go的双文件格局,极大提升架构整洁度和代码可读性。 前端: 1.新开了日历界面,正在保持往前推进。做了很多更改,感觉越来越好了。
54 lines
1.9 KiB
Go
54 lines
1.9 KiB
Go
package schedulerefine
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/cloudwego/eino-ext/components/model/ark"
|
|
)
|
|
|
|
// scheduleRefineRunner 是“单次图运行”的请求级依赖容器。
|
|
//
|
|
// 职责边界:
|
|
// 1. 负责收口模型与阶段回调,避免 graph.go 出现大量闭包;
|
|
// 2. 负责把节点函数适配为统一签名;
|
|
// 3. 不负责分支决策(当前链路为线性图)。
|
|
type scheduleRefineRunner struct {
|
|
chatModel *ark.ChatModel
|
|
emitStage func(stage, detail string)
|
|
}
|
|
|
|
func newScheduleRefineRunner(chatModel *ark.ChatModel, emitStage func(stage, detail string)) *scheduleRefineRunner {
|
|
return &scheduleRefineRunner{
|
|
chatModel: chatModel,
|
|
emitStage: emitStage,
|
|
}
|
|
}
|
|
|
|
func (r *scheduleRefineRunner) contractNode(ctx context.Context, st *ScheduleRefineState) (*ScheduleRefineState, error) {
|
|
return runContractNode(ctx, r.chatModel, st, r.emitStage)
|
|
}
|
|
|
|
func (r *scheduleRefineRunner) planNode(ctx context.Context, st *ScheduleRefineState) (*ScheduleRefineState, error) {
|
|
return runPlanNode(ctx, r.chatModel, st, r.emitStage)
|
|
}
|
|
|
|
func (r *scheduleRefineRunner) sliceNode(ctx context.Context, st *ScheduleRefineState) (*ScheduleRefineState, error) {
|
|
return runSliceNode(ctx, st, r.emitStage)
|
|
}
|
|
|
|
func (r *scheduleRefineRunner) routeNode(ctx context.Context, st *ScheduleRefineState) (*ScheduleRefineState, error) {
|
|
return runCompositeRouteNode(ctx, st, r.emitStage)
|
|
}
|
|
|
|
func (r *scheduleRefineRunner) reactNode(ctx context.Context, st *ScheduleRefineState) (*ScheduleRefineState, error) {
|
|
return runReactLoopNode(ctx, r.chatModel, st, r.emitStage)
|
|
}
|
|
|
|
func (r *scheduleRefineRunner) hardCheckNode(ctx context.Context, st *ScheduleRefineState) (*ScheduleRefineState, error) {
|
|
return runHardCheckNode(ctx, r.chatModel, st, r.emitStage)
|
|
}
|
|
|
|
func (r *scheduleRefineRunner) summaryNode(ctx context.Context, st *ScheduleRefineState) (*ScheduleRefineState, error) {
|
|
return runSummaryNode(ctx, r.chatModel, st, r.emitStage)
|
|
}
|