Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

AI Assistant

Aperta Adatta ai principianti
#183 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
83/100
Tipo di issue
Funzionalità
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
github, python
Ambito
release

Direzione di ricerca

Leggi AddonCatalog.schema.json dell’Addon Manager e le voci esistenti nell’indice per confermare la struttura della voce AIAssistant proposta. Convalida la voce fornita con un solo hunk rispetto allo schema e verifica che i dettagli del repository e della release corrispondano all’issue. Il lavoro è completato quando l’addon è elencato con il repository proposto, il branch master, FreeCAD 1.0.0 come versione minima e l’URL dell’archivio.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

+ 💿 𝗔𝗱𝗱𝗼𝗻
🔌 Repository

https://github.com/iplayfast/FreeCAD-AI-Assistant

📑 Notes

AI Assistant gives FreeCAD three ways to be driven by a model — a dock panel, an
AI() function in the Python console, and an MCP/XML-RPC server for external
agent CLIs — all three sharing one registry of 51 tools, so a tool added once
appears in all of them. It builds parametric documents (PartDesign bodies,
constrained sketches, dimensions driven by an App::VarSet), not one-off shapes.

Against the Qualities list:

  • Age / maintenance. Repository created 2026-06-16 (129 days), actively
    developed, single maintainer, issues and advisories watched.
  • Licence. LGPL-2.1-or-later, consistent in all three places: the
    <license file="LICENSE"> element in package.xml, the LICENSE text itself,
    and an SPDX-License-Identifier header on all 33 source files.
  • Manifest. package.xml declares <content><workbench> with classname
    AIAssistantWB, subdirectory freecad/AIAssistant, a branch attribute on
    <url type="repository">, and <freecadmin>1.0</freecadmin>. It parses
    through the Addon Manager's own MetadataReader, and the declared icon
    resolves.
  • Version floor. 1.0 rather than 0.21: the parametric deliverable rests on
    App::VarSet, which landed after 0.21 shipped. Declared in both the manifest
    and the index entry.
  • Dependencies. None. No third-party Python packages, so nothing is needed
    from the allow list — the provider layer is stdlib urllib, and the only
    non-stdlib imports are FreeCAD's own modules and its PySide wrapper.
  • Layout. Modern namespaced freecad/AIAssistant/.
  • Startup cost. init_gui.py imports one module at load, to register the
    AI() console globals: 0.154 s and 11 pure-Python submodules, no network and
    no document work. Everything heavier — the Qt panel, the BIM wizard, the RPC
    server — is imported inside Activated()/Initialize(). The RPC server is
    additionally behind the off-by-default setting below, so a user who never
    opens the workbench pays for nothing but that import.
  • Completeness. Not alpha. 13 modules carry demo() self-checks runnable
    headless via freecadcmd run_checks.py, all passing, plus a suite that drives
    a real model against four build tasks and passes only if the finished document
    contains solids.

External connections, since this addon is unusual in that respect and I would
rather raise it than have review find it:

  • The panel talks to whichever model service the user configures. Nothing is
    preconfigured to a remote endpoint — Ollama on loopback is the default — and
    no request is made until the user sends a message. API keys live in the
    addon's settings file, written 0600, and fall back to the usual environment
    variables.
  • The XML-RPC/MCP server binds 127.0.0.1 only and is off by default
    (auto_start_rpc defaults to False); it starts when the user turns it on.
  • execute_code runs unsandboxed Python inside FreeCAD, which is inherent to
    what the tool is for. For agent CLIs launched from the panel, the default
    permission setting keeps execute_code behind a confirmation prompt. This is
    stated in the README's Security section rather than buried.
  • No telemetry, no analytics, no data shared with any third party beyond the
    model service the user chose.

Proposed index entry, if it helps — it validates against
AddonCatalog.schema.json and I have the one-hunk diff ready:

  "AIAssistant": [
    {
      "repository": "https://github.com/iplayfast/FreeCAD-AI-Assistant",
      "git_ref": "master",
      "branch_display_name": "master",
      "freecad_min": "1.0.0",
      "zip_url": "https://github.com/iplayfast/FreeCAD-AI-Assistant/archive/refs/heads/master.zip",
      "curated": false
    }
  ],

v0.1.0 is tagged and released. Happy to cut a fresh tag, move publication to a
separate release branch, or change the addon ID if AIAssistant collides with
anything you would rather keep free.

Lingua principale
Nessun dato sulla lingua
Stelle
21
Fork
15
Merge medio
1g 21h
PR unite (30g)
13

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di FreeCAD/Addons

Tutte le issue di FreeCAD/Addons

Issue simili

Altre issue su Release

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.