コンテンツへスキップ
CADCAMFUN
ドキュメント

ドキュメント

AIアシスタント

プロジェクトを対象とした会話、型指定された CAD/CAM アクション、明示的な権限、およびアプリケーションによって管理されるプロバイダーの資格情報。

英語から自動翻訳されています。 英語の原文を見る

アシスタントサービス

@cadcamfun/ai モデルへのアクセス、会話イベント、アクション カタログ、プロンプト、スキル、コンテキスト アセンブリ、およびホスト統合を提供します。デフォルトの会話エンジンは埋め込み nikcli です。 AI SDK v7 は、直接テキスト、ストリーミング、構造化出力呼び出しを提供します。サイドカーは、プロジェクトの変更、ライブラリ、履歴、およびアプリケーション ストレージのハンドラーを挿入します。

チャットでは、登録されたアクションを通じてプロジェクトを検査および変更できます。ステートレス タイトルの生成、設計分析、パラメーターの推奨事項、G コードの最適化、および設計提案の概要により、アドバイスまたは構造化された出力が返されます。これらのサービス メソッドはプロジェクトの編集を保存しません。生成された加工アドバイスに依存する前に、決定論的な CAM と検証を通じて生成された加工アドバイスを確認します。

会話とセッションの制御

POST /api/ai/chat/stream テキスト、推論、ターン/ステップの状態、ツールの呼び出しと結果、診断、質問、許可リクエスト、再試行、コンテキストの変更、目標、完了、エラーの型指定されたイベントを発行します。クライアント セッション ID はホスト セッションにバインドされ、そのプロジェクトに対してチェックされます。同じ会話を続行するには、セッション ID を保持します。

POST /api/ai/sessions/state ストリームが切断された後、ビジー状態、蓄積されたテキスト、およびタスク情報を回復します。 /api/ai/chat/queue 活発な会話のフォローアップを認めます。 /api/ai/chat/abort ターンとそれに関連するワーカーを停止します。セッションを削除すると、ホスト セッションを削除する前に、その子がキャンセルされて参加します。

/api/ai/sessions/control ステータス、詳細なコンテキスト検査、圧縮、メモリ統合、タスクのキャンセル、権限の決定、保留中の質問への回答または拒否をサポートします。リクエストは、親会話およびその許可された子セッションと照合してチェックされます。保留中でなくなった質問には、古い識別子を再利用しても回答できません。

直接モデル呼び出しは、nikcli と同じ曲線で一時的なプロバイダーの失敗を再試行します。最初の遅延は 2 秒で、プロバイダー独自の試行ごとに 2 倍になります。 retry-after ヘッダーは尊重され、そのようなヘッダーがなければ遅延が 30 秒を超えることはありません。デフォルトでは、リクエストは最初の呼び出しを含めて最大 5 つの呼び出しを行います。の retryAttempts 設定はこれをオーバーライドできます (packages/ai/src/retry.ts, direct-model.ts)。モデルの接続がターンの途中で切断されると、同じ 2–30 秒のバックオフでチャット ループが最大 5 回再開され、完了したステップを繰り返さずに続行するようモデルに要求されます。

プロバイダーと資格情報

GET /api/ai/providers プロバイダーのメタデータと構成された状態をリストします。 GET /api/ai/models オプションでモデルピッカーカタログを公開します configuredOnly=true。組み込みホストのカタログ読み取りは 1 分間キャッシュされます。構成とポリシーは、どのプロバイダーがリストされ、使用できるかに影響します。

資格情報を設定します PUT /api/ai/credentials そしてそれらを削除します DELETE /api/ai/credentials/:provider。キーは空であってはならず、指定されたベース URL は HTTP または HTTPS である必要があります。ダイレクト モデル ファクトリは、Anthropic、OpenAI、MiniMax、および AI ゲートウェイをサポートします。他のプロバイダー ID では、直接呼び出しのために OpenAI 互換のベース URL が必要です。組み込みホストは、独自のプロバイダー カタログとルーティングを使用します。

