Skip to content

Commit

Permalink
add better metadata for skills
Browse files Browse the repository at this point in the history
  • Loading branch information
Shackless committed May 16, 2024
1 parent bbb8888 commit 6a6618e
Show file tree
Hide file tree
Showing 8 changed files with 261 additions and 10 deletions.
17 changes: 14 additions & 3 deletions api/interface.py
Original file line number Diff line number Diff line change
Expand Up @@ -457,20 +457,31 @@ class CustomWingmanProperty(BaseModel):
"""If property_type is set to 'single_select', you can provide options here."""


class LocalizedMetadata(BaseModel):
en: str
de: Optional[str] = None


class SkillExample(BaseModel):
question: LocalizedMetadata
answer: LocalizedMetadata


class SkillConfig(CustomWingmanClassConfig):
description: Optional[str] = None
prompt: Optional[str] = None
"""An additional prompt that extends the system prompt of the Wingman."""
commands: Optional[list[CommandConfig]] = None
custom_properties: Optional[list[CustomWingmanProperty]] = None
"""You can add custom properties here to use in your custom skill class."""
description: Optional[LocalizedMetadata] = None
hint: Optional[LocalizedMetadata] = None
examples: Optional[list[SkillExample]] = None
commands: Optional[list[CommandConfig]] = None


class SkillBase(BaseModel):
name: str
config: SkillConfig
logo: Optional[Annotated[str, Base64Str]] = None
description: Optional[str] = None


