AyCode Doku

Doku / Nachschlagen

Module entwickeln

Eigene Erweiterungen für AyCode bauen, ohne den Quellcode von AyCode: ein Ordner, ein Programm, klare Rechte.

2 Min. LesezeitAyCode 7.2.0

In einer Minute zum ersten Modul

  1. Einstellungen → Module → Neues Modul anlegen und einen leeren Ordner wählen.
  2. AyCode schreibt ein Modul, das sofort läuft: Manifest aycode-module.json, ein Skill, ein Programm in server/index.mjs mit dem SDK server/aycode.mjs und Tests. Der Ordner ist danach verknüpft.
  3. Die Karte des Moduls zeigt, was es darf. Erlauben und einschalten, dann im Chat $name-des-moduls erwähnen.
  4. Tests laufen ohne AyCode: node --test server/index.test.mjs.

Das SDK ist eine einzige Datei ohne Abhängigkeiten (Node 18 oder neuer). Die Anleitung liegt im neuen Ordner als README.md.

Getrennt von AyCode

Eigener Code läuft als eigenes Programm, ein MCP-Server, den die Agenten aufrufen, nie in AyCode selbst. Mit AyCode spricht das Programm nur über die Modul-Schnittstelle: nur auf diesem Computer (127.0.0.1), mit einem eigenen Schlüssel pro Modul, versioniert. Über die Schnittstelle kann ein Modul nicht für ein anderes sprechen und nicht dessen Speicher lesen.

Die Rechte regeln, was AyCode einem Modul gibt, nicht, was sein Programm auf dem Computer tut: Es läuft mit deinen Benutzerrechten und kann alles, was du auch kannst, also auch Dateien direkt lesen. Die eigentliche Grenze ist die Herkunft: öffentliche Module müssen signiert sein, und einem Herausgeber vertraust du bewusst. Eine Abschottung auf Systemebene ist geplant.

Rechte

Eigene Einstellungen und eigenen Speicher darf jedes Modul nutzen. Alles andere steht im Manifest unter permissions, und du bestätigst es vor dem Einschalten. Verlangt ein Update mehr, fragt AyCode erneut.

RechtWas das Modul darf
brain:readNotizen im zweiten Hirn suchen und lesen, Gemerktes abfragen
brain:proposeÄnderungen an Notizen vorschlagen; du bestätigst jede einzeln
notifyHinweise in AyCode zeigen, höchstens sechs pro Minute
projects:readdeine Projekte und ihre Ordner sehen

Die Schnittstelle

Aufruf im SDKRecht
aycode.app.info()immer
aycode.settings()immer
aycode.storage.get / set / delete / keysimmer (4 MB je Modul)
aycode.brain.search / note / related / memorybrain:read
aycode.brain.proposeNote({ path, text, reason })brain:propose
aycode.notify(text)notify
aycode.projects.list()projects:read

Fehler kommen mit einem Code (forbidden, off, unavailable …) und einer verständlichen Meldung. Wer in einer anderen Sprache schreibt, nutzt das Protokoll direkt: POST /v1/call mit dem Schlüssel des Moduls; Adresse und Schlüssel gibt AyCode dem Programm als Umgebungsvariablen mit.

Weitergeben

  • Privat: nur für dich, darf unsigniert sein.
  • Öffentlich: für alle, muss mit deinem Herausgeber-Schlüssel signiert sein. Jede Version mit demselben Schlüssel, sonst nimmt AyCode das Update nicht an.
  • Lizenziert: für Käufer mit Lizenzschlüssel, den du mit demselben Schlüssel ausstellst. AyCode prüft ihn ohne Netz.

Gepackt wird ein Modul zu einer .aymodule-Datei, die man unter Module → Modul installieren öffnet.