Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
411 changes: 411 additions & 0 deletions docs/jp/changelog/release-notes.mdx

Large diffs are not rendered by default.

37 changes: 34 additions & 3 deletions docs/jp/cli/account/droid-shield.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,29 @@ Droid Shieldは、ランダム性検証を伴うスマートパターンマッ

---

## Droid Shield 2.0: 学習型シークレット検出

Droid Shield 2.0 は、パターンベース検出の上に意味的レイヤーを追加する 2 つのファインチューニング済み分類モデルによって、決定論的スキャナーを拡張します。すべての commit と push は引き続き最初に決定論的スキャナーを通過し、その後モデルが、スキャナーがフラグ付けした、または見逃した特定のコンテキストを分類します。

<Note>
Droid Shield 2.0 はリサーチプレビューです。組織で有効にするには、[お問い合わせください](mailto:support@factory.ai)。
</Note>

### 2 つの分類モデル

これらのモデルは決定論的スキャナーの前後で機能し、それぞれ異なる失敗パターンに最適化されています。

<CardGroup cols={2}>
<Card title="リスクモデル" icon="shield-exclamation">
決定論的スキャナーが**検出しなかった**変更行のうち、周辺コンテキストから見てなおシークレットを含んでいそうな行に対して実行されます。パターンセットが見逃す実際のシークレットを捉えるため、再現率を重視して最適化されています。見逃された可能性のあるシークレットを検出すると、警告を生成します。
</Card>
<Card title="ダウングレードモデル" icon="rotate">
スキャナーが**検出した**行に対して実行されます。検出されたシークレットをマスクした周辺コンテキストを確認し、スキャナーのヒットが真陽性(ブロックを維持)か、誤検知(警告にダウングレード)かを判定します。
</Card>
</CardGroup>

---

## Droid Shieldが起動するタイミング

Droid Shieldは以下のgit操作中に自動的に起動します:
Expand Down Expand Up @@ -130,6 +153,10 @@ Droid Shieldは慎重を期すために保守的なパターンを使用しま
2. **手動コミットを使用** - Droid以外でgit操作を直接実行
3. **パターンを報告** - 繰り返し発生する誤検出がある場合はsupport@factory.aiまでご連絡ください

<Note>
Droid Shield 2.0 が有効な場合、ダウングレードモデルがスキャナーのヒットを自動的に確認し、明らかな誤検知(プレースホルダー、サンプル、テストフィクスチャ)を手動介入なしで除外できます。
</Note>

---

## ベストプラクティス
Expand Down Expand Up @@ -165,13 +192,11 @@ Droid Shieldは慎重を期すために保守的なパターンを使用しま
## 制限事項

<Note>
**Droid Shieldは検出ツールであり、保証ではありません。** 一般的なシークレットパターンの多くを検出できますが、以下は検出できません:
**Droid Shieldは検出ツールであり、保証ではありません。** 一般的なシークレットパターンの多くを検出できますが、決定論的スキャナー単体では以下を検出できません:
- パターンデータベースにないカスタムシークレット形式
- 認識可能なパターンに従わないシークレット
- 難読化またはエンコードされた認証情報
- ビジネスロジックの脆弱性やコードセキュリティの問題

常にセキュリティのベストプラクティスに従い、シークレット保護を自動ツールだけに依存しないでください。
</Note>

---
Expand All @@ -185,6 +210,12 @@ Droid Shieldは慎重を期すために保守的なパターンを使用しま
<Card title="設定" icon="gear" href="/jp/cli/configuration/settings">
Droid Shieldの設定を含むDroid設定を構成します。
</Card>
<Card title="Droid Shield 2.0 リサーチ記事" icon="newspaper" href="https://factory.ai/news/droid-shield-2-0">
学習型分類モデル、トレーニングデータ、評価結果の技術的な詳細を紹介します。
</Card>
<Card title="LLMの安全性とエージェント制御" icon="shield-check" href="/jp/enterprise/llm-safety-and-agent-controls">
Droid Shieldがより広範なエンタープライズ向けセーフティモデルの中でどのような役割を果たすかを説明します。
</Card>
</CardGroup>

---
Expand Down
72 changes: 72 additions & 0 deletions docs/jp/cli/byok/lm-studio.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
---
title: "LM Studio"
description: LM StudioでOpenAI互換のローカルモデルを実行する
keywords: ['lm studio', 'local', 'byok', 'openai compatible', 'offline', 'self-hosted']
---

LM StudioのOpenAI互換ローカルサーバーを使って、自分のハードウェア上でモデルをローカル実行します。

