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
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
20 changes: 10 additions & 10 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,16 +39,16 @@ jobs:
components: rustfmt
- run: cargo fmt --all -- --check

# clippy:
# name: Clippy
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4
# - uses: dtolnay/rust-toolchain@stable
# with:
# components: clippy
# - uses: Swatinem/rust-cache@v2
# - run: cargo clippy --workspace --all-targets -- -D warnings
clippy:
name: Clippy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy
- uses: Swatinem/rust-cache@v2
- run: cargo clippy --workspace --all-targets -- -D warnings

doc:
name: Doc
Expand Down
1 change: 1 addition & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

22 changes: 11 additions & 11 deletions README.ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ Devo は、単一のホスト型モデルエコシステムに縛られず、モ
Desktop 体験、terminal workflow、ランタイムの動作、ワークスペースでの
実行境界を自分たちで制御したいチームのための coding agent です。

- **任意のモデルを接続** - provider/model binding により、OpenAI 互換 Chat
- **任意のモデルを接続** - provider/model Connection により、OpenAI 互換 Chat
Completions、OpenAI 互換 Responses、Anthropic Messages、DeepSeek、
Qwen、Kimi、またはプライベートモデルゲートウェイを接続できます。
- **プライベート環境やイントラネット環境に対応** - 単一のローカル Rust
Expand All @@ -54,7 +54,7 @@ Desktop 体験、terminal workflow、ランタイムの動作、ワークスペ

## 機能