サイドカーは資格情報を次の場所に保持します。 <dataDir>/ai/credentials.json 一時ファイル、所有者専用モード 0600 を使用し、名前を変更します。欠落または破損したファイルは空として読み取られます。永続化書き込みが失敗すると、キーは現在のプロセスで使用可能なままになりますが、再起動後もキーが存続することは保証されません。ステータス応答は、生のキーではなく構成状態を公開します。

資格情報は次のように表されます。 Redacted サービス内に保存され、スコープ指定された資格情報シンクを通じてホストに伝播されます。スコープを閉じると、ホストのコピーがクリアされます。資格情報を変更すると、キャッシュされたステートレスな結果を区別するために使用されるリビジョンが更新されます。

デフォルトのモデル層は次のとおりです。 balanced、MiniMax リクエストは次の場所に送信されます。 https://api.minimax.io/v1 ない限り CADCAMFUN_AI_MINIMAX_BASE_URL それをオーバーライドします (packages/ai/src/models.ts)。モデルカタログは一般からシードされています https://models.dev/api.json キャッシュされたファイルが見つからず、ネットワーク アクセスが許可されている場合にのみエンドポイント。認証情報は送信されず、応答は 8 MiB に制限され、20 未満のプロバイダーをリストする本文は切り捨てとして拒否されます。

アクションと権限

アクション カタログは、各アクションの識別子、パラメーター スキーマ、効果、および実行パスを宣言します。ツールは、必要なアクションの背後にある関連アクションをグループ化します。 action 分野。ホストはツール入力を検証し、サイドカー ハンドラーは変更を永続化する前にドメイン検証とリソース アクセス チェックを実行します。

許可モードは次のとおりです。 approve, ask、 そして auto。これらは、通常のツール呼び出しがどのように許可されるかに影響します。破壊的なアクションを含むツールは、すべてのモードで人間による承認ルールを保持します。次のような入力フラグ confirm: true この許可リクエストは置き換えられません。ホストは、アプリケーション アクションの代わりとなる無制限のシェルまたはファイル編集ツールを公開しません。

のポリシー <dataDir>/ai/policy.json プロバイダーの使用、ツールの使用、ブリッジ アクセスを制限します。これらはサービス構成によってロードされます。ファイルを編集すると、すでに実行中のサービスが更新されるとは想定しないでください。プロジェクト スコープのスクラッチ ディレクトリと分離された nikcli 構成により、組み込みホストがユーザーのスタンドアロン エージェント状態から分離されます。

スキルは、CAD/CAM プレイブックとユーザー作成の指示を提供します。これらは既存のツールの使用をガイドします。スキルを追加しても、新しいミューテーション API は追加されません。スキル HTTP エンドポイントは、サポートされているユーザー スキル コンテンツを一覧表示、保存、削除します。

登録されたツールグループ

組み込みグループは次のとおりです。 cad, cad_edit, cam, cam_edit, library, parts, library_edit, memory, memory_edit, research, vcs, vcs_edit、 そして agent. cam_verify 完全な CAM 編集ツールを付与せずに、検証者の役割に必要な生成と検証のサブセットを公開します。

ツールをグループ化すると、エフェクトの境界が維持されます。読み取り専用のジオメトリ検査、ライブラリ ルックアップ、メモリ リコールは、これらのリソースへの変更とは別のものです。挿入されたレジストリには拡張ツールも許可されます。重複する識別子は拒否されます。

現在のカタログを確認する

GET /api/ai/actions ツールの説明、アクションの名前と種類、および外部呼び出し元の JSON パラメーター スキーマを返します。静的なリストをクライアントにコピーする代わりに、実行中のアプリケーションのアクションを検出するために使用します。 POST /api/ai/actions/invoke プロジェクト ID、ツール ID、およびアクション識別子を含む入力を受け取ります。

組み込みのカタログ エントリは以下で維持されます。 packages/ai/src/actions。例としては、CAD の検査とパラメトリック チェック、CAD の編集、CAM の計画と製造、ライブラリの検索と更新、プロジェクトの記憶、調査、VCS の提案などが挙げられます。アプリケーション サービスを必要とするコントリビューションは、ホストがそのハンドラーを提供しなかった場合、利用できない結果を返します。

パブリック統合 API

ACTION_CATALOGUE, ACTION_TOOL_IDS, EXPOSED_TOOL_IDS, actionById, toolKind、 そして runAction カタログ消費者をサポートします。 ToolHandlers はサイドカー統合契約です。 ToolRegistry 組み込みツールと拡張ツールを構成します。 AiService 会話、モデルのメタデータ、ワンショット コール、およびセッション操作を提供します。

assembleContext 24,000 文字のデフォルトの総予算でターン コンテキストを構成します。既存の要件、現在の観察、UI スナップショット、メモリ、およびサポートする参照を順序付けし、ID とコンテンツごとに重複を排除し、省略または切り捨てられたソースを記録します。このコンテキスト バジェットは、モデルのフル トークン ウィンドウおよびホスト コンパクションしきい値とは別のものです。

背景作業と証拠

ランタイム スケジューラでは、4 つのアクティブなバックグラウンド タスクと 16 のキューに入れられたタスクが許可されます。タスクはプロジェクトと親セッションによって所有されます。キャンセルすると、ワーカーが停止するまでアクティブな所有権が保持されます。親を停止または削除すると、それに関連する作業も停止します。読み取りワーカーの回復は 2 回の試行に制限されていますが、中断された編集作業は盲目的に再実行されるのではなく、不確実とマークされます。

アシスタントツールの成功は検査する結果です。 CAD 操作では、部分的なジオメトリ診断が返されることがあります。 CAM アーティファクトには独自のクレームとリリース レベルがあります。履歴サービスは保護されたブランチを適用します。会話テキスト、完了とマークされたタスク、および幾何学的検証結果は、さまざまな証拠を説明します。

モデルに送信されるプロジェクト コンテキストには予算が設定されています。保存されたプロジェクト コンテキスト ドキュメントには最大 8、000 文字を保持できます。そのうち 2、000 文字がプロンプトに到達し、それぞれプロジェクト メモリとユーザー習慣用に 1、500 文字が含まれます。プロジェクト コンテキストが参照していない 90 日より古いプロジェクト ノートは、セッションが終了すると削除されます (packages/ai/src/project-context.ts).

ランタイムの選択

CADCAMFUN_AI_HOST 選択します nikcli デフォルトまたは direct。ダイレクト パスでは、組み込みホストの永続エージェント ツール ループや専門スケジューラを使用せずに、AI SDK 呼び出しを使用します。ステートレス操作では、組み込みホストが有効になっている場合でも、ダイレクト モデル サービスが使用されます。

ホストの XDG ディレクトリとオプションのホーム オーバーライドは、以下にルートされます。 <dataDir>/ai/nikcli。プロジェクト構成の読み込みおよび関連のない継承されたエージェント設定は、SDK インポート前に無効化またはスクラブされます。そのワークスペースは、ユーザーのソース ディレクトリではなく、プロジェクトごとのアプリケーション スクラッチ ディレクトリです。

スタンドアロンの nikcli アクセス

@cadcamfunv2/cadcamfun-nikcli-plugin スタンドアロンの nikcli を実行中のアプリケーションに接続します。その設定を行います url, token、およびデフォルト projectId、または使用します CADCAMFUN_URL, CADCAMFUN_TOKEN、 そして CADCAMFUN_PROJECT。外部アクセス用にアプリケーションによって発行されたスコープ付きブリッジ トークンを提供します。

ブリッジ トークンは 1 つのプロジェクトと読み取り専用または読み取り/書き込みアクションに制限されます。デフォルトは 30 日で、許容範囲は 1~365 日で、リスト化および取り消しが可能で、発行された場合にのみシークレットが公開されます。許可されるのは 2 つのアクション ブリッジ ルートのみです。ポリシーにより、表示されるツールとアクションをさらに絞り込むことができます。

プラグインはアプリケーションからカタログを取得し、そのスキーマを nikcli ツール引数に変換します。破壊的なアクションは確認フラグがあっても拒否され、処理中 agent 委任ツールは除外されます。書き込み可能なプラグイン拡張ツールは、この外部ブリッジを通じて公開されません。 HTTP 401 は拒否されたトークンを報告します。アクションを拒否すると、読み取り可能な失敗結果が返されます。

実施マップ

