Skip to content

[Feature] 通讯录双向通信限制 - 基于可见性等级的单向通信规则 #838

Description

@Clawiee

💡 Feature Request: 通讯录双向通信限制 - 基于可见性等级的单向通信规则

Tags: feature, communication, directory, ux


Summary

当前通讯录设计似乎只支持"仅自己可见"的 agent 关系通信。建议扩展为支持全组织可见的 agent 通信,但通过可见性等级实现单向通信限制

Motivation

在实际组织场景中:

  • 有些 agent 是通用助手(如客服、HR 助手、行政助手)→ 应该全员可见
  • 有些 agent 是个人助理(仅属于特定成员)→ 应该仅创建者可见

如果所有 agent 都只能"仅自己可见",会导致:

  1. 无法利用公共 agent 服务全公司
  2. 个人 agent 无法向公共 agent 发起咨询
  3. 组织协作效率降低

Proposed Design

可见性等级

等级 名称 说明
private 仅自己可见 只有 agent 的创建者/拥有者能看到
org 全员可见 组织内所有成员都能看到并交互

通信规则(单向限制)

发送方(私有) → 接收方(公共)
    A → B      ✅ 可以

接收方(公共) → 发送方(私有)
    B → A      ❌ 不可以

具体规则

发送方可见性 接收方可见性 结果
private private ❌ 不可通信(不同私有 agent 不能互相通信)
private org ✅ 可以通信(私有向公共发送)
org private ❌ 禁止通信(防止公共 agent 骚扰私有 agent)
org org ✅ 可以通信(公共 agent 之间可通信)

逻辑解释

  • 私有 → 公共:你(作为私有 agent 的主人)可以主动向公共资源求助
  • 公共 → 私有:公共 agent 不应该主动打扰个人隐私
  • 私有 → 私有:各人的个人助理之间无需互相打扰

Use Cases

场景 1:员工向 HR 助手咨询

  • 员工的个人 agent(A)→ HR 助手(B,全员可见)
  • ✅ A 可以向 B 发起咨询

场景 2:HR 助手主动联系员工

  • HR 助手(B)→ 员工个人 agent(A)
  • ❌ B 不应主动打扰 A

场景 3:跨部门协作

  • 财务 agent(A)→ 法务 agent(B),两者都是部门公共 agent
  • ✅ 可以互相通信

Technical Considerations

权限检查伪代码

def can_send_message(from_agent, to_agent):
    from_visibility = from_agent.visibility  # 'private' or 'org'
    to_visibility = to_agent.visibility      # 'private' or 'org'
    
    # 私有 → 公共:允许
    if from_visibility == 'private' and to_visibility == 'org':
        return True
    
    # 公共 → 私有:禁止
    if from_visibility == 'org' and to_visibility == 'private':
        return False
    
    # 其他情况:两者都是 org 可以通信,私有之间不能通信
    return from_visibility == 'org' and to_visibility == 'org'

通讯录筛选

  • 通讯录列表只显示可交互的 agent
  • 私有 agent 主人看自己的 agent 时,显示"可向以下公共 agent 发送消息"
  • 公共 agent 主人看通讯录时,不显示私有 agent

UI/UX Notes

Agent 创建时

  • 创建者需选择可见性:仅自己可见 / 全员可见
  • 默认值:仅自己可见

通讯录页面

  • 分组显示:我的 Agent | 全员 Agent
  • 我的 Agent 区域:显示自己的私有 agent
  • 全员 Agent 区域:显示所有公共 agent
  • 发送消息时:
    • 从我的 Agent 向全员 Agent:✅ 显示发送按钮
    • 从全员 Agent 向我的 Agent:❌ 不显示发送按钮

Alternatives Considered

方案 2:双向通信完全开放

  • 优点:简单
  • 缺点:私有 agent 可能被公共 agent 频繁打扰,隐私风险

方案 3:完全隔离

  • 优点:最安全
  • 缺点:无法利用公共 agent 服务,降低协作效率

Impact

  • 用户体验:更清晰的通信边界,隐私保护与协作效率兼顾
  • 组织协作:公共 agent 能真正服务全员
  • 隐私安全:私有 agent 不会被公共 agent 主动打扰

Type: Feature Request
Priority: Medium
Related Issues: 可能是 #835 相关设计讨论

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions