Günümüzde, bilgisayarınızı iş akışınıza uyacak şekilde ayarlamak, genellikle birçok kontrol paneli arasında menüler ve ayarlar arasında dolaşmayı gerektiriyor. Proje G-Assist, kullanıcıların RTX GPU’larını ve diğer PC ayarlarını doğal dil arayüzü kullanarak kontrol etmelerine yardımcı olmak amacıyla tasarlanmış deneysel bir yapay zeka asistanıdır. G-Assist, sık kullanılan NVIDIA uygulama komutlarını çalıştırabilir, performansı optimize edebilir, performans istatistiklerini izleyebilir ve çok daha fazlasını yapabilir. Ayrıca, G-Assist’i oyun oynarken veya yaratım yaparken NVIDIA Uygulama Overlay aracılığıyla kullanmak da mümkün; bu sayede alt+tab yapmanıza gerek kalmaz.
En önemlisi, G-Assist, topluluk tarafından diğer donanımlar veya uygulamalar üzerinde kontrol sağlamak üzere eklentilerle genişletilebilir. Örneğin, fare ayarlarınızı, Spotify’da çalan müziği veya hatta IFTTT ile akıllı cihazlarınızı kontrol edebilirsiniz.
G-Assist, PC’nizde AI destekli rutinler oluşturmanın kolay bir yolunu sunuyor. G-Assist, yerel olarak çalışabilen küçük bir dil modeli (SLM) ile birlikte bir altyapı sunar; geliştiricinin yapması gereken tek şey tetiklemek istediği fonksiyonları sağlamaktır. Bu süreç, GPT tabanlı bir Eklenti Oluşturucu sayesinde daha da kolaylaştırılmıştır.
Kendi G-Assist Eklentinizi Oluşturma
Bu blog yazısında, bir Twitch entegrasyonu örneği kullanarak kendi G-Assist eklentinizi nasıl oluşturabileceğinizi göstereceğiz. Eklentilerin nasıl çalıştığını, G-Assist ile nasıl iletişim kurduğunu öğrenecek ve kendi eklentinizi baştan sona nasıl inşa edebileceğinizi göreceksiniz. İster bir Python geliştiricisi, ister C++ meraklısı olun ya da yeni başlıyor olun, eklenti geliştirmeyi hızlı ve erişilebilir hale getirmek için araçlar ve şablonlar sunuyoruz.