<Note>
**パフォーマンスに関する注意**: 300億パラメータ未満のモデルは、エージェント型コーディングタスクで大幅に低い性能を示しています。小型モデルは実験や学習には役立ちますが、本番のコーディング作業や複雑なソフトウェアエンジニアリングタスクには一般的に推奨されません。
</Note>

## 設定

`~/.factory/settings.json` に追加:

```json
{
"customModels": [
{
"model": "google/gemma-4-e4b",
"displayName": "Gemma 4 E4B [LM Studio]",
"baseUrl": "http://localhost:1234/v1",
"apiKey": "not-needed",
"provider": "openai",
"maxOutputTokens": 16000
}
]
}
```

`model` は、LM Studioのローカルサーバーに表示される正確なモデル識別子に置き換えてください。

## セットアップ

<Warning>
**コンテキストウィンドウ設定**: Factoryで最適なパフォーマンスを得るには、サーバーを起動する前にLM Studioでモデルのコンテキストウィンドウを少なくとも32,000トークンに設定してください。十分なコンテキストがない場合、体験は大幅に低下します。
</Warning>

1. [lmstudio.ai](https://lmstudio.ai) からLM Studioをインストール
2. Qwen Coder などのコーディングモデル、または別のOpenAI互換チャットモデルをダウンロード
3. LM Studioで **Developer** タブを開く
4. モデルをロードし、ローカルサーバーを起動
5. サーバーが `http://localhost:1234/v1` で実行されていることを確認
6. 上記の設定をFactory設定に追加

## モデル ID の確認

LM Studioは、OpenAI互換APIを通じてロード済みモデルを公開します:

```bash
curl http://localhost:1234/v1/models
```

返された `id` の値を、Factory設定の `model` として使用してください。

## トラブルシューティング

### ローカルサーバーが接続できない
- LM Studioの **Developer** タブからローカルサーバーが実行中であることを確認
- サーバーポートが `baseUrl` と一致していることを確認(通常は `1234`)
- 接続テストとして `curl http://localhost:1234/v1/models` を試す

### モデルが見つからない
- Factoryから使用する前に、LM Studioでモデルをロード
- `curl http://localhost:1234/v1/models` で正確なモデル ID を確認

## 注意事項

- LM StudioのローカルAPIは認証を必要としないため、`apiKey` には任意のプレースホルダー値を使用できます
- Base URL の形式: `http://localhost:1234/v1`
- LM StudioのOpenAI互換エンドポイントでは `openai` プロバイダーを使用します
65 changes: 60 additions & 5 deletions docs/jp/cli/configuration/mcp.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -301,11 +301,66 @@ OAuthトークンはシステムキーリング(またはフォールバック
**http** および **sse** サーバーの場合:
- **url**: HTTP/HTTPSエンドポイントURL
- **headers**: 認証用HTTPヘッダー(オブジェクト)
- **oauth**: リモートサーバー用の任意の OAuth 上書き設定(オブジェクト)。対応フィールド:
- **scopes**: 要求する OAuth スコープ(配列)
- **clientId**: OAuth クライアント ID
- **clientSecret**: OAuth クライアントシークレット
- **callbackPort**: OAuth コールバックに使用するローカルポート
- **oauth**: このサーバー用の OAuth 上書き設定(オブジェクト)、または OAuth を完全に無効化する `false`

### OAuth の上書き設定

ほとんどのリモートサーバーでは、OAuth は設定不要で動作します。droid が認可サーバーを検出し、Dynamic Client Registration(DCR)でクライアントを自動登録し、サーバーが Client ID Metadata Documents(CIMD)に対応している場合は Factory が公開しているクライアントメタデータを使用します。**まずはこれらのデフォルトを優先してください。** `oauth` の上書き設定は、プロバイダーが独自の信頼ポリシーや互換性ポリシーを必要とする場合にのみ設定してください。

**http** または **sse** サーバーの `oauth` オブジェクトでは、以下のフィールドを使用できます。

| フィールド | 型 | 説明 |
| :---- | :--- | :---------- |
| `scopes` | `string[]` | 検出されたデフォルトの代わりに要求する OAuth スコープ |
| `authorizationServerIssuer` | `string` | 認可サーバーの issuer URL。`clientId` / `clientSecret` を設定する場合は必須です。 |
| `clientId` | `string` | Dynamic Client Registration をスキップして使う、事前登録済みの OAuth クライアント ID |
| `clientSecret` | `string` | 事前登録済みクライアント用のクライアントシークレット |
| `clientMetadataUrl` | `string` | 公開クライアントのアイデンティティとして使う、カスタム Client ID Metadata Document(CIMD)の HTTPS URL |
| `tokenEndpointAuthMethod` | `"none" \| "client_secret_basic" \| "client_secret_post"` | 検出結果ではなく、トークンエンドポイントの認証方式を強制的に指定します |
| `callbackPort` | `number` | OAuth コールバックに使用する固定の localhost ポート(1〜65535) |

**制約:**

- `clientMetadataUrl` は HTTPS URL である必要があり、ルート以外のパスを持ち、認証情報、クエリ文字列、フラグメント、ドットセグメントを含めてはいけません。
- `clientMetadataUrl` と `clientId` / `clientSecret` は同時に使用できません。メタデータドキュメント自体がクライアントアイデンティティであるため、事前登録済みの認証情報と組み合わせることはできません。
- `clientMetadataUrl` は公開クライアントを表すため、これを設定する場合、`tokenEndpointAuthMethod` は `"none"` にするか省略する必要があります。
- `clientId` / `clientSecret` を使う場合は、`authorizationServerIssuer` の設定が必要です。

**例: カスタム CIMD ドキュメント**

CIMD 対応サーバーで、独自にホストしたクライアントメタデータドキュメントを使用する例です。

```json
{
"mcpServers": {
"internal-tools": {
"type": "http",
"url": "https://mcp.internal.example.com/mcp",
"oauth": {
"clientMetadataUrl": "https://auth.example.com/oauth/client-metadata.json"
}
}
}
}
```

**例: 公開クライアント認証を強制する**

認可サーバーが confidential クライアント向けの方式を告知していても、デプロイで公開クライアントフローが必要な場合は `"none"` を強制します。

```json
{
"mcpServers": {
"partner-api": {
"type": "http",
"url": "https://mcp.partner.example.com/mcp",
"oauth": {
"tokenEndpointAuthMethod": "none"
}
}
}
}
```

<Warning>
プロジェクトレベルの `.factory/mcp.json` はリポジトリにコミットされます。`headers` の認証トークン(例:`Authorization`)、`oauth.clientSecret`、API キーなどのシークレットは決してプロジェクト設定に入れないでください。これらはユーザーレベル設定(`~/.factory/mcp.json`)に置くか、環境変数で渡し、OAuth トークンには Droid の keyring を利用してください。
Expand Down
18 changes: 18 additions & 0 deletions docs/jp/cli/configuration/settings.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,24 @@ droidがターミナルでコンテンツをどのように描画するかを調
| `missionOrchestratorReasoningEffort` | string | `off`, `none`, `low`, `medium`, `high` | モデルのデフォルト | ミッションオーケストレーターの推論努力。 |
| `keepSystemAwakeDuringMissions` | boolean | `true`, `false` | `true` | ミッション実行中にOSがスリープしないようにします。 |

## サブエージェント設定

Task ツールによって起動されるサブエージェントを設定します。これらは `/settings` の **Subagents** タブに表示されます。

| 設定 | 型 | オプション | デフォルト | 説明 |
| ------- | ------ | ------- | ------- | ----------- |
| `subagentAutonomyLevel` | string | `inherit`, `off`, `low`, `medium`, `high` | `inherit` | Task ツールによって起動されるサブエージェントに適用される[自律レベル](/jp/cli/user-guides/auto-run)。 |

### サブエージェントの自律レベル

`subagentAutonomyLevel` は、サブエージェントが承認なしでどこまで実行できるかを制御します:

- **`inherit`** – サブエージェントは親セッションの自律レベルを使用します(デフォルト)。
- **`off`** – サブエージェントはすべてのアクションで手動承認が必要です。
- **`low`**, **`medium`**, **`high`** – そのリスクレベル以下のサブエージェント作業を事前承認します。

明示的なレベルを設定しても、組織管理の `maxAutonomyLevel` によって制限されるため、エンタープライズの上限を超えることはありません。ミッションワーカーにはこの設定は適用されません。

## コンテキストとコンパクション

モデルのコンテキストウィンドウ内に収めるために、droidが会話をいつ・どのようにコンパクションするかを制御します。
Expand Down
18 changes: 14 additions & 4 deletions docs/jp/cli/features/droid-control.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Droid Control
sidebarTitle: ドロイド制御
description: ターミナル、ブラウザ、デスクトップの自動化。デモの記録、動作検証、QAフローの実行。
keywords: ['droid-control', 'automation', 'demo', 'verify', 'qa-test', 'terminal', 'browser', 'recording', 'video', 'showcase', 'tuistory', 'remotion', 'tctl', 'plugin']
keywords: ['droid-control', 'automation', 'demo', 'verify', 'qa-test', 'terminal', 'browser', 'desktop', 'desktop-control', 'cua-driver', 'computer-use', 'recording', 'video', 'showcase', 'tuistory', 'remotion', 'tctl', 'plugin']
---

Droid Controlは、Droidsがソフトウェアを*操作*できるようにします:アプリの起動、コマンドの入力、ボタンのクリック、動作の記録、そして洗練された動画証拠の生成を行います。Droidsによって、Droidsのために作られました。
Expand Down Expand Up @@ -181,9 +181,9 @@ PRリファレンスをオプションのクレームと共に受け付けます

## 自動化ドライバー

Droid Controlは3つの自動化バックエンドをサポートしています。対象に基づいて適切なものが自動的に選択されます。
Droid Controlは4つの自動化バックエンドをサポートしています。対象に基づいて適切なものが自動的に選択されます。

<CardGroup cols={3}>
<CardGroup cols={2}>
<Card title="tuistory" icon="terminal">
**仮想PTY自動化。** ターミナル作業のデフォルト。asciinema録画と強制トゥルーカラー出力を備えたPlaywright風CLI。
</Card>
Expand All @@ -193,6 +193,9 @@ Droid Controlは3つの自動化バックエンドをサポートしています
<Card title="agent-browser" icon="globe">
**ウェブとElectronアプリ。** Chrome DevTools Protocolサポートを備えたPlaywrightベースのCLI。ページをナビゲートし、フォームを記入し、ボタンをクリックし、スクリーンショットを取得。
</Card>
<Card title="desktop-control" icon="desktop">
**ネイティブデスクトップアプリ。** [trycua/cua](https://github.com/trycua/cua) の `cua-driver` によるアクセシビリティツリーのスナップショット、要素またはピクセル単位の操作、ウィンドウごとのスクリーンショットを、フォーカスを奪わずに実行できます。macOSとWindowsは本番対応、Linuxはプレリリースです。
</Card>
</CardGroup>

## ビデオレンダリング
Expand Down Expand Up @@ -230,7 +233,7 @@ Droid Controlは3つの自動化バックエンドをサポートしています
プラグインは3つのレイヤーからなる構成アーキテクチャを使用しています:

- **オーケストレーター** -- 各リクエストを3つの独立したルックアップ(対象、ステージ、アーティファクト)を通じてルーティングし、読み込むスキルを決定します。
- **10のアトムスキル** -- オンデマンドで読み込まれる自己完結型の背景知識で、ドライバー、対象、ステージ、ポリッシュに分割されています。
- **11のアトムスキル** -- オンデマンドで読み込まれる自己完結型の背景知識で、ドライバー、対象、ステージ、ポリッシュに分割されています。
- **3つのコマンド** -- 引数をコミットメントに解析し、ハイブリッドハンドオフを介してアトムに委任します。

すべてのワークフローは**キャプチャ → 合成 → 検証**を通じて流れます。コマンドは*何を*生成するかを宣言し、アトムが*どのように*行うかを所有します。スキルはハードコードされたパイプラインではなく明示的なハンドオフを通じてチェーンするため、droidは自然にフローに従います。
Expand Down Expand Up @@ -259,6 +262,13 @@ Droid Controlは3つの自動化バックエンドをサポートしています
agent-browser install # downloads Chromium
```
</Accordion>
<Accordion title="ネイティブデスクトップアプリ(desktop-control)">
```bash
curl -fsSL https://raw.githubusercontent.com/trycua/cua/main/libs/cua-driver/scripts/install.sh | bash
cua-driver skills install # upstream skill pack (deep tool reference)
```
WindowsではPowerShellで `irm https://raw.githubusercontent.com/trycua/cua/main/libs/cua-driver/scripts/install.ps1 | iex` を実行してインストールします。macOSでは追加で `cua-driver permissions grant`(アクセシビリティ + 画面収録)が必要です。
</Accordion>
<Accordion title="実際のターミナルエミュレータ(true-input)">
| プラットフォーム | 必要なツール |
|----------|----------------|
Expand Down
2 changes: 1 addition & 1 deletion docs/jp/cli/features/missions/running-cli.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: "CLIでの実行"
description: プランが承認されると、Droid は Mission Control に入ります。ターミナルから進捗を監視し、ワーカーのブロックを解除し、オーケストレーターをリダイレクトします。
keywords: ['missions', 'mission control', 'orchestrator', 'intervene', 'redirect', 'cli']
keywords: ['factory missions', 'missions', 'mission control', 'orchestrator', 'intervene', 'redirect', 'cli']
---

## Mission Control での作業
Expand Down
Loading
Loading