Documentation
¶
Index ¶
- Constants
- func CanTransitionFlow(from, to FlowState) bool
- func CanTransitionPhase(from, to Phase) bool
- func NextSkeletonArc(volumes []VolumeOutline, afterVol, afterArc int) (vol, arc int)
- func ShouldArcReview(isArcEnd, isVolumeEnd bool, volume, arc int) (bool, string)
- func ShouldReview(completedCount int) (bool, string)
- func TotalChapters(volumes []VolumeOutline) int
- func ValidateFlowTransition(from, to FlowState) error
- func ValidatePhaseTransition(from, to Phase) error
- func WordCount(content string) int
- type ArcOutline
- type ArcSummary
- type ChapterPlan
- type ChapterSummary
- type Character
- type CharacterSnapshot
- type CharacterVoice
- type CommitResult
- type ConsistencyIssue
- type ContextProfile
- type DimensionScore
- type FlowState
- type ForeshadowEntry
- type ForeshadowUpdate
- type Novel
- type OutlineEntry
- type OutlineFeedback
- type Phase
- type PlanningTier
- type Progress
- type RelatedChapter
- type RelationshipEntry
- type ReviewEntry
- type RunMeta
- type StateChange
- type SteerEntry
- type StoryCompass
- type TimelineEvent
- type VolumeOutline
- type VolumeSummary
- type WorldRule
- type WritingStyleRules
Constants ¶
const ReviewInterval = 5
ReviewInterval 全局审阅间隔(每 N 章触发一次)。
Variables ¶
This section is empty.
Functions ¶
func CanTransitionFlow ¶ added in v0.0.2
CanTransitionFlow 判断 FlowState 是否允许迁移。
func CanTransitionPhase ¶ added in v0.0.2
CanTransitionPhase 判断 Phase 是否允许迁移。 规则保持简单:允许同态迁移、允许前进,不允许回退。
func NextSkeletonArc ¶ added in v0.0.2
func NextSkeletonArc(volumes []VolumeOutline, afterVol, afterArc int) (vol, arc int)
NextSkeletonArc 从指定卷/弧之后查找下一个未展开的骨架弧。 未找到返回 (0, 0)。
func ShouldArcReview ¶
ShouldArcReview 长篇模式下判断是否需要弧级/卷级评审。
func ShouldReview ¶
ShouldReview 根据已完成章节数判断是否需要全局审阅(短篇/中篇模式)。
func TotalChapters ¶
func TotalChapters(volumes []VolumeOutline) int
TotalChapters 计算分层大纲的总章节数。 展开弧用实际章节数,骨架弧用弧级 EstimatedChapters。
func ValidateFlowTransition ¶ added in v0.0.2
ValidateFlowTransition 校验 FlowState 迁移是否合法。
func ValidatePhaseTransition ¶ added in v0.0.2
ValidatePhaseTransition 校验 Phase 迁移是否合法。
Types ¶
type ArcOutline ¶
type ArcOutline struct {
Index int `json:"index"` // 卷内弧序号
Title string `json:"title"`
Goal string `json:"goal"` // 弧目标(起承转合)
EstimatedChapters int `json:"estimated_chapters,omitempty"` // 骨架弧的预估章数(展开后清零)
Chapters []OutlineEntry `json:"chapters"`
}
ArcOutline 弧级大纲。
func (*ArcOutline) IsExpanded ¶ added in v0.0.2
func (a *ArcOutline) IsExpanded() bool
IsExpanded 判断弧是否已展开(有详细章节)。
type ArcSummary ¶
type ArcSummary struct {
Volume int `json:"volume"`
Arc int `json:"arc"`
Title string `json:"title"`
Summary string `json:"summary"`
KeyEvents []string `json:"key_events"`
}
ArcSummary 弧级摘要,弧结束时由 Editor 生成。
type ChapterPlan ¶
type ChapterPlan struct {
Chapter int `json:"chapter"`
Title string `json:"title"`
Goal string `json:"goal"`
Conflict string `json:"conflict"`
Hook string `json:"hook"`
EmotionArc string `json:"emotion_arc,omitempty"`
Notes string `json:"notes,omitempty"` // Agent 的自由备忘
}
ChapterPlan 章节写作构思,Writer 自主生成。 不再强制场景拆分,Agent 自己决定如何组织内容。
type ChapterSummary ¶
type ChapterSummary struct {
Chapter int `json:"chapter"`
Summary string `json:"summary"`
Characters []string `json:"characters"`
KeyEvents []string `json:"key_events"`
}
ChapterSummary 章节摘要,供后续章节的上下文窗口使用。
type Character ¶
type Character struct {
Name string `json:"name"`
Aliases []string `json:"aliases,omitempty"` // 别名/称号/绰号(如"废物少年"、"炎哥")
Role string `json:"role"`
Description string `json:"description"`
Arc string `json:"arc"`
Traits []string `json:"traits"`
Tier string `json:"tier,omitempty"` // core / important / secondary / decorative(默认 important)
}
Character 角色档案。
type CharacterSnapshot ¶
type CharacterSnapshot struct {
Volume int `json:"volume"`
Arc int `json:"arc"`
Name string `json:"name"`
Status string `json:"status"`
Power string `json:"power,omitempty"`
Motivation string `json:"motivation"`
Relations string `json:"relations,omitempty"`
}
CharacterSnapshot 角色状态快照,弧边界时记录。
type CharacterVoice ¶ added in v0.0.2
type CharacterVoice struct {
Name string `json:"name"`
Rules []string `json:"rules"` // 2-3 条语言特征规则,每条 ≤30 字
}
CharacterVoice 单个角色的对话风格规则。
type CommitResult ¶
type CommitResult struct {
Chapter int `json:"chapter"`
Committed bool `json:"committed"`
WordCount int `json:"word_count"`
NextChapter int `json:"next_chapter"`
ReviewRequired bool `json:"review_required"`
ReviewReason string `json:"review_reason,omitempty"`
HookType string `json:"hook_type,omitempty"`
DominantStrand string `json:"dominant_strand,omitempty"`
Feedback *OutlineFeedback `json:"feedback,omitempty"`
// 长篇分层信号
ArcEnd bool `json:"arc_end,omitempty"`
VolumeEnd bool `json:"volume_end,omitempty"`
Volume int `json:"volume,omitempty"`
Arc int `json:"arc,omitempty"`
NeedsExpansion bool `json:"needs_expansion,omitempty"` // 下一弧是骨架,需要展开章节
NeedsNewVolume bool `json:"needs_new_volume,omitempty"` // 需要 Architect 创建下一卷
NextVolume int `json:"next_volume,omitempty"` // 下一弧/卷序号
NextArc int `json:"next_arc,omitempty"` // 下一弧序号
}
CommitResult 是 commit_chapter 工具的结构化返回值。 宿主程序和 Coordinator 读取此信号做控制决策。
type ConsistencyIssue ¶
type ConsistencyIssue struct {
Type string `json:"type"` // consistency / character / pacing / continuity / foreshadow / hook
Severity string `json:"severity"` // critical / error / warning
Description string `json:"description"`
Suggestion string `json:"suggestion,omitempty"`
}
ConsistencyIssue 一致性问题。
type ContextProfile ¶
type ContextProfile struct {
SummaryWindow int // 加载最近 N 章摘要
TimelineWindow int // 加载最近 N 章时间线
Layered bool // true = 启用分层摘要加载(卷摘要+弧摘要+章摘要)
}
ContextProfile 上下文加载策略,根据总章节数自适应。
func NewContextProfile ¶
func NewContextProfile(totalChapters int) ContextProfile
NewContextProfile 根据总章节数计算上下文策略。
type DimensionScore ¶
type DimensionScore struct {
Dimension string `json:"dimension"` // consistency / character / pacing / continuity / foreshadow / hook
Score int `json:"score"` // 0-100
Verdict string `json:"verdict"` // pass / warning / fail
Comment string `json:"comment,omitempty"` // 该维度的简要结论
}
DimensionScore 单维度评审评分。
type ForeshadowEntry ¶
type ForeshadowEntry struct {
ID string `json:"id"`
Description string `json:"description"`
PlantedAt int `json:"planted_at"`
Status string `json:"status"` // planted / advanced / resolved
ResolvedAt int `json:"resolved_at,omitempty"`
}
ForeshadowEntry 伏笔条目。
type ForeshadowUpdate ¶
type ForeshadowUpdate struct {
ID string `json:"id"`
Action string `json:"action"` // plant / advance / resolve
Description string `json:"description,omitempty"`
}
ForeshadowUpdate 伏笔增量操作。
type OutlineEntry ¶
type OutlineEntry struct {
Chapter int `json:"chapter"`
Title string `json:"title"`
CoreEvent string `json:"core_event"`
Hook string `json:"hook"`
Scenes []string `json:"scenes"`
}
OutlineEntry 大纲条目,对应一章。
func FlattenOutline ¶
func FlattenOutline(volumes []VolumeOutline) []OutlineEntry
FlattenOutline 将分层大纲展开为扁平章节列表,保持全局章节号连续。
type OutlineFeedback ¶
type OutlineFeedback struct {
Deviation string `json:"deviation"` // 偏离描述
Suggestion string `json:"suggestion"` // 调整建议
}
OutlineFeedback Writer 对大纲的反馈,提交章节时可选。
type PlanningTier ¶
type PlanningTier string
PlanningTier 表示作品规划的长度级别。
const ( PlanningTierShort PlanningTier = "short" PlanningTierMid PlanningTier = "mid" PlanningTierLong PlanningTier = "long" )
type Progress ¶
type Progress struct {
NovelName string `json:"novel_name"`
Phase Phase `json:"phase"`
CurrentChapter int `json:"current_chapter"`
TotalChapters int `json:"total_chapters"`
CompletedChapters []int `json:"completed_chapters"`
TotalWordCount int `json:"total_word_count"`
ChapterWordCounts map[int]int `json:"chapter_word_counts,omitempty"` // 每章字数,支持重写时修正总字数
InProgressChapter int `json:"in_progress_chapter,omitempty"` // 正在写作的章节(场景级恢复)
CompletedScenes []int `json:"completed_scenes,omitempty"` // 当前章节已完成的场景编号
Flow FlowState `json:"flow,omitempty"` // 当前流程
PendingRewrites []int `json:"pending_rewrites,omitempty"` // 待重写章节队列
RewriteReason string `json:"rewrite_reason,omitempty"` // 重写原因
StrandHistory []string `json:"strand_history,omitempty"` // 按章节顺序记录 dominant_strand
HookHistory []string `json:"hook_history,omitempty"` // 按章节顺序记录 hook_type
// 长篇分层追踪(仅长篇模式使用,短篇/中篇为零值)
CurrentVolume int `json:"current_volume,omitempty"`
CurrentArc int `json:"current_arc,omitempty"`
Layered bool `json:"layered,omitempty"`
}
Progress 进度追踪,持久化到 meta/progress.json。
type RelatedChapter ¶ added in v0.0.2
RelatedChapter 推荐回读的相关章节。
type RelationshipEntry ¶
type RelationshipEntry struct {
CharacterA string `json:"character_a"`
CharacterB string `json:"character_b"`
Relation string `json:"relation"`
Chapter int `json:"chapter"`
}
RelationshipEntry 人物关系条目。
type ReviewEntry ¶
type ReviewEntry struct {
Chapter int `json:"chapter"`
Scope string `json:"scope"` // chapter / global / arc
Issues []ConsistencyIssue `json:"issues"`
Dimensions []DimensionScore `json:"dimensions,omitempty"` // 分维度评分
Verdict string `json:"verdict"` // accept / polish / rewrite
Summary string `json:"summary"`
AffectedChapters []int `json:"affected_chapters,omitempty"` // 需要重写/打磨的章节号
}
ReviewEntry Editor 的审阅条目。
func (*ReviewEntry) CriticalCount ¶
func (r *ReviewEntry) CriticalCount() int
CriticalCount 返回 critical 级别问题数量。
type RunMeta ¶
type RunMeta struct {
StartedAt string `json:"started_at"`
Provider string `json:"provider,omitempty"`
Style string `json:"style"`
Model string `json:"model"`
PlanningTier PlanningTier `json:"planning_tier,omitempty"`
SteerHistory []SteerEntry `json:"steer_history,omitempty"`
PendingSteer string `json:"pending_steer,omitempty"` // 未完成的 Steer 指令,中断恢复时重新注入
}
RunMeta 运行元信息,持久化到 meta/run.json。
type StateChange ¶
type StateChange struct {
Chapter int `json:"chapter"`
Entity string `json:"entity"` // 角色名或实体名
Field string `json:"field"` // 变化属性:realm/location/status/power/relation 等
OldValue string `json:"old_value,omitempty"` // 变化前(首次出现可空)
NewValue string `json:"new_value"` // 变化后
Reason string `json:"reason,omitempty"` // 变化原因
}
StateChange 角色/实体状态变化记录。
type SteerEntry ¶
SteerEntry 用户干预记录。
type StoryCompass ¶ added in v0.0.2
type StoryCompass struct {
EndingDirection string `json:"ending_direction"` // 终局方向(主题性描述)
OpenThreads []string `json:"open_threads,omitempty"` // 活跃长线(需收束才能结局)
EstimatedScale string `json:"estimated_scale,omitempty"` // 模糊规模(如"预计 4-6 卷")
LastUpdated int `json:"last_updated,omitempty"` // 更新时的已完成章节数
}
StoryCompass 终局方向指南针,替代固定的骨架卷列表。 Architect 在每次卷边界时可更新,允许故事方向随创作演化。
type TimelineEvent ¶
type TimelineEvent struct {
Chapter int `json:"chapter"`
Time string `json:"time"`
Event string `json:"event"`
Characters []string `json:"characters,omitempty"`
}
TimelineEvent 时间线事件。
type VolumeOutline ¶
type VolumeOutline struct {
Index int `json:"index"`
Title string `json:"title"`
Theme string `json:"theme"` // 本卷核心冲突/主题
Final bool `json:"final,omitempty"` // 标记为最终卷
Arcs []ArcOutline `json:"arcs"`
}
VolumeOutline 卷级大纲(长篇分层模式)。
func (*VolumeOutline) IsExpanded ¶ added in v0.0.2
func (v *VolumeOutline) IsExpanded() bool
IsExpanded 判断卷是否已展开(有弧级结构)。
type VolumeSummary ¶
type VolumeSummary struct {
Volume int `json:"volume"`
Title string `json:"title"`
Summary string `json:"summary"`
KeyEvents []string `json:"key_events"`
}
VolumeSummary 卷级摘要,卷结束时生成。
type WorldRule ¶
type WorldRule struct {
Category string `json:"category"` // magic / technology / geography / society / other
Rule string `json:"rule"` // 规则描述
Boundary string `json:"boundary"` // 不可违反的边界
}
WorldRule 世界观规则条目。
type WritingStyleRules ¶ added in v0.0.2
type WritingStyleRules struct {
Volume int `json:"volume"`
Arc int `json:"arc"`
Prose []string `json:"prose"` // 3-5 条叙述风格规则,每条 ≤50 字
Dialogue []CharacterVoice `json:"dialogue"` // 角色对话风格规则
Taboos []string `json:"taboos"` // 禁忌清单
UpdatedAt string `json:"updated_at"` // ISO8601 时间戳
}
WritingStyleRules 从已写章节中提炼的写作规则,弧边界时由 Editor 生成。 取代原文片段(style_anchors / voice_samples),用规则替代搬运原文。