MonkeyCode icon indicating copy to clipboard operation
MonkeyCode copied to clipboard

[Feature Request] 支持用户级别的 API Key 配置

Open dalan2014 opened this issue 5 months ago • 7 comments

支持用户级别的 API Key 配置

问题描述

目前所有用户都共用后台配置的同一个 API Key,这在团队管理上有些问题:

  • 在后台看不出谁用了多少 token
  • 没法给不同人设置不同的使用额度
  • 如果本身企业有模型统管平台,给不同人分配了不同的APIKEY,在这儿就没法用了

期望功能

希望能给每个用户(或用户组)分配独立的 API Key 和端点。这样可以:

  • 直接在模型提供商、统管平台后台看到每个人/团队的实际消耗
  • 可以通过上游管理平台,给实习生低额度,给核心开发设置高额度
  • 某个 Key 出问题只影响对应的用户,不会造成团队都不能用

建议实现

  1. 用户管理:在成员管理里增加 API Key 配置项
  2. 代理逻辑
    • 用户请求先通过 MonkeyCode 的 API Key 认证
    • 转发到下游服务时使用该用户绑定的 Key
    • 没配置的用户可以回退到使用默认 Key

这个功能和现有的前端统计是互补的 - 前端统计活跃度,后端 Key 管理实际资源消耗,两者结合能更好地管理团队的 AI 使用。

dalan2014 avatar Jul 28 '25 04:07 dalan2014

@MonkeyCode-AI 评估issue

ct-jaryn avatar Sep 22 '25 07:09 ct-jaryn

GitHub Issue 深度评估报告

1. 整体摘要 (Executive Summary)

该 Issue 提出了一项功能请求,旨在支持用户级别的 API Key 配置,以更好地管理团队中不同用户的资源消耗和权限。需求清晰且有价值,有助于提升系统的灵活性和管理能力。

2. 详细评估 (Detailed Assessment)

评估维度 评分 (1-5) 评估说明
清晰度 5 问题描述清晰,用户故事明确,期望功能和实现建议都很具体。
完整性 5 提供了完整的使用场景、痛点分析和预期价值,信息充分。
可复现性/可行性 5 功能请求在当前架构下是可行的,实现逻辑清晰。

3. 分类与优先级 (Classification & Priority)

  • 建议标签: feature-request, backend, enhancement
  • 严重等级: Minor
  • 建议优先级: High

4. 影响与风险 (Impact & Risks)

  • 影响范围: 主要影响用户管理模块、API 转发逻辑以及相关的配置管理。
  • 潜在风险: 需要小心处理 API Key 的存储和访问控制,避免安全隐患。此外,现有的统计和配额管理模块可能也需要相应调整。

5. 行动建议 (Actionable Suggestions)

  • 对提交者的回应:
    • 感谢您提交的详细功能请求,这对我们改进系统非常有帮助。
    • 目前信息已经足够,我们会进一步讨论和评估该功能的实现计划。
  • 对维护团队的建议:
    • 下一步: 讨论功能方案,评估具体实现细节和潜在影响。
    • 初步解决方案构想:
      1. 在用户管理模块中增加 API Key 和端点的配置项。
      2. 修改 API 转发逻辑,优先使用用户绑定的 Key,回退到默认 Key。

MonkeyCode-AI avatar Sep 22 '25 07:09 MonkeyCode-AI

GitHub Issue 深度评估报告

1. 整体摘要 (Executive Summary)

这是一个关于支持用户级别API Key配置的功能请求。当前所有用户共用一个API Key,导致无法追踪资源消耗和分配额度。该需求清晰且具有实际价值,建议尽快安排讨论。

2. 详细评估 (Detailed Assessment)

评估维度 评分 (1-5) 评估说明
清晰度 5 需求描述清晰明了,目标明确,无歧义
完整性 5 包含了完整的使用场景、痛点和预期价值,信息充分
可复现性/可行性 5 功能请求在现有架构下具有较高的可行性

3. 分类与优先级 (Classification & Priority)

  • 建议标签: feature-request, backend, enhancement
  • 严重等级: Minor
  • 建议优先级: High

4. 影响与风险 (Impact & Risks)

  • 影响范围: 主要影响用户管理、API代理转发和计费模块
  • 潜在风险: 实现过程中需注意数据迁移和兼容性问题,避免破坏现有功能

5. 行动建议 (Actionable Suggestions)

  • 对提交者的回应:
    • 感谢您提出这个有价值的功能请求。
    • 暂无需补充信息,需求描述已足够清晰。
  • 对维护团队的建议:
    • 下一步: 讨论功能方案并评估实现工作量
    • 初步解决方案构想:
      1. 在用户管理模块增加API Key配置项,支持为每个用户或用户组设置独立的API Key和端点。
      2. 修改API代理逻辑,优先使用用户绑定的Key,未配置时回退到默认Key。

MonkeyCode-AI avatar Sep 22 '25 07:09 MonkeyCode-AI

GitHub Issue 深度评估报告

1. 整体摘要 (Executive Summary)

这是一个功能请求,要求支持用户级别的 API Key 配置。该功能能更好地追踪资源消耗、实现细粒度的权限控制,并提高系统的安全性。这是一个有价值的功能,值得进一步讨论和实现。

2. 详细评估 (Detailed Assessment)