service.ts アプリケーション向けの AI オペレーションを所有します。 direct-model.ts aI SDK 呼び出しを所有します。 credentials.ts 鍵の状態を所有します。 nikcli/ 分離、セッション、ポリシー、コンテキスト、およびワーカーを所有します。 actions/ そして tools/ 独自の機能定義とアダプター。サイドカー services/ai.ts プロジェクト ハンドラーとストレージをワイヤリングします。 packages/nikcli-plugin 外部 HTTP クライアントを所有します。

会話の開始と回復

実行中のサイドカーと構成されたモデルを使用すると、このリクエストは、保存されたワークスペース コンテキストを挿入せずに会話を開始します。セット CADCAMFUN_URL 検出されたループバックベース URL と CADCAMFUN_TOKEN 現在のアプリケーショントークンに。以下のセッション ID はクライアントによって選択されます。フォローアップのために保管しておいてください。

1 ターンのストリーム
curl --no-buffer --fail-with-body \
  -H "Authorization: Bearer $CADCAMFUN_TOKEN" \
  -H "Content-Type: application/json" \
  --data '{"message":"Explain the difference between G0 and G1.","sessionId":"inspection-demo","includeContext":false,"mode":"gcode"}' \
  "$CADCAMFUN_URL/api/ai/chat/stream"

プロジェクト ターンでは、その実数も指定します projectId、およびオプションで drawingId そのプロジェクトに所属しています。図面は、ターンのツールをその図面にバインドします。別のプロジェクトまたはアカウントでセッションを再利用することは拒否されます。

再接続後に状態を回復する
curl --fail-with-body \
  -H "Authorization: Bearer $CADCAMFUN_TOKEN" \
  -H "Content-Type: application/json" \
  --data '{"sessionId":"inspection-demo"}' \
  "$CADCAMFUN_URL/api/ai/sessions/state"

返された busy, text、オプション events、 そして tasks ビューを再構築します。これらの保存されたイベントを再生しても、ツールは再度実行されません。作業を停止するには、明示的な中止を送信します。ストリームを閉じるだけでは会話のワーカーには参加しません。

ソース: packages/api/src/groups/ai.ts, apps/sidecar/src/http/ai.ts、 そして packages/ai/src/service.ts.

状態を失わずにイベントを処理する

イベント消費者行動
delta / reasoning追加 text 一致するセッションのテキストまたは推論チャネルに送信します。
tool_call / tool_result相関付け基準 callId;検査する ok アシスタント テキストとは独立して診断を保持します。
permission_requestリクエストを表示し、そのリクエスト/セッション ID を返信します。 once, always、 または reject.
question_requestリクエスト ID と質問を保管しておいてください。セッション コントロールを通じて質問ごとに 1 つの回答配列を送信します。
done最終的なものを使用する text 完了した応答としてオプションで使用します。最終テキスト全体を既に蓄積されたデルタに追加しないでください。
error画面 message と config, provider, aborted、 または internal 分類。
heartbeatコンテンツを追加したり、ターンの完了を宣言したりせずに、接続を維持します。

セッション コントロールは、その会話またはその子セッションで保留中の許可/質問 ID のみを受け入れます。質問には空でない回答が必要です。単一選択の質問は、複数の選択された値を拒否し、カスタム回答を禁止する質問は、リストされたオプション ラベルのみを受け入れます。

ソース: packages/api/src/ai-events.ts, packages/ai/src/nikcli/session-controls.ts、 そして packages/ai/src/heartbeat.ts.

アタッチメントとユーザースキル

各チャット リクエストは最大 5 つの添付ファイルを受け入れます。サポートされている画像は PNG、JPEG、WebP、GIF で、それぞれ 5 MiB の制限があります。 PDF には 10 MiB の制限があります。テキスト添付ファイルは最大 2、000、000 文字を受け入れます。最大 6、000 文字のテキストもインラインに含まれます。サポートされていないファイルは、静かに消えるのではなく、拒否の理由を生成します。

テキスト添付ファイルは、インポート ツールのプロジェクト スコープのメモリ ストアに保存されます。プロジェクトごとに最大 32 個の名前と 8、000、000 文字、保存されている最大 32 個のプロジェクト全体で 000、000、64 文字)です。名前を再利用すると、以前のテキストが置き換えられます。サービスを再起動しても、この添付ファイル ストアは保持されません。 PDF 機能の不一致は、プロバイダー変換によってモデルに報告されます。

