Clouds Coder 2026.08.23-Stable #42
FonaTech
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
CHANGELOG 2026-08-23
Collaboration Mode and Skills Studio 2.0
This release turns Clouds Coder from a single-browser Agent runtime into a local-first workspace where trusted people and their Agents can work on the same project without surrendering file authority, conflict decisions, or publication control to the model.
The central idea is shared work, explicit authority:
For the complete user-facing explanation and setup guide, see Collaboration Mode in the README.
1. Why Collaboration Mode exists
Putting multiple browsers and multiple Agents in one directory is easy. Making their combined work understandable and recoverable is the hard part. A plain shared folder has no answer to these questions:
Collaboration Mode treats these as product-level coordination problems. The filesystem remains the execution surface, while SQLite-backed revisions, events, identities, task evidence, and audit records form the control surface.
The intended outcome is not maximum autonomous parallelism. It is useful parallelism with visible ownership, bounded authority, and a human decision path whenever automation cannot prove that a merge is safe.
2. Collaboration framework
Collaboration Mode is an independent service, normally bound to
P+7when the main Agent UI uses portP. It serves the full browser IDE with a collaboration-specific identity and workspace. It still runs from the singleClouds_Coder.pyentrypoint.flowchart TB subgraph Control["Administrator control plane"] Admin["Admin UI"] Projects["Projects / passwords / lifecycle"] Access["Members / devices / revocation"] Audit["Audit chain / backup / quarantine"] Admin --> Projects Admin --> Access Admin --> Audit end subgraph Entry["Collaboration service · default P+7"] Gate["Admission + device approval"] Session["24-hour HttpOnly session + CSRF"] API["/api/collab/v1/*"] Events["SSE event stream + snapshot recovery"] Gate --> Session --> API API <--> Events end subgraph Participants["Trusted project participants"] H1["Member A · IDE"] H2["Member B · IDE"] A1["Member A · private Agent sessions"] A2["Member B · private Agent sessions"] H1 <--> A1 H2 <--> A2 end subgraph SharedState["Project source of truth"] Workspace["Isolated project workspace"] Docs["Document revisions + immutable history"] Board["Task blackboard + assignments + evidence"] Presence["Presence + cursors + file intent"] Conflicts["Frozen conflicts + candidate branches"] Ledger["Hash-linked audit events"] end subgraph Resources["Administrator-governed shared resources"] Models["Server-side LLM profiles"] Skills["Published Skills · read-only to members"] MCP["Approved MCP tools"] Libraries["Knowledge / Code RAG / shared apps"] end Control --> Gate H1 --> Gate H2 --> Gate API <--> Participants API <--> SharedState Participants --> Resources Resources --> ParticipantsThe framework deliberately separates five kinds of state:
3. Identity, admission, and trust boundary
An IP address is transport metadata, not a durable collaborator identity. A participant is the combination of a project, member, and approved device. The project password proves knowledge of the invitation; the administrator-approved device credential decides whether a session may be issued.
Security and lifecycle properties include:
HttpOnly/SameSite=Strictcollaboration session cookies, withSecurewhen HTTPS is trusted;4. One workspace, three write protocols
Different write shapes need different consistency mechanisms. Collaboration Mode does not force a large binary upload, a Monaco keystroke, and a shell command through the same protocol.
flowchart TD W["A participant or Agent wants to change a path"] --> K{"Write shape"} K -->|"UTF-8 text ≤ 2 MB"| OT["Operational transform"] OT --> O1["Submit base revision + idempotent operation ID"] O1 --> O2["Transform against newer accepted operations"] O2 --> Commit["Commit new revision + immutable version"] K -->|"Binary or whole-file write"| CAS["Expected-revision write"] CAS --> C1{"Expected revision equals current?"} C1 -->|Yes| Commit C1 -->|No| Conflict["Create candidate branch and freeze document"] K -->|"Shell or Agent process"| Lease["Project mutation lease"] Lease --> L1["Snapshot known revisions and hashes"] L1 --> L2["Run process while readers wait"] L2 --> L3["Adopt resulting writes revision by revision"] L3 -->|"Baseline still matches"| Commit L3 -->|"Concurrent or external change"| Conflict Commit --> Event["Publish event + update snapshot + audit"] Event --> UI["Other IDEs refresh the affected path"]For small UTF-8 documents, incoming operations are transformed against operations accepted since their base revision. Existing server inserts win insertion ties, and a client operation ID makes retry idempotent.
Whole-file and binary writes use optimistic concurrency with
expected_revision. Shell and Agent tools are wrapped byCollaborationWriteCoordinator: it holds the project mutation lease, records before/after hashes, and adopts writes back into the document catalog. A watcher also detects stable out-of-band disk changes; it never treats an unexplained filesystem value as silently authoritative.5. Human–Agent cooperation through the task blackboard
Each member has private Agent sessions, but Agents working on the same normalized objective converge on one public task item. The first Agent becomes the active
coordinator; later Agents becomecontributors. The coordinator is still a worker—it owns delegation and integration rather than becoming a chat-only manager.Only explicit public sections are accepted: research notes, execution logs, review feedback, plan findings/steps/proposals/risks, and status. Public text is length-bounded and sanitized for credentials, private keys, bearer tokens, private home paths, fenced code, and hidden/system prompt material. Full prompts and hidden reasoning are not copied to the project blackboard.
This project-level coordinator/contributor protocol is separate from the in-session
manager / explorer / developer / reviewertopology. The two can coexist:6. Conflict handling is a decision protocol
When the baseline cannot be proven, the affected document is frozen. Clouds Coder preserves the current baseline and every submitted candidate rather than choosing a winner by arrival time.
Important safeguards:
7. Event consistency and recovery
The UI combines an ordered project event log with complete snapshots. Events provide low-latency presence, operation, blackboard, Agent, permission, and conflict updates. Snapshots make reconnect and event-retention gaps deterministic.
sequenceDiagram participant A as IDE A participant S as Collaboration service participant E as Event log participant B as IDE B A->>S: Commit revision N S->>E: Append event N E-->>B: SSE event with monotonic ID B->>S: Refresh affected path/snapshot Note over B,S: Connection drops B->>S: Reconnect with Last-Event-ID alt events still retained S-->>B: Missing ordered events else cursor is older than retention S-->>B: Full snapshot reset endOn server restart, abandoned running Agents become inactive, unfinished assignments become blocked, and stale file intents are closed. A watchdog performs the same cleanup when an Agent heartbeat expires.
8. Project governance
The Admin UI can create and rename projects, rotate passwords, approve devices, block or revoke members, archive/reactivate, create ZIP backups, quarantine projects for 30 days, restore them, inspect active conflicts, and verify the hash-linked audit chain.
9. Skills Studio 2.0
Skills Studio now follows the same philosophy: creation is private; distribution is governed.
Highlights:
.clouds_coder_admin/skills_studio/, indexed byskills_studio.sqlite;SKILL.md,agents/openai.yaml,agents/clouds-coder.yaml,scripts/,references/, andassets/;openai.yaml, default$skill-nameprompts, syntax, paths, size, and likely secrets;Legacy
/api/skillslab/*administration endpoints remain available for compatibility. The new workbench uses/api/skillslab/v2/*, and review is exposed through/api/admin/skills/submissions/*.10. Operator quick start
Start all services from the single entrypoint:
Default relevant URLs for
P=8080:http://127.0.0.1:8080http://127.0.0.1:8081http://127.0.0.1:8080/adminhttp://127.0.0.1:8085http://127.0.0.1:8087or the printed LAN URLThen:
Plain HTTP exposes project traffic to the LAN. Use a certificate with
--collab_tls_certand--collab_tls_key, or an explicitly configured trusted HTTPS reverse proxy, outside a network you fully trust.中文
协作模式与 Skills Studio 2.0
本次发布将 Clouds Coder 从单浏览器 Agent 运行时升级为本地优先的工作区:受信任的人与其 Agent 可以共同处理同一项目,同时不会把文件权、冲突决策或发布控制交给模型。
核心理念是 共享工作,明确权责:
完整的面向用户说明和启动指南见 README 中的 Collaboration Mode。
1. 为什么需要协作模式
让多个浏览器和多个 Agent 进入同一个目录很容易,难的是让合并后的工作可理解、可恢复。普通共享文件夹无法回答以下问题:
协作模式把这些问题当作产品级协调问题。文件系统仍是执行面,而由 SQLite 支撑的 revision、事件、身份、任务证据和审计记录构成控制面。
目标不是最大化自主并行度,而是实现 有用的并行:所有权可见、权限有边界,并且当自动化无法证明合并安全时,始终回到人的决策路径。
2. 协作框架
协作模式是独立服务:主 Agent UI 使用端口
P时,通常绑定到P+7。它提供带有协作身份和项目工作区的完整浏览器 IDE,仍然从单一的Clouds_Coder.py入口启动。flowchart TB subgraph Control["管理员控制面"] Admin["Admin UI"] Projects["项目 / 密码 / 生命周期"] Access["成员 / 设备 / 撤销"] Audit["审计链 / 备份 / 隔离"] Admin --> Projects Admin --> Access Admin --> Audit end subgraph Entry["协作服务 · 默认 P+7"] Gate["准入 + 设备审批"] Session["24 小时 HttpOnly 会话 + CSRF"] API["/api/collab/v1/*"] Events["SSE 事件流 + 快照恢复"] Gate --> Session --> API API <--> Events end subgraph Participants["受信任项目参与者"] H1["成员 A · IDE"] H2["成员 B · IDE"] A1["成员 A · 私有 Agent session"] A2["成员 B · 私有 Agent session"] H1 <--> A1 H2 <--> A2 end subgraph SharedState["项目事实来源"] Workspace["隔离项目工作区"] Docs["文档 revision + 不可变历史"] Board["任务黑板 + 分配 + 证据"] Presence["Presence + 光标 + 文件意图"] Conflicts["冻结冲突 + 候选分支"] Ledger["哈希链审计事件"] end subgraph Resources["管理员治理的共享资源"] Models["服务端 LLM profiles"] Skills["已发布 Skills · 成员只读"] MCP["已批准 MCP 工具"] Libraries["Knowledge / Code RAG / 共享应用"] end Control --> Gate H1 --> Gate H2 --> Gate API <--> Participants API <--> SharedState Participants --> Resources Resources --> Participants该框架有意把状态分成五类:
3. 身份、准入与信任边界
IP 地址只是传输元数据,不是持久的协作者身份。参与者由项目、成员和管理员批准的设备共同构成。项目密码证明其知晓邀请信息;管理员批准的设备凭据决定是否可以签发会话。
安全与生命周期属性包括:
HttpOnly/SameSite=Strict,在信任 HTTPS 时加上Secure;4. 一个工作区、三种写入协议
不同形态的写入需要不同的一致性机制。协作模式不会强迫大型二进制上传、Monaco 击键和 Shell 命令共用同一个协议。
flowchart TD W["参与者或 Agent 想要修改路径"] --> K{"写入形态"} K -->|"UTF-8 文本 ≤ 2 MB"| OT["Operational Transform"] OT --> O1["提交基线 revision + 幂等 operation ID"] O1 --> O2["根据更新的已接受操作进行变换"] O2 --> Commit["提交新 revision + 不可变版本"] K -->|"二进制或整文件写入"| CAS["Expected-revision 写入"] CAS --> C1{"Expected revision 等于当前值?"} C1 -->|是| Commit C1 -->|否| Conflict["创建候选分支并冻结文档"] K -->|"Shell 或 Agent 进程"| Lease["项目 mutation lease"] Lease --> L1["记录已知 revision 和哈希快照"] L1 --> L2["读者等待期间运行进程"] L2 --> L3["逐 revision 接管产生的写入"] L3 -->|"基线仍匹配"| Commit L3 -->|"并发或外部变更"| Conflict Commit --> Event["发布事件 + 更新快照 + 审计"] Event --> UI["其他 IDE 刷新受影响路径"]对于小型 UTF-8 文档,传入操作会根据其基线 revision 之后已接受的操作进行变换。服务器已有的插入在并列插入时优先,客户端 operation ID 保证重试幂等。
整文件和二进制写入使用带
expected_revision的乐观并发。Shell 和 Agent 工具由CollaborationWriteCoordinator包装:它持有项目 mutation lease,记录前后哈希,并把写入结果重新纳入文档目录。监视器也会检测稳定的越界磁盘变更,但不会把无法解释的文件值静默视为权威结果。5. 通过任务黑板实现人机协作
每个成员拥有私有 Agent session,但处理同一规范化目标的 Agent 会汇聚到一个公开任务项。第一个 Agent 成为活跃的
coordinator,后续 Agent 成为contributor。coordinator 仍然是工作者:它负责委派和集成,而不是变成只聊天的管理器。系统只接受明确的公开区段:研究笔记、执行日志、审查反馈、计划 findings/steps/proposals/risks 和状态。公开文本有长度上限,并会清理凭据、私钥、Bearer Token、私有 home 路径、围栏代码以及隐藏/系统 Prompt。完整 Prompt 和隐藏推理不会复制到项目黑板。
项目级的 coordinator/contributor 协议与会话内的
manager / explorer / developer / reviewer拓扑相互独立,二者可以同时存在:6. 冲突处理是一套决策协议
当无法证明基线仍然有效时,受影响的文档会被冻结。Clouds Coder 保存当前基线和每个提交的候选,而不是按到达顺序选择赢家。
重要保护措施:
7. 事件一致性与恢复
UI 将有序的项目事件日志与完整快照结合。事件为 Presence、操作、黑板、Agent、权限和冲突提供低延迟更新;快照让重连和事件保留缺口保持确定性。
sequenceDiagram participant A as IDE A participant S as 协作服务 participant E as 事件日志 participant B as IDE B A->>S: 提交 revision N S->>E: 追加事件 N E-->>B: 带单调 ID 的 SSE 事件 B->>S: 刷新受影响路径/快照 Note over B,S: 连接断开 B->>S: 使用 Last-Event-ID 重连 alt 事件仍在保留期内 S-->>B: 缺失的有序事件 else 游标早于保留范围 S-->>B: 完整快照重置 end服务器重启时,遗留的运行中 Agent 会变为 inactive,未完成分配会变为 blocked,过期文件意图会被关闭。Agent 心跳超时后,watchdog 会执行相同的清理。
8. 项目治理
Admin UI 可以创建和重命名项目、轮换密码、批准设备、封禁或撤销成员、归档/重新激活、创建 ZIP 备份、将项目隔离 30 天、恢复项目、查看活跃冲突并校验哈希链审计。
9. Skills Studio 2.0
Skills Studio 遵循相同理念:创作是私有的,分发受治理。
主要改进:
.clouds_coder_admin/skills_studio/,由skills_studio.sqlite建索引;SKILL.md、agents/openai.yaml、agents/clouds-coder.yaml、scripts/、references/和assets/;openai.yaml、默认$skill-namePrompt、语法、路径、大小和潜在密钥;旧版
/api/skillslab/*管理接口继续保留兼容性。新版工作台使用/api/skillslab/v2/*,审核接口为/api/admin/skills/submissions/*。10. 运维快速开始
从单一入口启动所有服务:
当
P=8080时的默认相关 URL:http://127.0.0.1:8080http://127.0.0.1:8081http://127.0.0.1:8080/adminhttp://127.0.0.1:8085http://127.0.0.1:8087或启动时打印的局域网 URL然后:
明文 HTTP 会把项目流量暴露给局域网。在完全信任的网络之外,请使用
--collab_tls_cert和--collab_tls_key配置证书,或配置明确受信的 HTTPS 反向代理。日本語
Collaboration Mode と Skills Studio 2.0
今回のリリースでは、Clouds Coder を単一ブラウザーの Agent ランタイムから、ローカルファーストのワークスペースへ発展させました。信頼された人とその Agent が同じプロジェクトで作業しながら、ファイルの権限、競合の判断、公開の管理権をモデルに明け渡すことはありません。
中心となる考え方は 共有する仕事、明示する権限 です。
利用者向けの詳しい説明と起動ガイドは README の Collaboration Mode を参照してください。
1. Collaboration Mode が必要な理由
複数のブラウザーと複数の Agent を同じディレクトリに置くことは簡単です。難しいのは、組み合わされた作業を理解可能かつ復元可能にすることです。単純な共有フォルダーでは、次の問いに答えられません。
Collaboration Mode はこれらを製品レベルの調整問題として扱います。ファイルシステムは実行面のまま、SQLite が保持する revision、イベント、ID、タスク証拠、監査記録が制御面を構成します。
目標は自律的な並列性を最大化することではありません。所有者を可視化し、権限を限定し、自動化が安全なマージを証明できない場合は人の判断へ戻れる、役に立つ並列性を実現することです。
2. Collaboration のフレームワーク
Collaboration Mode は独立したサービスです。メイン Agent UI がポート
Pを使う場合、通常はP+7にバインドされます。協調用の ID とワークスペースを持つ完全なブラウザー IDE を提供し、単一のClouds_Coder.pyエントリーポイントから起動します。flowchart TB subgraph Control["管理者コントロールプレーン"] Admin["Admin UI"] Projects["プロジェクト / パスワード / ライフサイクル"] Access["メンバー / デバイス / 失効"] Audit["監査チェーン / バックアップ / 隔離"] Admin --> Projects Admin --> Access Admin --> Audit end subgraph Entry["Collaboration サービス · デフォルト P+7"] Gate["参加受付 + デバイス承認"] Session["24 時間 HttpOnly セッション + CSRF"] API["/api/collab/v1/*"] Events["SSE イベントストリーム + スナップショット復旧"] Gate --> Session --> API API <--> Events end subgraph Participants["信頼済みプロジェクト参加者"] H1["メンバー A · IDE"] H2["メンバー B · IDE"] A1["メンバー A · プライベート Agent session"] A2["メンバー B · プライベート Agent session"] H1 <--> A1 H2 <--> A2 end subgraph SharedState["プロジェクトの唯一の正当な状態"] Workspace["隔離されたプロジェクトワークスペース"] Docs["ドキュメント revision + 不変履歴"] Board["タスク blackboard + 割り当て + 証拠"] Presence["Presence + カーソル + ファイル意図"] Conflicts["凍結された競合 + 候補ブランチ"] Ledger["ハッシュ連結監査イベント"] end subgraph Resources["管理者が統制する共有リソース"] Models["サーバー側 LLM profiles"] Skills["公開済み Skills · メンバーは読み取り専用"] MCP["承認済み MCP ツール"] Libraries["Knowledge / Code RAG / 共有アプリ"] end Control --> Gate H1 --> Gate H2 --> Gate API <--> Participants API <--> SharedState Participants --> Resources Resources --> Participantsこのフレームワークは、状態を意図的に 5 種類へ分離します。
3. ID、参加受付、信頼境界
IP アドレスは通信メタデータであり、永続的な協力者 ID ではありません。参加者はプロジェクト、メンバー、管理者が承認したデバイスの組み合わせです。プロジェクトパスワードは招待を知っていることを証明し、管理者が承認したデバイス資格情報がセッション発行の可否を決めます。
セキュリティとライフサイクルの特性は次のとおりです。
HttpOnly/SameSite=Strictとし、信頼できる HTTPS ではSecureを付けます。4. 1 つのワークスペース、3 つの書き込みプロトコル
書き込みの形が異なれば、一貫性の仕組みも異なります。Collaboration Mode は大きなバイナリアップロード、Monaco のキーストローク、Shell コマンドを同じプロトコルに押し込みません。
flowchart TD W["参加者または Agent がパスを変更したい"] --> K{"書き込みの形"} K -->|"UTF-8 テキスト ≤ 2 MB"| OT["Operational Transform"] OT --> O1["ベース revision + 冪等な operation ID を送信"] O1 --> O2["新しい受理済み操作に対して変換"] O2 --> Commit["新しい revision + 不変バージョンをコミット"] K -->|"バイナリまたは全ファイル書き込み"| CAS["Expected-revision 書き込み"] CAS --> C1{"Expected revision は現在値と一致?"} C1 -->|はい| Commit C1 -->|いいえ| Conflict["候補ブランチを作成してドキュメントを凍結"] K -->|"Shell または Agent プロセス"| Lease["プロジェクト mutation lease"] Lease --> L1["既知の revision とハッシュをスナップショット"] L1 --> L2["読み取り側を待たせてプロセスを実行"] L2 --> L3["生成された書き込みを revision ごとに取り込む"] L3 -->|"ベースラインが一致"| Commit L3 -->|"並行または外部変更"| Conflict Commit --> Event["イベント公開 + スナップショット更新 + 監査"] Event --> UI["他の IDE が影響パスを更新"]小さな UTF-8 ドキュメントでは、受信操作をベース revision 以降に受理された操作へ変換します。サーバー側の既存挿入は同位置の挿入で優先され、クライアント operation ID によりリトライが冪等になります。
全ファイルとバイナリの書き込みには
expected_revisionによる楽観的並行性制御を使います。Shell と Agent のツールはCollaborationWriteCoordinatorでラップされ、プロジェクト mutation lease を保持し、前後のハッシュを記録し、生成された書き込みをドキュメントカタログへ戻します。ウォッチャーは安定した範囲外のディスク変更も検出しますが、説明できないファイル値を黙って正当な状態とは扱いません。5. タスク blackboard による人間と Agent の協力
各メンバーはプライベートな Agent session を持ちますが、同じ正規化済みの目的で動く Agent は 1 つの公開タスク項目へ収束します。最初の Agent がアクティブな
coordinatorになり、後続の Agent はcontributorになります。coordinator はチャットだけの管理者になるのではなく、委任と統合を担当する作業者です。受け付ける公開区分は、research notes、execution logs、review feedback、plan findings/steps/proposals/risks、status に限られます。公開テキストには長さ制限があり、資格情報、秘密鍵、Bearer トークン、プライベートなホームパス、フェンス付きコード、隠し/システム Prompt をサニタイズします。完全な Prompt と隠れた推論はプロジェクト blackboard にコピーしません。
このプロジェクトレベルの coordinator/contributor プロトコルは、セッション内の
manager / explorer / developer / reviewerトポロジーとは別物です。両者は共存できます。6. 競合処理は意思決定プロトコル
ベースラインを証明できない場合、対象ドキュメントを凍結します。Clouds Coder は到着順で勝者を決めず、現在のベースラインと送信されたすべての候補を保存します。
重要な保護策:
7. イベントの一貫性と復旧
UI は順序付きのプロジェクトイベントログと完全なスナップショットを組み合わせます。イベントは Presence、操作、blackboard、Agent、権限、競合を低遅延で更新し、スナップショットは再接続とイベント保持範囲の欠落を決定的に処理します。
sequenceDiagram participant A as IDE A participant S as Collaboration サービス participant E as イベントログ participant B as IDE B A->>S: revision N をコミット S->>E: イベント N を追加 E-->>B: 単調増加 ID 付き SSE イベント B->>S: 影響パス/スナップショットを更新 Note over B,S: 接続が切断 B->>S: Last-Event-ID で再接続 alt イベントがまだ保持されている S-->>B: 欠落した順序付きイベント else カーソルが保持範囲より古い S-->>B: 完全なスナップショットリセット endサーバー再起動時、放棄された実行中 Agent は inactive になり、未完了の割り当ては blocked になり、古いファイル意図は閉じられます。Agent の heartbeat が期限切れになった場合も、watchdog が同じクリーンアップを実行します。
8. プロジェクトガバナンス
Admin UI では、プロジェクトの作成・名前変更、パスワードローテーション、デバイス承認、メンバーのブロック/失効、アーカイブ/再有効化、ZIP バックアップ作成、30 日間の隔離、復元、アクティブな競合の確認、ハッシュ連結監査チェーンの検証を行えます。
9. Skills Studio 2.0
Skills Studio も同じ理念に従います。作成は非公開、配布はガバナンス対象です。
主なポイント:
.clouds_coder_admin/skills_studio/に保存し、skills_studio.sqliteで索引化;SKILL.md、agents/openai.yaml、agents/clouds-coder.yaml、scripts/、references/、assets/を含む完全なパッケージ;openai.yaml、既定の$skill-namePrompt、構文、パス、サイズ、潜在的な秘密を検証;旧
/api/skillslab/*管理エンドポイントは互換性のため残ります。新しいワークベンチは/api/skillslab/v2/*を使用し、レビューは/api/admin/skills/submissions/*で提供します。10. オペレーター向けクイックスタート
すべてのサービスを単一エントリーポイントから起動します。
P=8080の場合の主なデフォルト URL:http://127.0.0.1:8080http://127.0.0.1:8081http://127.0.0.1:8080/adminhttp://127.0.0.1:8085http://127.0.0.1:8087または表示された LAN URL次に:
平文 HTTP ではプロジェクトの通信が LAN に露出します。完全に信頼できるネットワーク以外では、
--collab_tls_certと--collab_tls_keyを設定するか、明示的に信頼した HTTPS リバースプロキシを使用してください。This discussion was created from the release Clouds Coder 2026.08.23-Stable.
All reactions