G-Assist Eklentileri Nedir?
G-Assist eklentileri, yeni işlevler tanımlayan eklerdir, böylece G-Assist kullanıcıları, bu eklentileri basit metin veya sesli komutlarla doğal dil kullanarak çalıştırabilir.
Eklenti komutları tamamen kullanıcı tarafından tanımlanır ve bir basit manifest formatı kullanılarak G-Assist SLM tarafından sorgu anında yorumlanır. Eklentilerinizi Python veya C++ dillerinde, GitHub’da sağladığımız şablonları kullanarak yazabilirsiniz. Minimal ayarlarla, performans analizörlerinden akıllı ev rutinlerine kadar kendi sesli ve metin tabanlı erişilebilir araçlarınızı oluşturabilirsiniz.
Başlangıç için Araçlar
- GPT Eklenti Oluşturucu: Bir özel GPT ile kod yazımı yapılmasına yardımcı olur. Eklenti kodunu ve dosyalarını oluşturmanın yanı sıra, API’ler ve yeteneklerini keşfetmenize veya eklenti işlevselliği hakkında beyin fırtınası yapmanıza yardımcı olur.
- Eklenti şablonları (Python ve C++): Önceden hazırlanmış şablonlar, eklenti yapısını, yapılandırmasını, iletişim mantığını ve işlev tanımlarını sizin için kurar.
Eklenti örnekleri: Twitch, Discord, Nanoleaf, IFTTT entegrasyonları gibi gelişen bir eklenti örnekleri listesi bulunmaktadır ve bunlar tamamen açık kaynak projeler olarak sunulmaktadır.
Twitch Eklentisi: Bir Yayıncının Canlı Olup Olmadığını Kontrol Etme
Gerçek bir örneğe bakalım. Bu eklenti, bir Twitch yayıncısının şu anda canlı olup olmadığını kontrol eder ve yayın başlığı, oyun, izleyici sayısı ve yayının başlangıç zamanı gibi detayları geri döner.
Örnek yanıtlar:
ninja CANLI!
Başlık: Cuma Fortnite!
Oyun: Fortnite
İzleyiciler: 45,231
Başlama Zamanı: 2024-03-14T12:34:56Z
Veya:
shroud OFFLINE
Gereksinimler
Eklentinizi oluşturmak için şunlara ihtiyacınız olacak:
- Sisteminizde Python 3.12’nin yüklü olması
- Bir Twitch Geliştirici Uygulaması (istemci kimliğinizi ve gizli anahtarınızı almak için)
- GitHub’dan G-Assist Python eklenti şablonunu edinmelisiniz.
Eklenti Yapısı
Eklentiniz dört ana dosya içerecektir:
1. manifest.json
Bu dosya, eklentinin mevcut işlevlerini ve parametrelerini tanımlar. G-Assist’in eklentinin ne yapabileceğini anlamasına yardımcı olur. İşlev ve parametre açıklamaları, G-Assist SLM’nin kullanıcı girdilerini doğru işlevle eşleştirmesine ve çalıştırmak için gerekli parametreleri belirlemesine olanak tanır.
{
"manifestVersion": 1,
"executable": "g-assist-plug-in-twitch.exe",
"persistent": false,
"functions": [
{
"name": "check_twitch_live_status",
"description": "Bir Twitch kullanıcısının canlı olup olmadığını kontrol eder ve yayın detaylarını alır.",
"tags": ["twitch", "live_status"],
"properties": {
"username": {
"type": "string",
"description": "Kontrol edilecek Twitch kullanıcı adı."
}
}
}
]
}
2. config.json
Bu dosya, Twitch İstemci Kimliği ve Gizli Anahtarınızı içerir. Twitch API’sine kimlik doğrulamak için gereklidir. Bu dosya asla paylaşılmamalıdır, çünkü hassas kimlik bilgilerini barındırır. Eklenti dizininin yönetici kısıtlaması olduğu için dosya sisteminizde güvende kalır.
{
"TWITCH_CLIENT_ID": "your_client_id_here",
"TWITCH_CLIENT_SECRET": "your_client_secret_here"
}
3. plug-in.py
Tüm eklenti mantığını içerir: Kimlik doğrulama, API istekleri, yanıtları çözümleme ve G-Assist ile iletişim Windows adlandırılmış boruları aracılığıyla gerçekleştirilir.
İşte ana döngü:
def main():
setup_logging()
logging.info("Twitch Eklentisi Başlatıldı")
while True:
command = read_command()
if command is None:
continue
for tool_call in command.get("tool_calls", []):
func = tool_call.get("func")
params = tool_call.get("params", {})
if func == "check_twitch_live_status":
response = check_twitch_live_status(params)
write_response(response)
elif func == "shutdown":
return
Komutlar, şu şekilde JSON biçiminde düzenlenir:
{
"tool_calls": [{
"func": "check_twitch_live_status",
"params": {
"username": "nvidia"
}
}]
}
Yanıtlar, bir başarı bayrağı ve mesaj dizesi içermelidir. G-Assist, Markdown biçimlendirmesini destekler:
{
"success": true,
"message": "nvidia CANLI!nBaşlık: NVIDIA Oyun YayınınOyun: Cyberpunk 2077nİzleyiciler: 1234"
}<<END>>
Windows Adlandırılmış Boru İletişimi
G-Assist ve eklentiniz, Windows “adlandırılmış borular” kullanarak iletişim kurar. Girdi komutları eklentiye JSON mesajları olarak gönderilir ve yanıtlar aynı formatta geri yazılmalıdır — bir yanıtın sonunu işaretlemek için <<END>>
eklenmelidir.
Hem read_command
hem de write_response
eklenti şablonuna dahildir. read_command
, büyük girdilere destek sağlamak için parça parça okuma işlemi yapar. write_response
çıktıyı biçimlendirir ve gerekli son etiketi ekler. Taşıma katmanı soyutlanmıştır, böylece komut işlemeye odaklanabilirsiniz.
Twitch API Entegrasyonu
Twitch ile iletişim kurmak için OAuth 2.0 istemci kimlik bilgileri akışını kullanıyoruz:
def get_oauth_token():
try:
response = requests.post(
TWITCH_OAUTH_URL,
params={
"client_id": config.get("TWITCH_CLIENT_ID"),
"client_secret": config.get("TWITCH_CLIENT_SECRET"),
"grant_type": "client_credentials"
}
)
return response.json().get("access_token")
except Exception as e:
logging.error(f"OAuth token alınırken hata: {e}")
return None
Bir token aldıktan sonra kullanıcının canlı olup olmadığını kontrol ediyoruz:
def check_twitch_live_status(params: Dict[str, str]):
username = params.get("username")
oauth_token = get_oauth_token()
headers = {
"Client-ID": config.get("TWITCH_CLIENT_ID"),
"Authorization": f"Bearer {oauth_token}"
}
response = requests.get(
TWITCH_STREAM_URL,
headers=headers,
params={"user_login": username}
)
data = response.json().get("data", [])
if data:
stream = data[0]
return {
"success": True,
"message": (
f"{username} CANLI!n"
f"Başlık: {stream['title']}n"
f"Oyun: {stream.get('game_name', 'Bilinmiyor')}n"
f"İzleyiciler: {stream['viewer_count']}"
)
}
return {"success": True, "message": f"{username} OFFLINE"}
Daha Fazla Eklenti Fikirleri
Daha fazla eklenti örneğini GitHub’da bulabilirsiniz. Her biri G-Assist’i genişletmenin farklı yollarını sergilemektedir.
- IFTTT eklentisi: Basit sesli veya yazılı komutlarla akıllı ev rutinlerini tetikleyin — örneğin, “Oyun zamanı!” diyerek özel bir rutini aktive edebilirsiniz.
- Discord eklentisi: Bir bot kullanarak belirli bir Discord kanalına mesaj, resim veya video gönderin. Ayrıca arkadaş durumunu kontrol etme, oyun aktivitelerini sorgulama veya belirli kanallara gönderi yapma yeteneklerini de geliştirebilirsiniz.
- Nanoleaf eklentisi: Nanoleaf aydınlatmanızı IP üzerinden kontrol edin — G-Assist sohbeti aracılığıyla renk ayarlayın ve parlaklığı değiştirin. Gelecek iyileştirmeler arasında özel profillerin desteklenmesi, mevcut cihaz durumunu okuma ve birden fazla ışığı yönetme yer alabilir.
Her örnek, farklı entegrasyon kalıplarını vurgular ve incelemeniz, özelleştirmeniz ve üzerine inşa etmeniz için tamamen açık kaynak olarak sunulmuştur.
Plug and Play Hackathon’a Katılın
Proje G-Assist Eklentisi Oluşturma Hackathon’umuza katılmak için buradan kayıt olabilirsiniz. Kayıt olduğunuzda, yeni komutlar ekleyen, harici araçlarla bağlantı kuran ve belirli ihtiyaçlara uygun AI iş akışlarını kullanan özel bir G-Assist eklentisi oluşturun — metin veya sesli komutlara yanıt veren, cihaz içi AI destekli işlevsellik sağlamak için. Son olarak, eklentinizi buradaki başvuru formumuza gönderin (Giriş sayfamızdaki gereksinimlere göz atmayı unutmayın).
En iyi eklenti girişleri, NVIDIA GeForce RTX 5090 dizüstü bilgisayarı, NVIDIA GeForce RTX 5080 GPU veya NVIDIA GeForce RTX 5070 GPU kazanma şansına sahip olacak.
Topluluğa Katılın
Amaç, eklenti oluşturma işlemini açık ve işbirlikçi hale getirmektir. Şablonlar, tam örnekler ve belgeleri G-Assist GitHub’ında bulacaksınız.
Eklentinizle ilgili sorularınız varsa veya daha fazla bilgi edinmek istiyorsanız, RTX AI Atölyesi: Proje G-Assist Eklentisi Nasıl Oluşturulur çevrimiçi seminerimize katılın. 9 Temmuz 2025’te NVIDIA uzmanlarından eklenti projeleriniz hakkında sorularınızı sorma fırsatı bulacaksınız.
Ayrıca Discord topluluğumuza katılabilir, yaratıcılığınızı paylaşabilir, G-Assist ile ilgili tartışmalara katılabilir ve topluluk üyeleri veya NVIDIA uzmanlarından yardım alabilirsiniz.