评估维度 评分 (1-5) 评估说明
清晰度 5 需求描述清晰,目标明确,没有歧义。
完整性 4 提供了详细的使用场景和痛点分析,但缺乏技术实现细节。
可复现性/可行性 5 功能请求基于现有架构是可行的,实施难度中等。

3. 分类与优先级 (Classification & Priority)

  • 建议标签: feature-request, backend, enhancement
  • 严重等级: Minor
  • 建议优先级: High

4. 影响与风险 (Impact & Risks)

  • 影响范围: 主要影响后端 API 代理逻辑、用户管理模块和数据库结构。
  • 潜在风险: 需要修改数据库 schema 和 API 代理逻辑,可能存在数据迁移和兼容性风险。

5. 行动建议 (Actionable Suggestions)

  • 对提交者的回应:
    • 感谢您提出这个有价值的功能请求。
    • 为了更好地评估和设计这个功能,能否请您提供一些关于用户组管理的具体需求?
  • 对维护团队的建议:
    • 下一步: 讨论功能方案,设计数据库 schema 和 API 接口。
    • 初步解决方案构想:
      1. 在用户表中增加 API Key 和端点字段。
      2. 修改 API 代理逻辑,优先使用用户绑定的 Key,回退到默认 Key。

MonkeyCode-AI avatar Sep 22 '25 07:09 MonkeyCode-AI

GitHub Issue 深度评估报告

1. 整体摘要 (Executive Summary)

这是一个关于为用户级别配置独立 API Key 的功能请求。该需求旨在解决当前所有用户共享一个 API Key 导致的资源统计和权限管理问题,具有明确的业务价值和技术可行性。

2. 详细评估 (Detailed Assessment)

评估维度 评分 (1-5) 评估说明
清晰度 5 问题描述清晰,目标明确,没有歧义。提交者详细说明了当前存在的问题和期望的功能。
完整性 5 信息充分,包含了详细的使用场景、痛点和预期价值。此外,还提供了初步的实现建议。
可复现性/可行性 5 功能请求在当前架构下是可行的。可以通过在用户管理中添加 API Key 配置项,并在代理逻辑中实现相应的转发机制来实现。

3. 分类与优先级 (Classification & Priority)

  • 建议标签: feature-request, backend, enhancement
  • 严重等级: Minor
  • 建议优先级: High

4. 影响与风险 (Impact & Risks)

  • 影响范围: 此功能将影响用户管理模块、API 代理逻辑和计费统计模块。对现有用户不会造成破坏性变更,但会提供更灵活的资源管理方式。
  • 潜在风险: 需要确保新功能与现有默认 API Key 机制的兼容性,以及在用户未配置独立 API Key 时的回退逻辑。

5. 行动建议 (Actionable Suggestions)

  • 对提交者的回应:
    • 感谢您提出的详细功能请求。这确实是一个有价值的改进,能够提升团队对 AI 资源使用的管理能力。
    • 暂无需要补充的信息。
  • 对维护团队的建议:
    • 下一步: 讨论功能方案,评估开发工作量,并分配给特定成员进行实现。
    • 初步解决方案构想:
      1. 在用户管理界面增加 API Key 和端点配置字段。
      2. 修改代理逻辑,在转发请求时优先使用用户绑定的 API Key,如果未配置则回退到默认 Key。

MonkeyCode-AI avatar Sep 22 '25 07:09 MonkeyCode-AI

GitHub Issue 深度评估报告

1. 整体摘要 (Executive Summary)

这是一个关于支持用户级别API Key配置的功能请求,旨在解决当前所有用户共用同一API Key带来的资源跟踪和权限管理问题。该请求清晰、完整且可行,对团队管理具有重要价值,建议高优先级处理。

2. 详细评估 (Detailed Assessment)

评估维度 评分 (1-5) 评估说明
清晰度 5 问题描述清晰,功能需求明确,用户故事完整。
完整性 5 功能请求包含了使用场景、痛点分析和预期价值,还提供了实现建议。
可复现性/可行性 5 功能请求在当前架构下是可行的,实现路径清晰。

3. 分类与优先级 (Classification & Priority)

  • 建议标签: feature-request, backend, enhancement
  • 严重等级: Major
  • 建议优先级: High

4. 影响与风险 (Impact & Risks)

  • 影响范围: 主要影响用户管理、API代理转发和计费模块。
  • 潜在风险: 实现过程中需要注意数据迁移、兼容性和安全风险。

5. 行动建议 (Actionable Suggestions)

  • 对提交者的回应:
    • 感谢您提交的详细功能请求,这对提升团队管理能力很有价值。
    • 为了更好地理解和实现您的需求,能否请您进一步说明用户组API Key配置的具体场景?
  • 对维护团队的建议:
    • 下一步: 讨论功能方案细节,评估数据模型变更和API调整。
    • 初步解决方案构想:
      1. 在用户/用户组数据模型中增加API Key和端点字段。
      2. 修改API代理逻辑,在转发请求时优先使用用户绑定的Key,回退到默认Key。

MonkeyCode-AI avatar Sep 22 '25 07:09 MonkeyCode-AI

⏳ MonkeyCode-AI 正在分析,请稍等片刻...

MonkeyCode-AI avatar Sep 22 '25 08:09 MonkeyCode-AI