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。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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