zhoujie 4cde2f7c67 feat(config): 新增全局设置自动保存功能
- 新增图片生成参数自动保存【quality_mode、sd_steps、sd_cfg_scale、sd_negative_prompt】
- 新增自动运营调度参数自动保存【sched_comment_on、sched_like_on、sched_fav_on、sched_reply_on、sched_publish_on】
- 新增智能学习参数自动保存【learn_interval】
- 新增内容排期参数自动保存【queue_gen_count】
- 优化人设切换逻辑,同时保存到配置并更新队列主题池
- 新增页面加载时自动恢复全局设置功能

📝 docs(config): 更新配置管理文档

- 在config_manager.py中新增默认配置项
- 在main.py中实现启动时自动加载全局设置
- 更新配置保存测试脚本_test_config_save.py

📦 build(ui): 优化用户界面交互

- 图片生成参数变更时自动保存到配置
- 自动运营参数变更时自动保存到配置
- 智能学习参数变更时自动保存到配置
- 内容排期参数变更时自动保存到配置
- 修复人设切换时队列主题池未更新的问题

🐛 fix(queue): 修复发布队列图片显示问题

- 在publish_queue.py中新增图片预览功能
- 支持将图片转换为base64编码嵌入markdown显示
- 显示图片文件大小和状态信息
2026-02-24 21:04:33 +08:00

3.9 KiB

name, description, license, compatibility, metadata
name description license compatibility metadata
openspec-archive-change Archive a completed change in the experimental workflow. Use when the user wants to finalize and archive a change after implementation is complete. MIT Requires openspec CLI.
author version generatedBy
openspec 1.0 1.1.1

Archive a completed change in the experimental workflow.

Input: Optionally specify a change name. If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes.

Steps

  1. If no change name provided, prompt for selection

    Run openspec list --json to get available changes. Use the AskUserQuestion tool to let the user select.

    Show only active changes (not already archived). Include the schema used for each change if available.

    IMPORTANT: Do NOT guess or auto-select a change. Always let the user choose.

  2. Check artifact completion status

    Run openspec status --change "<name>" --json to check artifact completion.

    Parse the JSON to understand:

    • schemaName: The workflow being used
    • artifacts: List of artifacts with their status (done or other)

    If any artifacts are not done:

    • Display warning listing incomplete artifacts
    • Use AskUserQuestion tool to confirm user wants to proceed
    • Proceed if user confirms
  3. Check task completion status

    Read the tasks file (typically tasks.md) to check for incomplete tasks.

    Count tasks marked with - [ ] (incomplete) vs - [x] (complete).

    If incomplete tasks found:

    • Display warning showing count of incomplete tasks
    • Use AskUserQuestion tool to confirm user wants to proceed
    • Proceed if user confirms

    If no tasks file exists: Proceed without task-related warning.

  4. Assess delta spec sync state

    Check for delta specs at openspec/changes/<name>/specs/. If none exist, proceed without sync prompt.

    If delta specs exist:

    • Compare each delta spec with its corresponding main spec at openspec/specs/<capability>/spec.md
    • Determine what changes would be applied (adds, modifications, removals, renames)
    • Show a combined summary before prompting

    Prompt options:

    • If changes needed: "Sync now (recommended)", "Archive without syncing"
    • If already synced: "Archive now", "Sync anyway", "Cancel"

    If user chooses sync, execute /opsx:sync logic (use the openspec-sync-specs skill). Proceed to archive regardless of choice.

  5. Perform the archive

    Create the archive directory if it doesn't exist:

    mkdir -p openspec/changes/archive
    

    Generate target name using current date: YYYY-MM-DD-<change-name>

    Check if target already exists:

    • If yes: Fail with error, suggest renaming existing archive or using different date
    • If no: Move the change directory to archive
    mv openspec/changes/<name> openspec/changes/archive/YYYY-MM-DD-<name>
    
  6. Display summary

    Show archive completion summary including:

    • Change name
    • Schema that was used
    • Archive location
    • Whether specs were synced (if applicable)
    • Note about any warnings (incomplete artifacts/tasks)

Output On Success

## Archive Complete

**Change:** <change-name>
**Schema:** <schema-name>
**Archived to:** openspec/changes/archive/YYYY-MM-DD-<name>/
**Specs:** ✓ Synced to main specs (or "No delta specs" or "Sync skipped")

All artifacts complete. All tasks complete.

Guardrails

  • Always prompt for change selection if not provided
  • Use artifact graph (openspec status --json) for completion checking
  • Don't block archive on warnings - just inform and confirm
  • Preserve .openspec.yaml when moving to archive (it moves with the directory)
  • Show clear summary of what happened
  • If sync is requested, use openspec-sync-specs approach (agent-driven)
  • If delta specs exist, always run the sync assessment and show the combined summary before prompting