변경 로그
무슨 일이야?
플랫폼에 대한 모든 개선 사항, 그것이 선적.
· EmailService
회원의 새로운 이름은 mailbox의 표시 이름에 도달 (SP95 T35)
****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** {이전, 현재} -> {updated}, KamoAI 내부 비밀 뒤에 규정-mailbox. mailboxes 회원은 표시 이름이 공백 또는 아직 이전 하나 (trimmed, ignoring case) 새로운 이름; 이름 관리자는 선택, 메일 박스 회원 만 공유, 숙박. 비어 있는 현재 이름은 400입니다. One @RetryOnDbConflict 거래는 회원으로 키 입력; 공급자 통화 없음 (KamoMail은 서버 측 표시 이름을 지지 않습니다).
· kamo-internal
전세 동료, 전화 서버 팀 라인, 그리고 "Asked for" 에 대한 작업 누군가 요청 (SP95 T26)
- 헌장 : PLACE CALL 옆에 PLACE INTERNAL CALL; APPROVAL는 클래스당 하나의 아이템을 보유 (19, ruling SP95-T4-1). - 전화 서버 카드: 팀 선 (defaultTransferExtension), 각 득점방해에 보내, 아무도로 공백 (V10는 각 분야를 대체합니다). - 승인: "Asked for" Chip for mode ON REQUEST in the list and the detail; 세부 사항은 누가 물었는지, 링크에 대한 채팅 (장소에서 열림) 또는 작업 (/notes?task=). 입력을 통해 읽으십시오 *********** (SP95-T26-1).
· SecurityService
이름은 회원의 우편함 (SP95 T36)에 도달
한 사람의 "첫 번째 마지막", SecurityService EmailService의 메시지 *********** 한 번 멤버십 사용자의 KamoAI 내부 비밀 (MAILBOX 고용 단계 고용 클라이언트 및 URL). EmailService는 회원에게 메일 박스만 이름을 보냅니다. 1 차적으로 붙이고 아직도 오래된 자동적인 이름을 나릅니다. - memberNameChangeNotifier: 커밋 후 (AfterCommit), 오프 kamoaiExecutor의 요청 스레드, 최고의 노력 (WARN, 결코 실패 저장); 공백에 명확한 이름은 발표되지 않습니다. - 회원 프로필 PUT 및 플랫폼 사용자 탭의 계정으로 호출 편집, "First Last"만 변경. AccountController의 파스 이름 고객 계정, 아니 사람, 그래서 아무것도 발표.
· AIService
OpenAI 트랜지션은 STT를 통해 첫 번째 스트림을 차지하고, 각 티켓 이름은 세션 방언 (SP95)
구독 모델은 ADAPTER UNSUPPORTED 및 모든 스트리밍 STT로 떨어졌다 티켓은 CPU의 Kamo Speech에 갔다. 각 카탈로그는 이제 세션을 명함 (모델은 세션 업데이 트), 티켓 답변 sessionDialect.
· APIService
Route 웹 사이트 연락처 양식, 세션 목록 예산
POST /api/public-chat/contact 프록시에서 MediaService의 새로운 연락처 같은 사이트 키, 기원 및 범위 체크를 통해 엔드포인트 다른 public-chat 호출, 그래서 lender의 연락처 양식 파일 티켓 그 lender의 자신의 지원 큐. 그것은 세션과 티켓을 만듭니다, 그래서 그것의 ***를 감시 siblings and draws on the strict 작성 예산 (3/min per IP). 그것은 "sessions"없이 한 번의 생성 경로, 그래서 그것은 일치 이름; 메시지 예산에 왼쪽 스크립트는 30 분 티켓을 제출 할 수 1개의 주소에서.
· MediaService
Lender의 웹 사이트 연락처 양식 파일 자신의 큐에 티켓
POST /api/media/public-chat/contact는 게이트웨이의 사이트 키에 도달 다른 공개 채팅 전화와 같은 게이트, 그래서 주요 이름은 org와 그 웹 사이트 이름을 허용. 플랫폼의 자신의 접촉 모양은 할 수 있었습니다 이 작업을 수행하지: 그것은 플랫폼 org에 파일, 어떤 사이트 게시. 연락처 양식은 채팅이 열리고 한 번에 입력되므로 내장되어 있습니다. 정확히 두 단계: createSupportSession (연결의 주제, attribution, geo, 주제의 할당 전략 후 커밋) 및 sendSupportMessage (방문의 첫 메시지). 제목과 설명은 다르고, 이름, 이메일 및 전화의 카드로 두 리드, 방문자가 페이지 왼쪽 및 이메일이 그(것)들에 다시 방법입니다. queue는 한 번 메시지가 스레드에, AI로 손오프. 채워진 허니팟 답변 성공 및 파일 아무것도.
· MCPGatewayService
Rag search는 청중 PUBLIC를 취합니다, 공공을 검색 할 수 있습니다 (SP95 T12)
전화 통화에 AI는 익명 통화를 답변하므로 만 검색합니다. 게시된 기사 공개는 읽을 수 있습니다, 절대 노트 (spec D12). 선택 사항 청중은 ["PUBLIC"]이며 RAGService (Task 11);에 전달됩니다. 다른 값은 schema에 의해 INVALID ARGUMENTS이고 RAG에 결코 도달하지 않습니다.
· KlusterServices
Rspamd는 자신의 Redis에서 데이터를 유지합니다
local.d/redis.conf는 이제 redis-own.conf 키입니다: 메일에 rspamd-redis, 데이터베이스 0, 같은 mail rspamd 로그인. subPath 변화는 pod를 구합니다. 스위치가 확인 될 때까지 ConfigMap에서 오래된 키가 유지됩니다. `kubectl -n mail rollout undo deploy/rspamd`는 전체 롤백입니다. (SP98-M-1, 3)의 단계 2. rspamd의 데이터가 복사 한 후만 배송 rspamd-redis에.
· KlusterServices
Rspamd의 붉은
rspamd는 신뢰할 수없는 메일을 파고 플랫폼 Redis에 로그인합니다. 회원의 세션 및 ACL은 다음과 같이 유지할 수 없습니다. 사용자는 할 수 없습니다. 하나의 데이터베이스에 대한 범위; rspamd의 스크립트는 클래스 라벨, 플래그 및 msgpack을 통과 KEYS로 blobs, 그래서 키-pattern ACL은 모든 베이를 배울 거부; 그리고 그 베이 expiry SCANs, 모든 키 이름 목록 (*** 및 OTK 이름은 Bearer입니다 credentials) 어떤 본. 이것은 메일에 rspamd-redis를 추가합니다 : 플랫폼 Redis의 빌드, k1m1에 핀 노드의 디스크에 파일과 함께 rspamd 옆에, 하나의 데이터베이스, PING 만 로그인 없이 mail rspamd 와 rspamd 의 기존 암호, kamo ops 에 대한 연산자, 그리고 NetworkPolicy는 rspamd의 팟을 혼자 인정합니다. CI 적용 그리고 그것을 위해 기다립니다 rspamd. rspamd 자체는 다음까지 변하지 않습니다. (SP98-M-1, 3)의 단계 1.
· SecurityService
전세는 AI 런타임에 한번에 도달하고, 전세 프로필은 회사명(SP95 T6)
**************** 이제 원인을 운반합니다. 자주 묻는 질문 권리 보내기; 헌신적인 전세는 각 영향을받는 AI를 위해 CHARTER를 보냅니다 회원의 현재 권리와 함께 (중요한 후 읽으십시오, 에서 한 개의 쿼리) 및 빈 추가 / 제거, 그래서 모든 kamoai pod는 AI의 하락 stale 도구 목록 대신 한 번에 차트 및 도구 목록. - 회원 수준의 저장 (S6)은 AI가 될 때 회원을 발표합니다. - 역할, 부서 또는 작업 제목 저장, 전세 (S7-S9) 또는 전체 SorterItems 업데이트, 모든 비 은퇴 된 AI 팀을 발표 org의 회원, 하나에서 org-keyed 쿼리. - CharterProfile은 orgName, 말한 회사명(OrgSpoken)을 얻습니다. 이름: 짧은 이름, 다른 표시 이름, 다른 법적인 이름), 간단히 ID 라인.
· MCPGatewayService
Approvals request는 그 도구에 대한 클래스를 보냅니다. 전세 우표는 신선한 공구를 유지합니다 (SP95 T10)
permissions request는 작업 클래스를 카탈로그 도구와 함께 거부 INVALID ARGUMENTS USE TOOL {tool, 도구, 액션 클래스}, 또는 NO TOOL FOR YOU 언제 콜러는 그 도구의 아무도를 볼 수 있습니다. DECISION ONLY 클래스는 여전히 얻을 결정적인 승인. ToolSpec.alsoClasses는 플래너 클래스를 선언합니다. re-class to (mail, 채팅, 캘린더, 작업, phone call), 레지스트리 파생 상품 class -> tools table from them, 그리고 가시성은 도구가 모든 경우에만 숨깁니다. 클래스는 FORBIDDEN입니다. 지금 파이프라인은 FORBIDDEN 계획 거부 승인 된 re-execution에 클래스, 및 CharterPolicy 미러 D1 (명칭되지 않음) PLACE INTERNAL CALL은 FORBIDDEN PLACE CALL을 상속합니다. X-Kamo-Charter-Stamp 도달 CharterClient.policy(회원, 예상 스탬프), 한 번에 다른 스탬프 아래 캐시 된 전세를 다시 읽으십시오. 도구 / 목록은 1개의 전세에 의해 판단하고 대답 ***********
· kamo-apps
이미 lender의 사이트에 대한 답변과 응용 프로그램을 엽니 다
Lender의 마케팅 사이트는 이제 자신의 짧은 "시작" 양식을 수행 할 수 있습니다 그리고 목적, 이름, 이메일 및 전화가 채워진 차용기를 보내십시오, 그래서 아무도 두 번 유형. URL 파편의 답변 여행, 결코 쿼리 문자열: 파편은 서버에 전송되지 않습니다, 그래서 차용자의 이메일은 액세스 로그 또는 Refererer에 착륙하지 않으며, 양식은 그것을 닦습니다. 주소 바에서 곧 그것을 읽었다. 해당 이용 후기에 달린 코멘트가 없습니다. 제품의 자신의 선택권에 대하여, 그래서 사이트는 본래 ID를 필요로 하지 않습니다. Seeding은 아무것도 저장합니다 : 접촉 첫 번째 제품에 리드가 여전히 생성됩니다. 차용자의 자신의 첫 번째 "콘티넨"에 의해, 그들은 답변을 입력 한 경우.
· SecurityService
SP94 DDL for the org's two phonetic name columns, 계약 테스트에 의해 핀
orgs.title phonetic 및 orgs.title short phonetic, 모두 nullable VARCHAR(255) 과 기본값이 없습니다. no CHECK, user.name phonetic과 같은 모양. 생산 (SP94 작업 2); 계약 시험은 spec 5.1의 1개의 문에 파일을 핀으로 꼿습니다.
· AIService
E5는 AI 회원의 기억 음성, 선호한 모델과 함께 말하며, 음성 이름을 전송합니다
AI 주제 (AI의 자체 세션, 또는 내부 트윈 ?memberId=) TTS 후보자는 SP96 결의자 결정 및 응답 모델의 음성을 전송 의사 결정은 합성 후 기억됩니다 (insert, compare-and-set, hourly touch). 모형 kamo로: 자동 일원의 선호한 모형은 처음 걸렸습니다. 한 사람의 세션, AI 배우로 전송되는 것을 포함하여, voiceFor unchanged를 지킵니다. 기억은 제일 노력입니다: 실패 읽거나 쓰기는 WARN이고 회원은 여전히 말합니다. 모든 연설 대답 X-Kamo-Voice-Id를 운반합니다.
· RAGService
Audience PUBLIC는 공개 기사를 게시하는 세션 검색을 좁은
세션 검색은 관객을 보낼 수 있습니다 : "PUBLIC" 공공 검색 위젯은 (회원 없음, 회원 유형 없음) : 게시 된 기사는 덧붙였다 대중, 결코 주. 전화 통화의 AI 회원은 다음과 같습니다. TEAM MEMBER 세션은 익명의 콜러가 질문에 답합니다. 필드는 단지 좁습니다 : 다른 값은 400 {error, 필드 : "오디오"}입니다. 내부 경로가 무시합니다. KamoAI SP95 작업 11, 사양 §5.5, D12.
· VOIPService
휴대폰 서버의 팀 라인은 AI 회원의 이름이 전송되지 않습니다
SP95 D10: AI 음성 설정은 defaultTransferExtension (디지털, 같이 fallback; 공백은 그것을 지웁니다) 그리고 echo 그것. 새로운 내부 노선 *** * *** 팀 라인의 SIP 대상, 또는 404 NO TEAM LINE가 설정되지 않을 때 응답합니다.
· SecurityService
AI 통화의 colleague의 통화 카드, AI 통화에 대한 동의는 하나의 프로필에 AI 통화 (SP95 T5)
* * * * * * * * (X-Internal-Auth): 팀 회원의 이름, 친절, 그들은 여전히 여기에 있는지, 그들의 효과적인 영역 (작업 사이트, 회원, org, UTC), 그들의 프로필에 E.164 번호 (CELL, PHONE, WORK) 및 자신의 서적 동의. · 팀에 있지 않은 회원 ( 포털 로그인) 카드가 없습니다. - GET/PUT **************** 사람 스위치 AI 팀 일원 자신의 숫자 중 하나에 대한 통화, 또는 오프; 회원의 ledger 레코드:<id>, 통해 MEMBER PROFILE의 특징 Self 또는 MANAGE MEMBER SECURITY 읽기 (모든 번호는 마쳤다); 만 사람 그들자신은 씁니다. - MemberZoneResolver : TimezoneController의 해상도, 변하지 않는 추출, 그래서 회원의 소유 지역 및 AI의 호출 시간은 동의한다.
· AIService
컴퓨터 사용은 Kamo의 자신의 컴퓨터를 통해 적립됩니다 * 모든 공급자에 의해 도구 (SP98 T25A)
베타 헤더를 가진 기본 컴퓨터 도구와 어떤 2xx에 전달. AI 회원 드라이브 Tool Plane의 Computer * 도구를 통해 워크스테이션은 절대 공급 업체의 기본 API, 그래서 체크는 이제 정확히 테스트, 모든 공급자와 동일 채팅 어댑터가 이미지를 보내는 유형 : 3 1280x800 테스트 화면, 이름 각 버튼에서, 그 버튼 안쪽에 computer click(x, y)를 통해 클릭. 패스워드 writes toolVersion kamo computer 1, 계약은 모델을 통과했습니다. - 라우터는 COMPUTER USE를 제공합니다. 어댑터가 이미지를 보내고 재생합니다. 도구 결과 (스크린 위에 도구 루프), 누구의 공급 업체. (UI-TARS, GUI-*, 컴퓨터 사용 모델)는 침입 할 수 있습니다. - AI는 한 번만 COMPUTER USE를 사용할 수 있습니다.
· MCPGatewayService
Phone call은 memberId의 동료를 호출합니다. PLACE INTERNAL CALL (SP95 T9)
Colleague는 memberId에 의해 지명됩니다, 번호에 의해 결코: planner는 그들의 읽습니다 보안 보안 서비스 전화 카드 및 전화, 다른 전화, 다른 일 그들의 프로필에 번호 (자신 중 하나가되어야합니다). 활동 중 콜러의 org의 사람은이 방법을 호출 할 수 있습니다; refusals는 INVALID ARGUMENTS NOT A COLLEAGUE, CANNOT CALL SELF, NO NUMBER ON PROFILE 또는 공지사항 호출은 PLACE INTERNAL CALL이며, 요약 이름은 colleague 과 운반 아니 수, 과 K6 gets calleeMemberId. 의 호출자 확인된 요청은, default plan에서 VerifiedRequest로 덧붙였다. 전화의 동의 (consentBasis CALLEE REQUEST 요청Ref). 로그인 해당 이용 후기에 달린 코멘트가 없습니다. ActionClasses는 PLACE INTERNAL CALL을 얻습니다.
· kamo-internal
SP96 성별 에 이 회원 프로파일, 문 에 개인 데이터
Identity Room의 개인 정보 카드는 회원의 성별을 보유하고 있습니다. 지정되지 않음, 여성 또는 남성. 그것은 회원 행에, 그래서 문 Mirror SecurityService의 D3 규칙: 회원 및 관리자 그것을보고 AI에 따라서 인력 관리자와 그 감독자. 사람이 자신의 것을 변경, AI 결코하지 않습니다. null로 지정되지 않음 열쇠는 때만 저장합니다 변경, SecurityService는 누구로부터도 거절할 수 없습니다. 작성 (SP96-T5-1). 현재 필드를 사용하는 refusal은 그 밑에 보여줍니다. 같은 요청에 각 필드 대신 필드.
· kamo-internal
SP96 성별 에 이 회원 프로파일, 문 에 개인 데이터
Identity Room의 개인 정보 카드는 회원의 성별을 보유하고 있습니다. 지정되지 않음, 여성 또는 남성. 그것은 회원 행에, 그래서 문 Mirror SecurityService의 D3 규칙: 회원 및 관리자 그것을보고, AI에 그래서 그것의 인력 관리자와 그 감독자. 사람이 자신의 변화를, AI는 결코하지 않습니다. null로 지정되지 않음 열쇠는 때만 저장합니다 변경, SecurityService는 누구로부터도 거절할 수 없습니다. 작성 (SP96-T5-1). 현재 필드를 사용하는 refusal은 그 밑에 보여줍니다. 같은 요청에 각 필드 대신 필드.
· kamo-shared-library
컴퓨터 사용 체크는 전달된 모형 (SP98 T25A)를 씁니다
COMPUTER USE는 어떤 공급자든지에 의해 Kamo의 자신의 computer * 공구를 통해, 이렇게 벌어집니다 toolVersion is probe-filled: 모델을 전달하는 체크 레코드, 기능과 기능을 추가하는 관리자는 벤더 도구 버전이 없습니다.
· kamo-shared-library
SP96는 전세의 VOICE TTS 핀을 은퇴
VOICE 품목은 작풍만입니다: 검증은 voiceModelId/voiceId를 거부합니다 (FIELD NOT ALLOWED)는, 결심자는 TTS 열쇠와 effectiveCharter가 없습니다 Tts 및 CharterView는 voice.tts를 방출하지 않습니다. AIService는 각 AI를 기억합니다 대신 모델 당 구성원의 목소리. 열 및 법인 매핑 숙박; 핀을 붙드는 행은 그것의 작풍으로 방출되고, 그것을 명확하게 저장합니다 핀.
· kamo-shared-library
PLACE INTERNAL CALL, 회원 동의, 말한 회사 이름, 팀 라인, ON REQUEST 승인
SP95 작업 4 (spec §5.2, D1, D4, D10, D15, D24) : - AiActionClass는 PLACE INTERNAL CALL (AUTONOMOUS)을 얻고 있습니다. 헌팅턴병 PLACE CALL의 소스와 함께 PLACE INTERNAL CALL FORBIDDEN을 지명하지 않은 경우 PLACE CALL은 FORBIDDEN을 해결했습니다. APPROVAL 단면도 모자는 종류 조사 (19)를 따릅니다. - AiVoiceConsentVia는 MEMBER PROFILE를 얻습니다; **************** - OrgSpokenName: 짧은 이름, 다른 표시 이름, 다른 법적 이름. * * * * * * (DEFAULT TRANSFER EXTENSION, 무효). - AiCallEventType은 CONSENT BASIS를 얻습니다. - AiApprovalMode는 ON REQUEST를 얻습니다. AiApproval.requestRef (request ref VARCHAR(200)). 두 개의 새로운 열이 존재해야합니다 (SP95 작업 3의 DDL) 이 도달 메인 전에.
· AIService
AI 회원의 연설 모델 당 음성을 기억하고, 유지하거나 다시 시도하는 해결자
Ai member voices store (JDBC, TransientDbRetry, compare-and-set re-picks, 시간 접촉, CHOSEN upsert 및 1-statement 선호되는 깃발), 회원은 그것을 필요로 합니다 (AI, 성, 언어), 그리고 SP96 spec의 순수한 결심자 섹션 5.4: 패스, 사용, KEEP 또는 PICK 당 후보자, 언어 다음 성별 계층, 선호된 목소리에 고정
· VOIPService
전화 서버의 팀 라인에 대한 DDL 파일
SP95 작업 2. **************** a nullable VARCHAR (20)는 AI의 이름이 없는 전송을 보유하고 있습니다. 반지 (팀 라인, k1m1 FreePBX에서 8200). Hand-applied 로 작업 3 그것을 지도하는 구조의 앞에; Sp95DdlContract 테스트 핀 파일에 spec's one re-runnable, 첨가물, nullable 문.
· SecurityService
휴대 전화 확장 및 워크 스테이션을 떠나는 SP96 고용 옵션
AI 고용의 생성 몸은iPhoneExtension 및 aiWorkstation (JSON booleans, true 때 absent). 왼쪽 단계는 NOT REQUESTED AT HIRE로 SKIPPED를 만들었습니다. 그래서 고용은 여전히 COMPLETE에 도달, 그리고 재스트 경로는 지금 설정으로 다시 열. checklist 보기는 같은 행 SkippedAtHire와 재시동할 수 있습니다. 은퇴 relabels 은퇴한 이유가 있으므로 은퇴한 AI를 설정할 수 없습니다.
· AIService
그 기록에서 목소리의 성별, curated 테이블 또는 그 스타일, 그리고 공급 업체의 성별 조사에 의해 유지
SP96 작업 7. VoiceGender {FEMALE, MALE, NEUTRAL, UNKNOWN}과 lenient 파스, 그리고 VoiceGenders.of (유형, 모델, 레코드) 주문에서 spec 5.3 적용: 컨벤션, Piper norman, Deepgram thalia), 정확히 여성 / 남성의 스타일, 다른 UNKNOWN. VoiceInfo는 성별을 얻습니다: ElevenLabs 지도 레이블. 성별, 없음. ProbeRunner는 다른 목소리 필드와 함께 성별을 저장합니다. 아무것도 읽습니다 성별 아직 (Task 8).
· SecurityService
SP96 성별 에 이 회원 프로필 고 에 창조, 문 에 개인 데이터
GET /api/security/members/{id} 이름 성별 (여성, 남성 또는 null)에만 그것을 읽을 수 있는 통화꾼 (MemberSexAccess, spec D3); 열쇠는 absent를 위해 입니다 다른 사람. PUT는 나쁜 값 (400 필드 성별)을 거부 할 수있는 통화 작성되지 않음 (403 NOT ALLOWED 필드 성) 모든 것이 쓰기 전에, 세트 그것은, 및 회원 이외의 다른 사람에 의해 변경 감사: AI의와 값, 그들없이 사람의. 회원 생성은 성별을 읽습니다. 같은 memberSexWire를 통해 어떤 레코드에 대한 신체.
· kamo-shared-library
SP96 memberSex, member.sex 과 성별 에 이 음성 기록
이름 * 성은 무효 STRING 칼럼 (여성 | 남성, null = not 지정된), 그래서 AI 회원은 일치하는 목소리로 말할 수 있습니다. TTS와 REALTIME AUDIO 음성 기록은 선택적 성별 필드를 허용합니다.

당신의 우주는 기다리고 있습니다.
몇 분 안에 무료로 시작하세요. 준비가 되면 언제든지 제품을 추가할 수 있습니다.
영원히 무료 - 신용 카드 필요 없음