ユーザー スキル名は、ハイフンで結合された小文字の文字/数字の単語であり、最大 64 文字です。説明と本文の制限はそれぞれ 300 文字と 20、000 文字です。最大で 50 個のユーザー スキルをロードできます。組み込みスキルは、ユーザー スキル API を通じて削除できません。保存されたスキルの live result は、ホストのリロードが有効になったかどうかを示します。

ソース: packages/ai/src/attachments.ts, packages/ai/src/skills/user.ts、 そして apps/sidecar/src/http/ai.ts.

アシスタントの障害を診断する

  • 設定されたモデルがありません: 検査する /api/ai/status そして /api/ai/providers、リストされたプロバイダーのキーを設定します。設定されたフラグは、保存されたキーが存在することを証明するものであり、ベンダーがそれを受け入れたことを証明するものではありません。
  • 不明なプロバイダーまたは無効な URL: アドバタイズされたプロバイダー ID と HTTP(S) ベース URL を使用します。非組み込みの直接プロバイダーには、キーに加えて互換性のあるエンドポイントが必要です。
  • セッションにアクセスできません: 元のプロジェクト/アカウント/セッション ID を使用して復元します。既存のホスト セッションの代替プロジェクト ID を作成しないでください。
  • ターンは無期限に待機します。 重複したプロンプトを再試行する前に、保留中のアクセス許可または質問がないかセッション制御状態を検査してください。明示的な中止を使用してターンをキャンセルし、そのワーカーに参加します。
  • ツールによってモデルが部分的に変更されました。 それを検査する tool_diagnostic、 含む mutationApplied、次に現在の図面を読み取ります。結果を検査せずに編集アクションを再試行すると、ジオメトリが重複する可能性があります。

ツールの結果とタイプされた失敗は、失敗したステージを保存します。ツールが成功した後のプロバイダー エラーは、プロジェクトの変更をロールバックしません。確定的 CAM および履歴チェックは、模範解答とは別に引き続き利用できます。

アシスタントエンドポイントリファレンス

すべてのアシスタント ルートは以下に存在します /api/ai アプリケーションベアラートークンが必要です。スタンドアロン nikcli のブリッジ トークンは、アクション リストと呼び出しルートのみを開き、そのプロジェクトのみを開きます。

desktop/appPOST /api/ai/chat/stream コンテクスト組み立てニクリホスト+モデル アクション /ツール SSE イベント: デルタ、tool_call、tool_result、done …
ルート目的
POST /api/ai/chat/streamストリーミングターンを開始します。応答はアシスタント イベントの SSE ストリームです。
POST /api/ai/chat/queueビジーセッションのフォローアップメッセージをキューに入れます。
POST /api/ai/chat/abortセッションの実行中のターンを中止します。
POST /api/ai/permission/reply許可リクエストに応答します。 once, always、 または reject.
POST /api/ai/sessions/state, /sessions/control, /sessions/removeセッション状態を読み取り、セッションを制御し、セッションを削除します。
GET /api/ai/status, /models, /providers, /agents, /prompts検出: 準備状況、モデル カタログ、構成状態を示すプロバイダー、専門エージェント、プロンプト提案。
PUT /api/ai/credentials, DELETE /api/ai/credentials/:providerプロバイダーの資格情報を保存またはクリアします。
GET/PUT /api/ai/skills, DELETE /api/ai/skills/:nameユーザースキルを一覧表示、保存、削除します。
GET /api/ai/actions, POST /api/ai/actions/invokeアクション カタログと直接呼び出し (nikcli ブリッジでも使用されます)。
GET/POST /api/ai/bridge/tokens, DELETE /api/ai/bridge/tokens/:idスコープ付きブリッジ トークンを発行、一覧表示、取り消します。
POST /api/ai/completion単一の完了: prompt, systemPrompt, model, temperature;返品 text そして model.
POST /api/ai/title会話の抜粋のタイトル。
POST /api/ai/design-analysisとの提案 confidence, priority (低/中/高)、および kind (最適化/警告/重大)。
POST /api/ai/machining-parametersCutting speed (m/min), feed (mm/min), depth of cut (mm), stepover (%), coolant (flood/mist/none), engagement (conventional/climb), and warnings.
POST /api/ai/gcode-optimization行ごとの変更とその理由、推定時間と工具寿命の節約、およびメモを含む最適化された G コード。
POST /api/ai/design-suggestionsタイトル、根拠、次のステップを含む次のステップの提案。
POST /api/ai/analyze-gcode問題 (コード、ライン、メッセージに関するエラー/警告/情報) と統計: ライン、高速移動とカット移動、ツールの変更、および境界。
POST /api/ai/gcode, /toolpath-analysis, /feedback, /proxyG コード アクション、ツールパスの洞察、フィードバック、プロバイダー プロキシ。