- **Model-neutral provider runtime** - provider/model binding により、OpenAI 互換、
- **Model-neutral provider runtime** - provider/model Connection により、OpenAI 互換、
Anthropic 互換、DeepSeek、Qwen、Kimi、GLM、MiniMax、Xiaomi MiMo、
OpenRouter、またはローカルエンドポイントを利用できます。
- **MCP サポート** - [Model Context Protocol](https://modelcontextprotocol.io/)
Expand Down Expand Up @@ -91,7 +91,7 @@ Desktop 体験、terminal workflow、ランタイムの動作、ワークスペ
</p>

Devo の組み込みモデルカタログには、Qwen、Kimi、MiniMax、GLM、DeepSeek の検証済みモデル定義が含まれています。
プロバイダーのエンドポイントは provider/model binding で引き続き設定できます。
プロバイダーのエンドポイントは provider/model Connection で引き続き設定できます。

## 検証済みプラットフォーム

Expand Down Expand Up @@ -208,17 +208,17 @@ devo resume <session-id>

## 設定

`devo onboard` が推奨されるセットアップ方法です。provider/model binding を
`config.toml` に書き、API key をユーザースコープの `auth.json` に保存します。
`devo onboard` が推奨されるセットアップ方法です。provider Connection と model
directory を `providers.json` に書き、API key をユーザースコープの `auth.json` に保存します。

自分の API key とカスタムモデルを手動で設定する場合:

1. `config.toml` で `[model.<slug>]` パラメータ、`[providers.<id>]`、
`[model_bindings.<id>]` を定義します
1. `providers.json` で `provider.<id>.models.<model-id>` を定義し、既定 model を
`provider/model` に設定します
2. シークレットを `DEVO_HOME/auth.json` に置き、`[providers.<id>].credential`
からその credential id を参照します — API key 自体を `config.toml` に
からその credential id を参照します — API key 自体を `providers.json` に
書かないでください。
3. エンドポイントのプロトコルに合わせて `invocation_method` を
3. エンドポイントのプロトコルに合わせて `wire_api` を
`openai_chat_completions`、`openai_responses`、`anthropic_messages` の
いずれかに設定します。

Expand All @@ -241,12 +241,12 @@ Devo は pre-1.0 で、活発に開発されています。ローカル評価、

組み込みモデルメタデータは現在、Qwen、Kimi、MiniMax、GLM、DeepSeek ファミリーをカバーしています。
OpenAI 互換 Chat Completions、OpenAI 互換 Responses、または Anthropic Messages API をサポートするモデルエンドポイントであれば、
provider/model binding を通じて接続できます。
provider/model Connection を通じて接続できます。

### 自分の API key を使うには?

`devo onboard` を使うか、ユーザースコープの `auth.json` を編集し、
`config.toml` の `[providers.<id>].credential` からその credential id を参照します。
`providers.json` の `provider.<id>.credential` からその credential id を参照します。
詳細は [設定](./docs/configuration.ja.md#自分の-api-key-を使う) を参照してください。

### Desktop app と TUI/CLI のどちらを使うべきですか?
Expand Down
28 changes: 14 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ runtime behavior, and workspace execution under your control.

- **Bring your own model** - Connect OpenAI-compatible Chat Completions,
OpenAI-compatible Responses, Anthropic Messages, DeepSeek, Qwen, Kimi, or
private model gateways through provider/model bindings.
private model gateways through provider/model Connections.
- **Works in private and intranet environments** - Run a single local Rust
binary, support offline installation paths, and point Devo at internal
endpoints without depending on a hosted agent service.
Expand All @@ -55,7 +55,7 @@ runtime behavior, and workspace execution under your control.

## Features

- **Model-neutral provider runtime** - Use provider/model bindings for
- **Model-neutral provider runtime** - Use provider/model Connections for
OpenAI-compatible, Anthropic-compatible, DeepSeek, Qwen, Kimi, GLM, MiniMax,
Xiaomi MiMo, OpenRouter, or local endpoints.
- **MCP support** - Connect external tools and context through
Expand Down Expand Up @@ -98,7 +98,7 @@ runtime behavior, and workspace execution under your control.

Devo's built-in model catalog includes tested model definitions for Qwen, Kimi,
MiniMax, GLM, and DeepSeek. Provider endpoints remain configurable through
provider/model bindings.
provider/model Connections.

## Tested Platforms

Expand Down Expand Up @@ -217,17 +217,17 @@ devo resume <session-id>

## Configuration

`devo onboard` is the recommended setup path. It writes provider and model
bindings to `config.toml` and stores your API key in user-scoped `auth.json`.
`devo onboard` is the recommended setup path. It writes provider Connections
and model directories to `providers.json` and stores your API key in
user-scoped `auth.json`.

To bring your own key with a custom model manually:

1. Define `[model.<slug>]` parameters, `[providers.<id>]`, and
`[model_bindings.<id>]` in `config.toml`.
1. Define a `provider.<id>.models.<model-id>` entry in `providers.json` and set
the active model as `provider/model`.
2. Put the secret in `DEVO_HOME/auth.json` and reference that credential id from
`[providers.<id>].credential` — never put the API key itself in
`config.toml`.
3. Set `invocation_method` to match the endpoint protocol:
`provider.<id>.credential` — never put the API key itself in `providers.json`.
3. Set `wire_api` to match the endpoint protocol:
`openai_chat_completions`, `openai_responses`, or `anthropic_messages`.

Full worked example (custom model parameters + API key) and protocol details:
Expand Down Expand Up @@ -258,13 +258,13 @@ change.
Built-in model metadata currently covers Qwen, Kimi, MiniMax, GLM, and DeepSeek
families. Any model endpoint that supports OpenAI-compatible Chat Completions,
OpenAI-compatible Responses, or the Anthropic Messages API can be connected through
provider/model bindings.
provider/model Connections.

### How do I bring my own API key?

Use `devo onboard`, or manually define a custom `[model.<slug>]`, provider, and
binding in `config.toml`, store the key in user-scoped `auth.json`, and set
`invocation_method` to `openai_chat_completions`, `openai_responses`, or
Use `devo onboard`, or manually define a custom provider/model in
`providers.json`, store the key in user-scoped `auth.json`, and set
`wire_api` to `openai_chat_completions`, `openai_responses`, or
`anthropic_messages`. See
[Configuration](./docs/configuration.md#bring-your-own-api-key).

Expand Down
20 changes: 10 additions & 10 deletions README.ru.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ Devo предназначен для команд, которым нужен cod
экосистемы моделей. Он оставляет Desktop experience, terminal workflow, выбор
модели, поведение runtime и выполнение в workspace под вашим контролем.

- **Подключайте свою модель** - Через provider/model bindings можно подключать
- **Подключайте свою модель** - Через provider/model Connections можно подключать
OpenAI-compatible Chat Completions, OpenAI-compatible Responses, Anthropic
Messages, DeepSeek, Qwen, Kimi или приватные model gateways.
- **Подходит для приватных и intranet-сред** - Devo запускается как единый
Expand All @@ -54,7 +54,7 @@ Devo предназначен для команд, которым нужен cod

## Возможности

- **Модельно-нейтральный provider runtime** - Используйте provider/model bindings
- **Модельно-нейтральный provider runtime** - Используйте provider/model Connections
для OpenAI-совместимых, Anthropic-совместимых, DeepSeek, Qwen, Kimi, GLM,
MiniMax, Xiaomi MiMo, OpenRouter или локальных endpoint.
- **Поддержка MCP** - Подключайте внешние инструменты и контекст через серверы
Expand Down Expand Up @@ -98,7 +98,7 @@ Devo предназначен для команд, которым нужен cod

Встроенный каталог моделей Devo содержит проверенные определения моделей для
Qwen, Kimi, MiniMax, GLM и DeepSeek. Endpoint поставщиков остаются настраиваемыми
через provider/model bindings.
через provider/model Connections.

## Проверенные платформы

Expand Down Expand Up @@ -221,15 +221,15 @@ devo resume <session-id>
## Конфигурация

`devo onboard` - рекомендуемый путь настройки. Он записывает provider и model
bindings в `config.toml` и сохраняет API key в пользовательском `auth.json`.
Connections и каталог моделей в `providers.json`, а API key сохраняет в пользовательском `auth.json`.

Чтобы вручную подключить свой ключ и кастомную модель:

1. Определите параметры `[model.<slug>]`, `[providers.<id>]` и
`[model_bindings.<id>]` в `config.toml`.
1. Определите `provider.<id>.models.<model-id>` в `providers.json` и задайте модель
по умолчанию в форме `provider/model`.
2. Положите секрет в `DEVO_HOME/auth.json` и ссылайтесь на этот credential id из
`[providers.<id>].credential` — не пишите сам API key в `config.toml`.
3. Установите `invocation_method` в соответствии с протоколом endpoint:
`provider.<id>.credential` — не пишите сам API key в `providers.json`.
3. Установите `wire_api` в соответствии с протоколом endpoint:
`openai_chat_completions`, `openai_responses` или `anthropic_messages`.

Полный пример (параметры кастомной модели + API key) и описание протоколов:
Expand All @@ -253,12 +253,12 @@ Devo находится на стадии pre-1.0 и активно развив
Встроенные метаданные моделей сейчас покрывают семейства Qwen, Kimi, MiniMax,
GLM и DeepSeek. Любой endpoint модели, который поддерживает OpenAI-compatible
Chat Completions, OpenAI-compatible Responses или Anthropic Messages API, можно
подключить через provider/model bindings.
подключить через provider/model Connections.

### Как подключить свой API key?

Используйте `devo onboard` или отредактируйте пользовательский `auth.json` и
укажите этот credential id в `[providers.<id>].credential` в `config.toml`. См.
укажите этот credential id в `provider.<id>.credential` в `providers.json`. См.
[Конфигурацию](./docs/configuration.ru.md#свой-api-key).

### Что выбрать: Desktop app или TUI/CLI?
Expand Down
24 changes: 12 additions & 12 deletions README.zh-Hans.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
Devo 面向那些不想绑定单一托管模型生态、需要掌控模型选择、运行时行为和
Desktop 体验、终端工作流以及工作区执行边界的团队。

- **接入任意模型** - 通过 provider/model 绑定接入 OpenAI 兼容 Chat
- **接入任意模型** - 通过 provider/model Connection 接入 OpenAI 兼容 Chat
Completions、OpenAI 兼容 Responses、Anthropic Messages、DeepSeek、
Qwen、Kimi 或私有模型网关。
- **适合私有化和内网环境** - 以单一本地 Rust 二进制运行,支持离线安装路径,
Expand All @@ -50,7 +50,7 @@ Desktop 体验、终端工作流以及工作区执行边界的团队。

## 功能

- **模型中立的 provider runtime** - 通过 provider/model 绑定接入 OpenAI 兼容、
- **模型中立的 provider runtime** - 通过 provider/model Connection 接入 OpenAI 兼容、
Anthropic 兼容、DeepSeek、Qwen、Kimi、GLM、MiniMax、Xiaomi MiMo、
OpenRouter 或本地端点。
- **MCP 支持** - 通过
Expand Down Expand Up @@ -85,7 +85,7 @@ Desktop 体验、终端工作流以及工作区执行边界的团队。
</p>

Devo 的内置模型目录包含 Qwen、Kimi、MiniMax、GLM 和 DeepSeek 的已测试模型定义。
Provider 端点仍可通过 provider/model 绑定配置
Provider 端点仍可通过 provider/model Connection 配置

## 已测试平台

Expand Down Expand Up @@ -199,16 +199,16 @@ devo resume <session-id>

## 配置

`devo onboard` 是推荐的设置路径。它会把 provider 和 model binding 写入
`config.toml`,并把 API key 保存在用户级 `auth.json`。
`devo onboard` 是推荐的设置路径。它会把 provider Connection 和模型目录写入
`providers.json`,并把 API key 保存在用户级 `auth.json`。

如需手动接入自有 API key 与自定义模型:

1. 在 `config.toml` 中定义 `[model.<slug>]` 参数、`[providers.<id>]` 和
`[model_bindings.<id>]`。
1. 在 `providers.json` 中定义 `provider.<id>.models.<model-id>`,并将默认模型设为
`provider/model`。
2. 把密钥写入 `DEVO_HOME/auth.json`,并在 `[providers.<id>].credential` 中引用该
credential id — 不要把 API key 本身写进 `config.toml`。
3. 将 `invocation_method` 设为与端点协议一致:`openai_chat_completions`、
credential id — 不要把 API key 本身写进 `providers.json`。
3. 将 `wire_api` 设为与端点协议一致:`openai_chat_completions`、
`openai_responses` 或 `anthropic_messages`。

完整示例(自定义模型参数 + API key)与协议说明见
Expand All @@ -235,12 +235,12 @@ Devo 仍处于 1.0 之前并在积极开发中。它已经适合本地评估、

内置模型元数据目前覆盖 Qwen、Kimi、MiniMax、GLM 和 DeepSeek 系列。
任何支持 OpenAI 兼容 Chat Completions、OpenAI 兼容 Responses 或
Anthropic Messages API 的模型端点,都可以通过 provider/model 绑定接入
Anthropic Messages API 的模型端点,都可以通过 provider/model Connection 接入

### 如何接入自有 API key?

使用 `devo onboard`,或在 `config.toml` 中手动定义自定义 `[model.<slug>]`、
provider 与 binding,把 key 存入用户级 `auth.json`,并将 `invocation_method`
使用 `devo onboard`,或在 `providers.json` 中手动定义自定义 provider/model
把 key 存入用户级 `auth.json`,并将 `wire_api`
设为 `openai_chat_completions`、`openai_responses` 或 `anthropic_messages`。详见
[配置](./docs/configuration.zh-Hans.md#接入自有-api-key)。

Expand Down
24 changes: 12 additions & 12 deletions README.zh-Hant.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
Devo 面向那些不想綁定單一託管模型生態、需要掌控模型選擇、執行階段行為和
Desktop 體驗、終端機工作流以及工作區執行邊界的團隊。

- **接入任意模型** - 透過 provider/model 綁定接入 OpenAI 相容 Chat
- **接入任意模型** - 透過 provider/model Connection 接入 OpenAI 相容 Chat
Completions、OpenAI 相容 Responses、Anthropic Messages、DeepSeek、
Qwen、Kimi 或私有模型閘道。
- **適合私有化和內網環境** - 以單一本地 Rust 二進位檔執行,支援離線安裝路徑,
Expand All @@ -50,7 +50,7 @@ Desktop 體驗、終端機工作流以及工作區執行邊界的團隊。

## 功能

- **模型中立的 provider runtime** - 透過 provider/model 綁定接入 OpenAI 相容、
- **模型中立的 provider runtime** - 透過 provider/model Connection 接入 OpenAI 相容、
Anthropic 相容、DeepSeek、Qwen、Kimi、GLM、MiniMax、Xiaomi MiMo、
OpenRouter 或本地端點。
- **MCP 支援** - 透過
Expand Down Expand Up @@ -85,7 +85,7 @@ Desktop 體驗、終端機工作流以及工作區執行邊界的團隊。
</p>

Devo 的內建模型目錄包含 Qwen、Kimi、MiniMax、GLM 和 DeepSeek 的已測試模型定義。
Provider 端點仍可透過 provider/model 綁定配置
Provider 端點仍可透過 provider/model Connection 配置

## 已測試平台

Expand Down Expand Up @@ -199,16 +199,16 @@ devo resume <session-id>

## 配置

`devo onboard` 是推薦的設定路徑。它會把 provider 和 model binding 寫入
`config.toml`,並把 API key 保存在使用者級 `auth.json`。
`devo onboard` 是推薦的設定路徑。它會把 provider Connection 和模型目錄寫入
`providers.json`,並把 API key 保存在使用者級 `auth.json`。

如需手動接入自有 API key 與自訂模型:

1. 在 `config.toml` 中定義 `[model.<slug>]` 參數、`[providers.<id>]` 和
`[model_bindings.<id>]`。
1. 在 `providers.json` 中定義 `provider.<id>.models.<model-id>`,並將預設模型設為
`provider/model`。
2. 把密鑰寫入 `DEVO_HOME/auth.json`,並在 `[providers.<id>].credential` 中引用該
credential id — 不要把 API key 本身寫進 `config.toml`。
3. 將 `invocation_method` 設為與端點協議一致:`openai_chat_completions`、
credential id — 不要把 API key 本身寫進 `providers.json`。
3. 將 `wire_api` 設為與端點協議一致:`openai_chat_completions`、
`openai_responses` 或 `anthropic_messages`。

完整範例(自訂模型參數 + API key)與協議說明見
Expand All @@ -230,12 +230,12 @@ Devo 仍處於 1.0 之前並在積極開發中。它已經適合本地評估、

內建模型中繼資料目前覆蓋 Qwen、Kimi、MiniMax、GLM 和 DeepSeek 系列。
任何支援 OpenAI 相容 Chat Completions、OpenAI 相容 Responses 或
Anthropic Messages API 的模型端點,都可以透過 provider/model 綁定接入
Anthropic Messages API 的模型端點,都可以透過 provider/model Connection 接入

### 如何接入自有 API key?

使用 `devo onboard`,或在 `config.toml` 中手動定義自訂 `[model.<slug>]`、
provider 與 binding,把 key 存入使用者級 `auth.json`,並將 `invocation_method`
使用 `devo onboard`,或在 `providers.json` 中手動定義自訂 provider/model
把 key 存入使用者級 `auth.json`,並將 `wire_api`
設為 `openai_chat_completions`、`openai_responses` 或 `anthropic_messages`。詳見
[配置](./docs/configuration.zh-Hant.md#接入自有-api-key)。

Expand Down
Loading
Loading