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
6 changes: 6 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,12 @@ jobs:
working-directory: adapters/agent
- run: npm test && npm run check
working-directory: adapters/agent
- uses: oven-sh/setup-bun@v2
with:
bun-version: "1.3.14"
- name: Verify OpenCode SDK adapter
working-directory: adapters/opencode-sdk
run: bun install --frozen-lockfile --ignore-scripts && bun run check && bun test --timeout 30000
- name: Test adapter against real backend
env:
SCOPEWEAVER_ADAPTER_E2E: "1"
Expand Down
2 changes: 2 additions & 0 deletions README.es.md
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,8 @@ activa ni contacta al proveedor. Coding Plan está restringido a herramientas of
ScopeWeaver no figura entre ellas. Consulta [configuración de proveedores y límites de compatibilidad](docs/es/llm-providers.md).
Para reducir tokens de nube, consulta [Controlar el uso de tokens](docs/es/llm-providers.md#controlar-el-uso-de-tokens).

El **puente OpenCode SDK** opcional admite `native` CLI/cliente **2.1.4** (predeterminado) y `legacy` SDK/CLI **1.19.4**, con token independiente y `providerID/modelID`. Norma de ScopeWeaver conserva herramientas y aprobaciones. El modo heredado mantiene JSON seguro, permite normalizar espacios/escapes, no conserva bytes originales y rechaza enteros inseguros. Ambos modos carecen de soporte Windows; las pruebas previas cubrieron macOS arm64 y el resultado CI alojado de Linux sigue pendiente. El modo LLM solo local lo rechaza porque el proveedor puede ser nube. Consulta [inicio, límites y preparación de degradación SDK](docs/es/llm-providers.md#opencode-sdk-bridge): los binarios anteriores no arrancan mientras existan perfiles SDK.

Los perfiles opcionales de **Ollama nativo** funcionan sin clave API. Tres plantillas cubren Ollama en el mismo
equipo, en el host desde Docker y el servicio opcional `docker compose --profile local-llm`. Elegir una consulta los modelos instalados y rellena uno, dando preferencia a la compatibilidad con herramientas declarada;
no descarga ni ejecuta modelos. Envían un contexto de 32K (`num_ctx` 32,768), una solicitud a la vez y keep-alive de 30 minutos. El ajuste opcional
Expand Down
2 changes: 2 additions & 0 deletions README.ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,8 @@ PostgreSQL のデータベース 1 つにつき、実行中の ScopeWeaver サ

**LLM → 新規**フォームには、Z.ai General API 用の GLM-5.3 設定テンプレートと、明確に区別した Coding Plan の参考設定があります。自分の API キーを追加してください。テンプレートの選択では、保存、有効化、プロバイダーへの通信は行いません。Coding Plan は公式対応ツールのみに制限され、ScopeWeaver は一覧にありません。[プロバイダーの設定と対応範囲](docs/ja/llm-providers.md)を参照してください。クラウドのトークン使用量を抑える方法は[トークン使用量の管理](docs/ja/llm-providers.md#controlling-token-use)にあります。

任意の **OpenCode SDK ブリッジ**は固定 `native` CLI/クライアント **2.1.4**(既定)と `legacy` SDK/CLI **1.19.4** に対応し、独立したブリッジトークンと `providerID/modelID` を使います。ホストツールと承認は ScopeWeaver の Norma が管理します。旧版は安全な JSON 構造を保持しますが、空白/エスケープを正規化でき、生バイトを保証せず、危険な整数を拒否します。両方とも Windows 非対応。過去の実行テストは macOS arm64、Linux のホステッド CI 結果は未確認です。下流がクラウドの場合があるためローカル専用 LLM では拒否します。[SDK 設定・制限・ダウングレード準備](docs/ja/llm-providers.md#opencode-sdk-bridge)を参照してください。SDK プロファイルが残ると旧バイナリは起動できません。

任意の**ネイティブ Ollama** プロファイルは、API キーなしで動作します。同じマシン、Docker からホスト、任意の `docker compose --profile local-llm` サービスの 3 テンプレートがあります。選択時はインストール済みモデルを読み、ツール対応を宣言したものを優先して設定しますが、ダウンロードや実行はしません。32K のコンテキスト(`num_ctx` 32,768)、同時リクエスト 1 件、キープアライブ 30 分を送ります。任意の**LLM のローカル限定ネットワーク**(既定で無効)は、ループバックと明示的に信頼した推論用 CIDR のみを許可し、LAN/Docker のアドレスにも許可リスト登録が必要です。すべてのエージェントのウェブ検索と更新の確認・ダウンロードもブロックし、ローカルのバージョン表示とロールバックは利用できます。対象用ツールのネットワーク接続は維持します。ホスト・リモートの Ollama では、別途 `OLLAMA_NO_CLOUD=1` が必要です。厳密モード以外では、クラウド形式、独自 URL、プロキシは引き続き動作します。ネイティブ要求は、待機中の判定・メインエージェント・補足の質問を次の空き枠に優先し、ネイティブ判定は 90 秒・ask の既定値と、上限付きのコンテキスト保護を持ちます。[ネイティブ Ollama](docs/ja/llm-providers.md#native-ollama-local-inference)を参照してください。

> **PostgreSQL** が必要です。探索には **LLM** の設定が必要です
Expand Down
9 changes: 9 additions & 0 deletions README.ko.md
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,15 @@ PostgreSQL 데이터베이스 하나에는 ScopeWeaver 서버 프로세스를
[제공자 설정과 지원 범위](docs/ko/llm-providers.md)를 확인하세요.
클라우드 토큰 사용량은 [토큰 사용량 줄이기](docs/ko/llm-providers.md#토큰-사용량-줄이기)를 참고하세요.

선택형 **OpenCode SDK 브리지** 프로필은 고정된 `native` CLI·클라이언트 **2.1.4**(기본값)와
`legacy` SDK·CLI **1.19.4**, 별도 브리지 토큰, `providerID/modelID`를 지원합니다.
호스트 도구와 승인은 ScopeWeaver의 Norma 런타임이 관리합니다. 레거시는 안전한 JSON 구조를 보존하며
무해한 공백·이스케이프는 정규화될 수 있습니다. 원본 바이트는 보장하지 않으며 안전하지 않은 정수는 거부합니다.
두 런타임 모두 Windows는 지원하지 않습니다. 이전 실제 런타임 테스트 범위는 macOS arm64이며
Linux의 호스팅된 CI 결과는 아직 없습니다. 하위 제공자가 클라우드일 수 있어 로컬 전용 LLM 모드에서는 거부됩니다.
[SDK 설정·제약·다운그레이드 준비](docs/ko/llm-providers.md#opencode-sdk-브리지)를 참고하세요.
SDK 프로필이 남아 있으면 이전 바이너리는 시작할 수 없습니다.

선택 사항인 **기본 Ollama** 프로필은 API 키 없이 동작합니다. 같은 컴퓨터의 Ollama, Docker에서
접근하는 호스트 Ollama, 선택형 `docker compose --profile local-llm` 서비스용 템플릿 세 개를
제공합니다. 선택하면 서버에 설치된 모델을 조회하고 도구 호출 지원을 선언한 모델을 우선 채웁니다.
Expand Down
9 changes: 9 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,15 @@ activate, or contact a provider. Coding Plan use is restricted to officially sup
ScopeWeaver is not listed. See [provider setup and support limits](docs/llm-providers.md).
To reduce cloud token use, see [Controlling token use](docs/llm-providers.md#controlling-token-use).

Optional **OpenCode SDK bridge** profiles support pinned `native` CLI/client **2.1.4** (default) and
`legacy` SDK/CLI **1.19.4**, with a separate bridge token and `providerID/modelID`. ScopeWeaver's
Norma runtime keeps host tools and approvals. Legacy preserves safe JSON structure, allowing benign
whitespace/escape normalization; it does not preserve original bytes and rejects unsafe integers. Both runtimes
are unsupported on Windows. Prior runtime tests cover macOS arm64; Linux hosted CI results are pending.
Local-only LLM mode rejects this bridge because its downstream provider may be cloud-based. See
[SDK setup, limits and downgrade preparation](docs/llm-providers.md#opencode-sdk-bridge);
older binaries cannot start with SDK profiles present.

Optional **native Ollama** profiles run without an API key. Three templates cover Ollama on the same
machine, on the host from Docker, and the opt-in `docker compose --profile local-llm` service. Selecting one reads installed models and prefills one, preferring declared tool support;
it does not download or run a model. They send a 32K context (`num_ctx` 32,768), one request at a time and a 30-minute keep-alive. An opt-in
Expand Down
2 changes: 2 additions & 0 deletions README.zh-Hans.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,8 @@

「LLM → 新增」表单提供 Z.ai General API 的 GLM-5.3 配置模板,以及另行标示的 Coding Plan 参考配置。请自行加入 API 密钥;选取模板不会保存、启用或联络供应商。Coding Plan 仅限官方支持的工具使用,ScopeWeaver 不在清单内。详见[供应商配置与支持限制](docs/zh-Hans/llm-providers.md)。若要减少云端 token 用量,请参阅[控制 token 用量](docs/zh-Hans/llm-providers.md#controlling-token-use)。

可选的 **OpenCode SDK 桥接器**支持固定的 `native` CLI/客户端 **2.1.4**(默认)与 `legacy` SDK/CLI **1.19.4**,使用独立桥接令牌及 `providerID/modelID`。宿主工具和审批仍由 ScopeWeaver 的 Norma 管理。旧版保留安全 JSON 结构,但可规范化空白/转义,不保留原始字节,并拒绝不安全整数。两个运行时均不支持 Windows;先前运行测试范围为 macOS arm64,Linux 托管 CI 结果尚待验证。下游可能是云端,因此仅本地 LLM 模式拒绝桥接器。见 [SDK 设置、限制与降级准备](docs/zh-Hans/llm-providers.md#opencode-sdk-bridge);SDK 配置仍存在时,旧二进制无法启动。

可选的**原生 Ollama** 配置不需要 API 密钥。三种模板分别适用于同一台电脑、从 Docker 存取主机,以及选择性启用的 `docker compose --profile local-llm` 服务。选取模板会读取已安装模型并预填一个模型,优先选择声明支持工具的模型;不会下载或运行模型。默认传送 32K 上下文(`num_ctx` 32,768)、每次一个请求,以及 30 分钟的 keep-alive。选择性启用的**仅限本地 LLM 网络**配置默认关闭,仅允许环回地址与明确信任的推论 CIDR;LAN 与 Docker 地址必须加入允许清单。此配置也会封锁所有智能体网页搜寻与更新检查/下载,但仍可查看本地版本与回滚。目标工具仍可存取网络;主机/远程 Ollama 必须另设 `OLLAMA_NO_CLOUD=1`。非严格模式仍可使用云端格式、自定义 URL 与代理服务器。原生请求会将下一个可用名额优先提供给排队中的裁决/主要智能体/侧问请求;原生裁决默认为 90 秒/ask,并有上下文边界保护。详见[原生 Ollama](docs/zh-Hans/llm-providers.md#native-ollama-local-inference)。

> 需要 **PostgreSQL** 数据库。探索需要已配置的 **LLM**(`ANTHROPIC_API_KEY`、`OPENAI_API_KEY`、免密钥 Ollama 配置,或在界面中配置)。
Expand Down
2 changes: 2 additions & 0 deletions README.zh-Hant.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,8 @@

「LLM → 新增」表單提供 Z.ai General API 的 GLM-5.3 設定範本,以及另行標示的 Coding Plan 參考設定。請自行加入 API 金鑰;選取範本不會儲存、啟用或聯絡供應商。Coding Plan 僅限官方支援的工具使用,ScopeWeaver 不在清單內。詳見[供應商設定與支援限制](docs/zh-Hant/llm-providers.md)。若要減少雲端 token 用量,請參閱[控制 token 用量](docs/zh-Hant/llm-providers.md#controlling-token-use)。

選用的 **OpenCode SDK 橋接器**支援固定的 `native` CLI/用戶端 **2.1.4**(預設)與 `legacy` SDK/CLI **1.19.4**,使用獨立橋接權杖及 `providerID/modelID`。主機工具與核准仍由 ScopeWeaver 的 Norma 管理。舊版保留安全 JSON 結構,但可正規化空白/跳脫,不保留原始位元組,並拒絕不安全整數。兩個執行環境皆不支援 Windows;先前測試範圍為 macOS arm64,Linux 託管 CI 結果尚待驗證。下游可能是雲端,因此僅本機 LLM 模式拒絕橋接器。請見 [SDK 設定、限制與降級準備](docs/zh-Hant/llm-providers.md#opencode-sdk-bridge);SDK 設定檔仍存在時,舊二進位檔無法啟動。

可選的**原生 Ollama** 設定檔不需要 API 金鑰。三種範本分別適用於同一台電腦、從 Docker 存取主機,以及選擇性啟用的 `docker compose --profile local-llm` 服務。選取範本會讀取已安裝模型並預填一個模型,優先選擇宣告支援工具的模型;不會下載或執行模型。預設傳送 32K 上下文(`num_ctx` 32,768)、每次一個請求,以及 30 分鐘的 keep-alive。選擇性啟用的**僅限本機 LLM 網路**設定預設關閉,僅允許回送位址與明確信任的推論 CIDR;LAN 與 Docker 位址必須加入允許清單。此設定也會封鎖所有代理程式網頁搜尋與更新檢查/下載,但仍可查看本機版本與復原。目標工具仍可存取網路;主機/遠端 Ollama 必須另設 `OLLAMA_NO_CLOUD=1`。非嚴格模式仍可使用雲端格式、自訂 URL 與代理伺服器。原生請求會將下一個可用名額優先提供給排隊中的裁決/主要代理程式/側問請求;原生裁決預設為 90 秒/ask,並有上下文邊界保護。詳見[原生 Ollama](docs/zh-Hant/llm-providers.md#native-ollama-local-inference)。

> 需要 **PostgreSQL** 資料庫。探索需要已設定的 **LLM**(`ANTHROPIC_API_KEY`、`OPENAI_API_KEY`、免金鑰 Ollama 設定檔,或在介面中設定)。
Expand Down
16 changes: 16 additions & 0 deletions adapters/opencode-sdk/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
node_modules/
.env
.env.*
provider-config*.json
credentials*.json
auth.json
*.secret.json
*.secrets.json
secrets/
credentials/
*.local.json
*.log
.runtime/
.cache/
tmp/
coverage/
Loading
Loading