class NestedConfig(BaseModel):
Expand Down
26 changes: 25 additions & 1 deletion skills/control_windows/default_config.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,29 @@
name: ControlWindows
module: skills.control_windows.main
description: Control Windows.
description:
en: Launch applications and control your Windows computer.
de: Starte Anwendungen und steuere deinen Windows-Computer.
hint:
en: This skill looks for applications in your Start Menu directory (%APPDATA%/Microsoft/Windows/Start Menu/Programs), so if it tells you that it cannot find an application, create a shortcut in that directory.
de: Dieser Skill sucht nach Anwendungen in deinem Startmenü-Verzeichnis (%APPDATA%/Microsoft/Windows/Start Menu/Programs). Wenn er dir also sagt, dass er eine Anwendung nicht finden kann, erstelle eine Verknüpfung in diesem Verzeichnis.
examples:
- question:
en: Open Spotify.
de: Öffne Spotify.
answer:
en: (opens the Spotify application)
de: (öffnet die Spotify-Anwendung)
- question:
en: Activate Notepad.
de: Aktiviere Notepad.
answer:
en: (maximizes the Notepad application)
de: (maximiert die Notepad Anwendung)
- question:
en: Close Notepad.
de: Schließe Notepad.
answer:
en: (closes the Notepad application)
de: (schließt die Notepad Anwendung)
prompt: |
You can also control Windows Functions, like opening and closing applications.
50 changes: 49 additions & 1 deletion skills/spotify/default_config.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,54 @@
name: Spotify
module: skills.spotify.main
description: Control your Spotify music player client using its WebAPI. You need to create a Spotify Developer app and start the Spotify client on your computer.
description:
en: Control Spotify using the the WebAPI. Play songs, artists playlists. Control playback, volume, and more. All powered by AI!
de: Steuere Spotify mit der WebAPI. Spiele Lieder, Künstler und Playlists ab. Steuere die Wiedergabe, Lautstärke und mehr. Alles von KI gesteuert!
hint:
en: <ul class="list-disc"><li>Create an app in the <a class="anchor" target="_blank" href="https://developer.spotify.com/dashboard">Spotify Dashboard</a>.</li><li>Select "Web API" and "Web Playback SDK" as APIs used</li><li>Add http://127.0.0.1:8082 as Redirect URI</li><li>Enter Client ID and Client secret here</li></ul>
de: <ul class="list-disc"><li>Erstelle eine App im <a class="anchor" target="_blank" href="https://developer.spotify.com/dashboard">Spotify Dashboard</a>.</li><li>Wähle "Web API" und "Web Playback SDK" als verwendete APIs</li><li>Füge http://127.0.0.1:8082 as Redirect URI hinzu</li><li>Gib die Client ID and das Client Secret hier ein</li></ul>
examples:
- question:
en: Play the song Californication.
de: Spiele das Lied Californication.
answer:
en: Now playing 'Californication' by Red Hot Chili Peppers.
de: \'Californication\' von Red Hot Chili Peppers wird abgespielt.
- question:
en: What's the current song?
de: Wie heißt das aktuelle Lied?
answer:
en: You are currently listening to 'Californication' by Red Hot Chili Peppers.
de: Du hörst gerade 'Californication' von Red Hot Chili Peppers.
- question:
en: My girlfriend left me. Play a really sad song to match my mood.
de: Meine Freundin hat mich verlassen. Spiele ein wirklich trauriges Lied, das zu meiner Stimmung passt.
answer:
en: I'm sorry for you. Now playing 'Someone Like You' by Adele.
de: Es tut mir leid für dich. Jetzt wird "Someone Like You" von Adele gespielt.
- question:
en: Play the most popular song from the musical Les Miserables.
de: Spiele das beliebteste Lied aus dem Musical Les Miserables.
answer:
en: Playing 'I Dreamed a Dream' from Les Miserables.
de: \'I Dreamed a Dream\' aus Les Miserables wird abgespielt.
- question:
en: That's a cover song. Play the real version!
de: Das ist ein Cover-Song. Spiele die echte Version aus dem Film!
answer:
en: Playing 'I Dreamed a Dream' by Anne Hathaway from Les Miserables.
de: Spiele 'I Dreamed a Dream' von Anne Hathaway aus Les Miserables.
- question:
en: What are my Spotify devices?
de: Was sind meine Spotify-Geräte?
answer:
en: You have 2 devices available - 'Gaming PC' and 'iPhone'.
de: Du hast 2 Geräte verfügbar - 'Gaming PC' und 'iPhone'.
- question:
en: Play the music on my iPhone.
de: Spiele die Musik auf meinem iPhone ab.
answer:
en: Moves the current playback to your iPhone
de: Überträgt die Spotify-Wiedergabe auf das iPhone
prompt: |
You are also an expert DJ and music player interface responsible to control the Spotify music player client of the user.
You have access to different tools or functions you can call to control the Spotify client using its API.
Expand Down
26 changes: 25 additions & 1 deletion skills/star_head/default_config.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,30 @@
name: StarHead
module: skills.star_head.main
description: Use the StarHead API to retrieve detailed information about spaceships, components, weapons and more. StarHead can also calculate optimal trading routes based on live data.
description:
en: Use the StarHead API to retrieve detailed information about spaceships, weapons and more. StarHead can also calculate optimal trading routes based on live data.
de: Nutze die StarHead API, um detaillierte Informationen über Raumschiffe, Waffen und mehr abzurufen. StarHead kann auch optimale Handelsrouten anhand von Live-Daten berechnen.
# hint:
# en:
# de:
examples:
- question:
en: I want to trade. What's the best route?
de: Ich möchte handeln. Was ist die beste Route?
answer:
en: To provide you with the best trading route, I need to know your ship model, your current location, and your available budget. Could you please provide these details?
de: Um dir die beste Handelsroute anbieten zu können, muss ich dein Schiffsmodell, deinen aktuellen Standort und dein verfügbares Budget kennen. Kannst du mir diese Angaben bitte mitteilen?
- question:
en: I'm flying a Caterpillar and am near Yela. I have 100.000 credits to spend.
de: Ich fliege eine Caterpillar und bin in der Nähe von Yela. Ich habe 100.000 Credits auszugeben.
answer:
en: You can buy Stims at Deakins Research Outpost near Yela for 2.8 credits/unit and sell them at CRU-L1 Ambitious Dream Station for 3.85 credits/unit. The total profit for this route is approximately 37499 credits, and the travel time estimation is 41 minutes.
de: Du kannst Stims bei Deakins Research Outpost in der Nähe von Yela für 2,8 Credits/Stück kaufen und sie bei CRU-L1 Ambitious Dream Station für 3,85 Credits/Stück verkaufen. Der Gesamtgewinn für diese Route beträgt ca. 37499 Credits, und die geschätzte Reisezeit beträgt 41 Minuten.
- question:
en: What can you tell me about the Caterpillar?
de: Was kannst du mir über die Caterpillar erzählen?
answer:
en: The Constellation Taurus is a dedicated freighter, designed for hauling cargo. It has a cargo capacity of 174 SCU and is fully configurable but without all the bells and whistles found on other Constellation variants. On the other hand, the Constellation Andromeda is a multi-person freighter and the most popular ship in RSI's current production array. It has a cargo capacity of 96 SCU and is beloved by smugglers and merchants alike for its modular and high-powered capabilities. Both are part of the Constellation series, but the Taurus specifically caters to dedicated freight operations whereas the Andromeda serves as a multi-person versatile ship.
de: Die Constellation Taurus ist ein reiner Frachter, der für den Transport von Fracht entwickelt wurde. Er hat eine Ladekapazität von 174 SCU und ist voll konfigurierbar, hat aber nicht den ganzen Schnickschnack der anderen Constellation-Varianten. Die Constellation Andromeda hingegen ist ein Mehrpersonen-Frachter und das beliebteste Schiff in der aktuellen Produktion von RSI. Sie hat eine Ladekapazität von 96 SCU und ist bei Schmugglern und Händlern wegen ihrer modularen und leistungsstarken Fähigkeiten gleichermaßen beliebt. Beide gehören zur Constellation-Serie, aber die Taurus ist speziell für den reinen Frachtverkehr gedacht, während die Andromeda ein vielseitiges Schiff für mehrere Personen ist.
prompt: |
You have access to the StarHead API which you can use to access live trading data and to retrieve additional information about spaceships in Star Citizen.
Your job is to find good trading routes for the user based on his/her ship, current location and available budget.
Expand Down
50 changes: 49 additions & 1 deletion skills/uexcorp/default_config.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,54 @@
name: UEXCorp
module: skills.uexcorp.main
description: Use the UEXcorp API to get live trading and lore information about ships, locations, commodities and more in Star Citizen.
description:
en: Use the UEXCorp API to get live trading and lore information about ships, locations, commodities and more in Star Citizen.
de: Nutze die UEXCorp API, um live Handels- und Lore-Informationen über Schiffe, Orte, Rohstoffe und mehr in Star Citizen zu erhalten.
# hint:
# en:
# de:
examples:
- question:
en: Please provide me a the best two trading routes for my Caterpillar, Im currently at Hurston.
de: Bitte nenne mir die zwei besten Handelsrouten für meine Caterpillar, die derzeit in Hurston steht.
answer:
en: You have two highly profitable trading routes available. The first route involves transporting Recycled Material Composite from Pickers Field on Hurston to Orison - Trade & Development Division on the planet Crusader, offering a profit of 2,148,480 aUEC for 576 SCU of cargo. The second route entails shipping Laranite from HDMS-Lathan on the satellite Arial back to Central Business District in Lorville, resulting in a profit of 297216 aUEC for the same cargo capacity.
de: Du hast zwei hochprofitable Handelsrouten zur Verfügung. Auf der ersten Route transportierst du Recyclingmaterial von Pickers Field auf Hurston nach Orison - Trade & Development Division auf dem Planeten Crusader und erzielst einen Gewinn von 2.148.480 AUEC für 576 SCU Fracht. Auf der zweiten Route wird Laranit von HDMS-Lathan auf dem Satelliten Arial zurück zum Central Business District in Lorville transportiert, was einen Gewinn von 297216 AUEC für die gleiche Frachtkapazität bedeutet.
- question:
en: I got 3000 SCU of Hydrogen loaded in my Hull-C, where can I sell it?
de: Ich habe 3000 SCU Hydrogen in meinem Hull-C geladen. Wo kann ich ihn verkaufen?
answer:
en: You can sell the 3000 SCU of Hydrogen at Baijini Point, located on ArcCorp in the Stanton system.
de: Du kannst die 3000 SCU Hydrogen am Baijini Point auf ArcCorp im Stanton-System verkaufen.
- question:
en: What can you tell me about the Hull-C?
de: Was kannst du mir über den Hull-C erzählen?
answer:
en: The Hull-C is manufactured by Musashi Industrial & Starflight Concern and falls under the 'HULL' series. It serves as a freighter and has a cargo capacity of 4608 SCU. The ship can be purchased at New Deal in Lorville, Hurston for 15,750,000 aUEC. It can accommodate a crew of 1-4 and is designed for trading on suitable space stations with a cargo deck.
de: Die Hull-C wird von Musashi Industrial & Starflight Concern hergestellt und gehört zur "HULL"-Serie. Sie dient als Frachter und hat eine Frachtkapazität von 4608 SCU. Das Schiff kann bei New Deal in Lorville, Hurston für 15.750.000 AUEC erworben werden. Es kann eine Besatzung von 1-4 Personen aufnehmen und ist für den Handel mit geeigneten Raumstationen mit einem Frachtdeck ausgelegt.
- question:
en: What is the difference between the Mole and Prospector?
de: Was ist der Unterschied zwischen dem Maulwurf und dem Prospector?
answer:
en: The MOLE is a mining ship manufactured by ARGO Astronautics, with a capacity for 2-4 crew members and a cargo hold of 96 SCU. It is flyable since version 3.8.0 and is available for purchase at Lorville on Hurston for 5,130,500 aUEC. On the other hand, the Prospector, manufactured by Musashi Industrial & Starflight Concern, is a smaller mining vessel designed for a single crew member, with a cargo capacity of 32 SCU. It is flyable since version 3.0.0 and can be purchased at Lorville for 2,061,000 aUEC. The Prospector is also available for rent at various locations in the Stanton system, unlike the MOLE.
de: Die MOLE ist ein von ARGO Astronautics hergestelltes Bergbauschiff mit einer Kapazität für 2-4 Besatzungsmitglieder und einem Laderaum von 96 SCU. Sie ist seit Version 3.8.0 flugfähig und kann bei Lorville auf Hurston für 5.130.500 AUEC gekauft werden. Der Prospector, hergestellt von Musashi Industrial & Starflight Concern, ist ein kleineres Bergbauschiff für ein einziges Besatzungsmitglied und hat eine Ladekapazität von 32 SCU. Er ist seit Version 3.0.0 flugfähig und kann auf Lorville für 2.061.000 AUEC gekauft werden. Im Gegensatz zur MOLE kann der Prospector auch an verschiedenen Orten im Stanton-System gemietet werden.
- question:
en: What do you know about the commodity Neon?
de: Was weißt du über die Ware Neon?
answer:
en: The commodity 'Neon' is categorized as a drug and is available for purchase at Nuen Waste Management for 7,000 aUEC. It is also sellable at Grim HEX for 8,428 aUEC and Jumptown for 8,805 aUEC. However, it's important to note that Neon is illegal, and engaging in activities involving this commodity may lead to fines and a crimestat. It's advisable to avoid ship scans to mitigate the risk of penalties.
de: Die Ware "Neon" wird als Droge eingestuft und kann bei Nuen Waste Management für 7.000 AUEC gekauft werden. Außerdem kann es bei Grim HEX für 8.428 AUEC und bei Jumptown für 8.805 AUEC verkauft werden. Es ist jedoch wichtig zu wissen, dass Neon illegal ist und dass der Handel mit dieser Ware zu Geldstrafen und einer Strafe führen kann. Es ist ratsam, Schiffsscans zu vermeiden, um das Risiko von Strafen zu minimieren.
- question:
en: What is the best place to buy Laranite?
de: Wo kann ich Laranit am besten kaufen?
answer:
en: The best place to buy Laranite for your Caterpillar is at ArcCorp Mining Area 045, located on the satellite Wala in the Stanton system. It's available for purchase at 2,322 aUEC per SCU.
de: Der beste Ort, um Laranit für deine Caterpillar zu kaufen, ist das ArcCorp-Bergbaugebiet 045, das sich auf dem Satelliten Wala im Stanton-System befindet. Du kannst es für 2.322 AUEC pro SCU kaufen.
- question:
en: Where is the satellite Wala located?
de: Wo befindet sich der Satellit Wala?
answer:
en: The satellite Wala is located in the ArcCorp system, orbiting the planet ArcCorp. It hosts various trading options, including locations like ArcCorp Mining Area 045, ArcCorp Mining Area 048, ArcCorp Mining Area 056, ArcCorp Mining Area 061, Shady Glen Farms, and Samson & Son's Salvage Center.
de: Der Satellit Wala befindet sich im ArcCorp-System und umkreist den Planeten ArcCorp. Er beherbergt verschiedene Handelsmöglichkeiten, darunter Orte wie ArcCorp Mining Area 045, ArcCorp Mining Area 048, ArcCorp Mining Area 056, ArcCorp Mining Area 061, Shady Glen Farms und Samson & Son's Salvage Center.
prompt: |
You have tools to access the UEXcorp API which you can use to retrieve live trading data and additional information about ships, locations, commodities and more in Star Citizen.
Here are some examples when to use the different tools at your disposal:
Expand Down
26 changes: 25 additions & 1 deletion templates/skills/control_windows/default_config.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,29 @@
name: ControlWindows
module: skills.control_windows.main
description: Control Windows.
description:
en: Launch applications and control your Windows computer.
de: Starte Anwendungen und steuere deinen Windows-Computer.
hint:
en: This skill currently only looks for applications in your Start Menu directory (%APPDATA%/Roaming/Microsoft/Windows/Start Menu/Programs), so if it tells you that it cannot find an application, create a shortcut in that directory.
de: Dieser Skill sucht derzeit nur nach Anwendungen in deinem Startmenü-Verzeichnis (%APPDATA%/Roaming/Microsoft/Windows/Start Menu/Programs). Wenn er dir also sagt, dass er eine Anwendung nicht finden kann, erstelle eine Verknüpfung in diesem Verzeichnis.
examples:
- question:
en: Open Spotify.
de: Öffne Spotify.
answer:
en: (opens the Spotify application)
de: (öffnet die Spotify-Anwendung)
- question:
en: Activate Notepad.
de: Aktiviere Notepad.
answer:
en: (maximizes the Notepad application)
de: (maximiert die Notepad Anwendung)
- question:
en: Close Notepad.
de: Schließe Notepad.
answer:
en: (closes the Notepad application)
de: (schließt die Notepad Anwendung)
prompt: |
You can also control Windows Functions, like opening and closing applications.
Loading

0 comments on commit 6a6618e

Please sign in to comment.