Skip to content

[Feature]: 集中管理 PromptHub 生成的 Agent 配置备份和适配文件 #203

Description

@legeling

Feature Description

建议将 PromptHub 产生的所有辅助文件 统一集中到 PromptHub 自己的数据目录中管理,不要默认散落在各个 Agent 的配置目录或项目目录里。

目前每次修改配置似乎都会产生新的备份/适配文件。例如截图中 OpenCode 配置目录里出现了:

opencode.json
opencode.json.prompthub-mcp-...
opencode.json.prompthub-mcp-...

当每次编辑或同步都生成一个备份时,时间久了会在 Agent 配置目录中留下大量文件。用户还希望 PromptHub 产生的文件不要写入项目目录,避免污染项目、误提交到 Git 或影响其他工具。

Motivation

  • Agent 配置目录应尽量保持为 Agent 自己的配置;
  • 项目目录不应被 PromptHub 的备份、历史副本和临时文件污染;
  • 多个智能体、多项目和频繁修改会导致备份文件数量快速增长;
  • 集中管理便于备份、清理、迁移、查看历史和设置保留策略;
  • 用户更容易区分“原始配置”和“PromptHub 管理的数据”。

Proposed Solution

  1. 增加独立的 PromptHub 数据目录,用于集中保存:
    • Agent 配置备份;
    • MCP 适配/生成文件;
    • 配置历史版本;
    • 临时文件和迁移记录;
    • 其他由 PromptHub 自动产生的辅助文件。
  2. 目录位置默认使用 PromptHub 的应用数据目录,并允许用户在设置中查看和修改;不要默认使用 Agent 配置目录或项目目录。
  3. 按智能体、作用域和项目进行隔离,例如:
    • Agent 类型;
    • 全局/项目级;
    • 项目标识;
    • 配置名称和版本时间线。
  4. 对每次修改使用版本化或去重的备份策略:
    • 内容没有变化时不重复生成备份;
    • 支持保留数量/时间配置;
    • 支持在 PromptHub 内查看、恢复和清理历史;
    • 不要无限制地产生 *.prompthub-* 文件。
  5. 如果目标 Agent 必须在固定路径读取配置,采用明确的托管方案:
    • 优先使用引用、链接或运行时生成的最小适配文件;
    • 固定路径中只保留 Agent 必需的当前配置,不保留历史备份;
    • 对确实无法脱离固定路径的情况,在 UI 中明确说明并允许用户选择;
    • 不要在用户未确认时修改或删除原始 Agent 配置。
  6. 项目目录默认保持干净。只有用户明确选择“写入项目配置”时才写入,并且生成文件应可识别、可清理、不会被误加入版本控制。
  7. 提供迁移工具:识别现有的 *.prompthub-*、PromptHub 备份和适配文件,迁移到集中目录;迁移前预览,迁移后保留回滚能力。

Important Constraints

集中存储不能破坏 Agent 的正常读取。需要区分:

  • PromptHub 的源数据和历史备份:应集中存储;
  • Agent 必须读取的当前配置:可能仍需要位于 Agent 规定的位置,或通过安全的链接/适配机制提供。

请明确记录不同 Agent 对路径、符号链接、项目级配置和全局配置的限制,不能简单地把配置文件移动后假设所有 Agent 都能正常工作。

Acceptance Criteria

  • PromptHub 新产生的备份和历史文件默认不再散落在 Agent 配置目录;
  • PromptHub 新产生的备份和历史文件默认不再写入项目目录;
  • Agent 必须读取的当前配置仍能正常工作;
  • 备份、历史和临时文件有统一的数据目录和清晰的目录结构;
  • 内容未变化时不会重复生成相同备份;
  • 支持配置备份保留数量或保留时间;
  • 可以在 PromptHub 内查看、恢复和清理历史版本;
  • 可以迁移已有的 *.prompthub-* 文件,并在操作前预览;
  • 不会未经确认删除用户原始 Agent 配置;
  • 全局配置、项目级配置和多智能体场景均有明确行为说明;
  • macOS、Windows、Linux 的应用数据路径都经过验证。

Additional Context

截图展示了 OpenCode 配置目录中出现多个 opencode.json.prompthub-mcp-* 文件:

PromptHub 在 Agent 配置目录生成多个备份/适配文件

本 Issue 也补充关注所有由 PromptHub 产生的备份、临时、适配和历史文件,而不只限于 OpenCode 或 MCP。

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions