Skip to content
ეს გვერდი შეიქმნა და ითარგმნა ხელოვნური ინტელექტის დახმარებით. თუ შეამჩნევთ უზუსტობას, გთხოვთ, დაგვეხმარეთ გაუმჯობესებაში. GitHub-ზე რედაქტირება

იდენტობის მართვა

PRX-ის იდენტობის სისტემა უზრუნველყოფს სამუშაო სივრცის დონისა და მომხმარებლის დონის სკოპინგს ყველა აგენტის ოპერაციისთვის. მრავალ-ქირავნობის განთავსებებში, იდენტობის კონტექსტი განსაზღვრავს, რომელ მოგონებებს, კონფიგურაციებს, ინსტრუმენტებსა და რესურსებს შეუძლია მოცემულ სესიას წვდომა. იდენტობის მოდული არის წვდომის კონტროლის, აუდიტის ლოგირებისა და პერსონალიზაციის საფუძველი.

მიმოხილვა

PRX-ის ყველა სესია იდენტობის კონტექსტში მუშაობს, რომელიც მოიცავს:

კომპონენტიაღწერა
მომხმარებელიადამიანი ან ბოტი, რომელიც აგენტთან ურთიერთობს
სამუშაო სივრცელოგიკური საზღვარი, რომელიც აერთიანებს მომხმარებლებს, კონფიგურაციებსა და მონაცემებს
სესიაერთი საუბარი მომხმარებელსა და აგენტს შორის
პრინციპალიეფექტური იდენტობა წვდომის კონტროლის გადაწყვეტილებებისთვის
┌─────────────────────────────────────────┐
│         სამუშაო სივრცე: "acme"         │
│                                         │
│  ┌──────────┐  ┌──────────┐            │
│  │მომხმარ: A│  │მომხმარ: B│  ...       │
│  │          │  │          │            │
│  │ სესიები  │  │ სესიები  │            │
│  │ მოგონებ. │  │ მოგონებ. │            │
│  │ კონფიგ.  │  │ კონფიგ.  │            │
│  └──────────┘  └──────────┘            │
│                                         │
│  საზიარო: სამ. სივრცის კონფიგ.,       │
│  ინსტრუმენტები, გასაღებები             │
└─────────────────────────────────────────┘

კონფიგურაცია

სამუშაო სივრცის დაყენება

toml
[identity]
# მრავალ-ქირავნობის იდენტობის სკოპინგის ჩართვა.
enabled = true

# ნაგულისხმევი სამუშაო სივრცე სესიებისთვის, რომლებიც არ მიუთითებენ.
default_workspace = "default"

# მომხმარებლებისთვის ახალი სამუშაო სივრცეების შექმნის ნებართვა.
allow_workspace_creation = true

# მაქსიმალური სამუშაო სივრცეების რაოდენობა განთავსებაზე.
max_workspaces = 100

მომხმარებლის პროფილები

მომხმარებლის პროფილები ინახავს თითოეული მომხმარებლის პრეფერენციებსა და მეტამონაცემებს:

toml
[identity.profiles]
# მომხმარებლის პროფილების შენახვის ბექენდი: "memory" | "sqlite" | "postgres"
backend = "sqlite"
path = "~/.local/share/openprx/identities.db"

სამუშაო სივრცის კონფიგურაცია

თითოეულ სამუშაო სივრცეს შეიძლება ჰქონდეს საკუთარი კონფიგურაციის გადაფარვა:

toml
# სამუშაო სივრცისთვის სპეციფიკური გადაფარვები config.toml-ში
[workspaces.acme]
display_name = "ACME Corp"
default_provider = "openai"
default_model = "gpt-4o"

[workspaces.acme.memory]
backend = "postgres"

[workspaces.acme.security.tool_policy]
default = "supervised"

იდენტობის კონტექსტი

IdentityContext სტრუქტურა გადაეცემა მთელ მოთხოვნის პაიპლაინს. იგი შეიცავს: user_id, display_name, workspace_id, session_id, role (Owner/Admin/Member/Guest), channel და თვითნებურ metadata-ს.

იდენტობის კონტექსტი ყველა ფენაში ვრცელდება: გეითვეი ამოიღებს მას შემომავალი მოთხოვნებიდან, აგენტის ციკლი იყენებს მეხსიერებისა და ინსტრუმენტების წვდომის სკოპინგისთვის, მეხსიერების სისტემა მონაცემებს სამუშაო სივრცისა და მომხმარებლის მიხედვით სახელთა სივრცით აღნიშნავს, ხარჯების თვალყურის დევნება მოხმარებას მიაწერს და აუდიტის ჟურნალი მოქმედ პირს ჩაწერს.

მრავალ-ქირავნობა

PRX მხარს უჭერს მრავალ-ქირავნობის განთავსებებს, სადაც მრავალი ორგანიზაცია იზიარებს ერთ PRX ინსტანციას. ქირავნობის საზღვრები სამუშაო სივრცის დონეზე აღისრულება:

მონაცემთა იზოლაცია

რესურსიიზოლაციის დონე
მოგონებებისამუშაო სივრცეზე + მომხმარებელზე
კონფიგურაციასამუშაო სივრცის გადაფარვა გლობალურ ნაგულისხმევებზე
ინსტრუმენტების პოლიტიკებისამუშაო სივრცის გადაფარვები
საიდუმლოებებისამუშაო სივრცის საცავი
ხარჯების ბიუჯეტებისამუშაო სივრცის ლიმიტები
აუდიტის ჟურნალებისამუშაო სივრცის ფილტრაცია

სამუშაო სივრცეთაშორისი წვდომა

ნაგულისხმევად, მომხმარებლებს მხოლოდ მათი სამუშაო სივრცის ფარგლებში არსებულ რესურსებზე აქვთ წვდომა. სამუშაო სივრცეთაშორისი წვდომა ცალსახა კონფიგურაციას მოითხოვს:

toml
[identity.cross_workspace]
# სამუშაო სივრცის ადმინისტრატორებისთვის სხვა სამუშაო სივრცეებზე წვდომის ნებართვა.
admin_cross_access = false

# კონკრეტული მომხმარებლებისთვის მრავალ სამუშაო სივრცეზე წვდომის ნებართვა.
[[identity.cross_workspace.grants]]
user_id = "shared-bot"
workspaces = ["acme", "beta-corp"]
role = "member"

მომხმარებლის იდენტიფიცირება

PRX მომხმარებლის იდენტობას სხვადასხვანაირად განსაზღვრავს კომუნიკაციის არხის მიხედვით:

არხიიდენტობის წყარომომხმარებლის ID ფორმატი
TelegramTelegram მომხმარებლის IDtelegram:<user_id>
DiscordDiscord მომხმარებლის IDdiscord:<user_id>
SlackSlack მომხმარებლის IDslack:<workspace_id>:<user_id>
CLIსისტემის მომხმარებლის სახელიcli:<username>
API/GatewayBearer ტოკენი / API გასაღებიapi:<key_hash>
WeChatWeChat OpenIDwechat:<open_id>
QQQQ ნომერიqq:<qq_number>

პირველი კონტაქტისას რეგისტრაცია

როდესაც ახალი მომხმარებელი PRX-თან პირველად ურთიერთობს, იდენტობის ჩანაწერი ავტომატურად იქმნება: არხის ადაპტერი ამოიღებს მომხმარებლის იდენტიფიკატორს, ქმნის პროფილს ნაგულისხმევი პარამეტრებით და ანიჭებს მომხმარებელს default_workspace-ს Member როლით.

მომხმარებლების ხელით მართვა

bash
# ყველა ცნობილი მომხმარებლის ჩამონათვალი
prx identity list

# მომხმარებლის დეტალების ჩვენება
prx identity info telegram:123456

# მომხმარებლის სამუშაო სივრცეში მინიჭება
prx identity assign telegram:123456 --workspace acme --role admin

# მომხმარებლის სამუშაო სივრციდან ამოღება
prx identity remove telegram:123456 --workspace acme

# მომხმარებლის მეტამონაცემების დაყენება
prx identity set telegram:123456 --key language --value en

სამუშაო სივრცის მართვა

bash
# ყველა სამუშაო სივრცის ჩამონათვალი
prx workspace list

# ახალი სამუშაო სივრცის შექმნა
prx workspace create acme --display-name "ACME Corp"

# სამუშაო სივრცის დეტალების ჩვენება
prx workspace info acme

# სამუშაო სივრცის კონფიგურაციის დაყენება
prx workspace config acme --set default_provider=anthropic

# სამუშაო სივრცის წაშლა (მოითხოვს დადასტურებას)
prx workspace delete acme --confirm

მომხმარებლის პროფილები

მომხმარებლის პროფილები ინახავს პრეფერენციებს, რომლებიც აგენტის ქცევას პერსონალიზებს:

ველიტიპიაღწერა
user_idstringუნიკალური იდენტიფიკატორი
display_namestringადამიანისთვის წაკითხვადი სახელი
languagestringსასურველი ენა (ISO 639-1)
timezonestringსასურველი დროის ზონა (IANA ფორმატი)
roleenumსამუშაო სივრცის როლი (owner, admin, member, guest)
preferencesmapგასაღები-მნიშვნელობის პრეფერენციები (მოდელი, სიტყვიერება და ა.შ.)
created_atdatetimeპირველი ურთიერთობის დროის ანაბეჭდი
last_seen_atdatetimeყველაზე ბოლო ურთიერთობის დროის ანაბეჭდი

პროფილზე წვდომა სისტემის პრომპტებში

აგენტის სისტემის პრომპტს შეუძლია მომხმარებლის პროფილის ინფორმაციის ჩართვა შაბლონის ცვლადებით (მაგ., {{identity.display_name}}, {{identity.language}}), რომლებიც იდენტობის კონტექსტიდან განისაზღვრება პრომპტის LLM-ზე გაგზავნამდე.

როლზე დაფუძნებული წვდომის კონტროლი

სამუშაო სივრცის როლები განსაზღვრავს, რა მოქმედებების შესრულება შეუძლია მომხმარებელს:

ნებართვამფლობელიადმინიწევრისტუმარი
აგენტის გამოყენება (ჩატი)დიახდიახდიახდიახ
მოგონებების შენახვადიახდიახდიახარა
ინსტრუმენტების კონფიგურაციადიახდიახარაარა
მომხმარებლების მართვადიახდიახარაარა
სამუშაო სივრცის მართვადიახარაარაარა
აუდიტის ჟურნალების ნახვადიახდიახარაარა

ინტეგრაციის წერტილები

identity.enabled = true-ისას, ყველა მეხსიერების ოპერაცია სკოპირებულია workspace:{workspace_id}:user:{user_id}:{key}-ით, რაც მონაცემთა იზოლაციას უზრუნველყოფს. ინსტრუმენტების პოლიტიკები სამუშაო სივრცეზე შეიძლება გადაიფარას და ტოკენების მოხმარება იდენტობის კონტექსტს მიეწერება თითოეული მომხმარებლის ხარჯების ანგარიშგებისთვის.

უსაფრთხოების შენიშვნები

  • იდენტობის გაყალბება -- იდენტობის სისტემა ენდობა არხის ადაპტერს მომხმარებლების სწორად იდენტიფიცირებაში. უზრუნველყავით არხის ავთენტიფიკაციის სწორი კონფიგურაცია (ბოტის ტოკენები, OAuth და ა.შ.).
  • სამუშაო სივრცის იზოლაცია -- სამუშაო სივრცის საზღვრები აპლიკაციის ლოგიკაში აღისრულება. ძირითადი საცავი (SQLite, Postgres) მონაცემთა ბაზის დონის იზოლაციას არ უზრუნველყოფს. სკოპინგის ლოგიკის ხარვეზმა შეიძლება მონაცემების გაჟონვა გამოიწვიოს.
  • სტუმრის წვდომა -- სტუმრებს ნაგულისხმევად მინიმალური ნებართვები აქვთ. განიხილეთ სტუმრის როლის კონფიგურაცია საჯაროდ მისაწვდომი აგენტების ჩართვისას.
  • პროფილის მონაცემები -- მომხმარებლის პროფილები შეიძლება პერსონალურ ინფორმაციას შეიცავდეს. დაამუშავეთ თქვენი კონფიდენციალურობის პოლიტიკისა და მოქმედი რეგულაციების შესაბამისად.
  • სამუშაო სივრცეთაშორისი მინიჭებები -- მინიჭეთ სამუშაო სივრცეთაშორისი წვდომა ზომიერად. თითოეული მინიჭება აფართოებს კომპრომეტირებული ანგარიშის ზემოქმედების არეალს.

დაკავშირებული გვერდები

Released under the Apache-2.0 License.