モデルに基づく分析の応答は、型付きの形式でのモデル出力です。加工パラメータなどの値は、検証された切削データではなく、ツーリング データおよび機械の制限に照らして検討するための提案です。

ストリーミングリクエストフィールド

分野価値観Effect
message弦このターンのユーザーのメッセージ。
sessionId弦既存のセッションを継続します。新しいものを始めるのを省略します。
projectId弦ターンが使用するコンテキストとツールのプロジェクト。
drawingId弦このターンの描画に基づいて動作する可能性があります。ターンが許可される前にプロジェクトに対してチェックされ、ターンのツールはこの図面にのみ作用し、他には何も作用しません。
modegeneral, cad, cam, gcode, toolpathターンの焦点。
permissionModeauto, ask, approveツールの権限を要求する方法。
agent弦スペシャリストエージェント名 /api/ai/agents.
attachments[{ name, mime?, data, encoding?: "base64" | "text" }]最大 5 個の添付ファイル: 画像は最大 5 MB、PDF は最大 10 MB、テキストは最大 2、000、000 文字(最大 6、000 文字のテキスト ファイルもメッセージに書き込まれます)。
context, includeContext文字列、ブール値追加のコンテキスト テキストと、組み立てられたプロジェクト コンテキストを含めるかどうか。
modelモデルセレクターこのターンに設定されたモデルをオーバーライドします。

制限とデフォルト

限界価値
組み立てられたコンテキストの予算24、000 文字;適合しないブロックはマーカーで切り詰められ、代わりに 400 文字以下で切り取られるブロックは除外されます
プロジェクトコンテキストドキュメント最大 8、000 個の保存文字、2、000 がモデルに送信されました
プロジェクトの記憶 / ユーザーの習慣それぞれ 1、500 文字
プロジェクトノートプロジェクト コンテキストで参照されない場合、90 日後に削除されます
モデルに送信されるツール出力24、000 文字
呼び出しごとに作成される要素40
出力トークン最大 32、000
ハートビートストリームがアクティブな間は 5 秒ごと
正確なジオメトリのアクション60-秒の予算。正確なレポートは 1.5 秒です
カーネルジョブ120 - 秒の期限、ワーカーの開始を含む
バックグラウンドタスク4 件がアクティブ、16 件がキューに登録、2 件の読み取りワーカーの試行、解決されたタスクの保存期間は 7 日
自動継続リクエストごとに 50。 5 の接続が 2 – 30 のバックオフで再開されます
直接呼び出しの再試行最初を含む 5 回の呼び出し。 2 を 2 倍にして 30 にします。 retry-after
ユーザースキル50 スキル;名前は最大 64 文字(小文字の単語はハイフンで結合)、説明は最大 300、本文は最大 20、000
Web検索の取得応答あたり 256 KB
ブリッジトークンデフォルトでは 30 日、最大では 365 日

散文ではなく結果を読んでください

ツールの結果は次のとおりです tool_result そして tool_diagnostic イベント。アシスタントが行った内容の概要を信頼する前に、突然変異が適用されたかどうかを確認してください。

完全なアクションカタログ

アシスタントは、83 ファミリーの 13 で宣言されたアクションを通じて動作します。すべてのアクションは、その結果スキーマとその結果を宣言します。 効果: 開いている文書を読むことを超えて、何が変化するか、または到達するか。ファミリを読む (cad, cam, library, memory, research, vcs) ほとんど効果がありません。彼らの _edit 対応するものは永続的な状態を変更します。効果は括弧内に記載されています。

家族カウントアクション(効果)
cad20describe, check, relations, grep, vision (インタフェース)、 inspect_elements, inspect_layers, inspect_search, inspect_property, drawing, parametric_validate, parametric_inspect, parametric_test, parametric_dfm, parametric_exact, exact, assembly, parametric_fastener, parametric_recipe, parametric_from_element
cad_edit12add (描画)、 add_entities (描画)、 modify (描画)、 transform (描画)、 group (描画)、 delete (描画)、 editor (インターフェース+描画)、 import (描画)、 parametric_create (描画)、 parametric_update (描画)、 parametric_recipe_create (描画)、 parametric_convert (描画)
cam14plan_check, review, machine, operations, suggest, compare_setups, analyze, stock, vision (インタフェース)、 chain_suggest, materials, cutting_data, manufacture, chain_status
cam_edit6manufacture (操作+プログラム)、 create (手術)、 update (手術)、 generate (プログラム)、 verify (報告)、 stock_set (ストック)
library5component_list, lookup_component, lookup_material, lookup_tool, lookup_machine_config
parts3save (成分)、 insert (描画)、 delete (成分)
library_edit5upsert_material (図書館)、 upsert_tool (図書館)、 upsert_machine_config (図書館)、 set_default (図書館)、 delete (図書館)
memory2recall, context_read
memory_edit2remember (メモリ)、 context_update (コンテクスト)
research2search (外部の)、 read_attachment
vcs3status, diff, list_pull_requests
vcs_edit5start_change (歴史)、 commit (歴史)、 restore (歴史+図面)、 open_pull_request (歴史)、 run_workflows (ワークフロー)
agent4start (タスク)、 list, read, cancel (タスク)
Effect意味
drawing, component, operation, program, stock, report永続的な設計または製造データ
library, memory, contextライブラリレコード、プロジェクトメモリ、ワークスペースコンテキスト
history, workflowバージョン管理とワークフローの実行
task委任スケジューラ (バックグラウンド エージェント)
interface画面上のエディターまたはビューポート。持続的ではない
externalネットワーク(ウェブリサーチ)

読み取りアクションに含まれるのは、 interface または external;書き込みごとに、少なくとも 1 つの永続効果の名前が付けられます。効果はアクションごとに宣言され、それを実装するツールから推論されることはありません。

アクションコールの終了方法

結果いつ
succeededアクションは求められたことを実行しました。チェックの不合格など、否定的な結果が得られた読み取りが含まれます。
partial回答またはバッチの一部: complete: false, omitted > 0、空ではない skipped、または nextOffset ページへ
refused何も行われませんでした: ok: false エラーまたはタグあり (無効な入力、拒否、使用不可、何もしない)
conflict文書は次のように進みました。 ActionConflict またはステータス stale/conflict。再試行する前にもう一度検査してください。
cancelledActionInterrupted
uncertainActionUncertain: 書き込みはコミットされた可能性がありますが、その応答を読み取ることができませんでした。検査して調整する。決してやみくもに再試行しないでください。

書き込みは図面リビジョンにバインドされます。コミットされた書き込みは、 ActionCommitted 領収書付き previousRevision そして revision;古いものに対する書き込み expectedRevision 返品 ActionConflict 両方とも expectedRevision そして actualRevision。同じ分類(actionOutcome) は、ホスト、コード モード、デスクトップ、ブリッジによって共有されます。

返された競合
{
  "ok": false,
  "_tag": "ActionConflict",
  "actionId": "cad_edit.modify",
  "projectId": "…", "drawingId": "…",
  "expectedRevision": 41, "actualRevision": 42,
  "message": "…"
}

3Dで

AI パッケージが配置される場所 ドラッグして周回します · スクロールしてズーム · 右ドラッグしてパンします
package.json ファイルからのすべての 13 ワークスペース パッケージ。各行は workspace:* の依存関係です (合計 17)。行は依存関係の深さを表します。前にワークスペース依存関係のないパッケージ、8 に依存するサイドカーが後ろにあります。オレンジ色のボックスはアプリです。強調表示: ai は API とコアに依存し、サイドカーによって使用されます。