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
3 changes: 2 additions & 1 deletion README.ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,8 @@ Desktop 体験、terminal workflow、ランタイムの動作、ワークスペ
Anthropic 互換、DeepSeek、Qwen、Kimi、GLM、MiniMax、Xiaomi MiMo、
OpenRouter、またはローカルエンドポイントを利用できます。
- **MCP サポート** - [Model Context Protocol](https://modelcontextprotocol.io/)
サーバーを通じて外部ツールとコンテキストを接続できます。
サーバーを通じて外部ツールとコンテキストを接続できます。設定方法は
[設定](./docs/configuration.ja.md#mcp-サーバー) を参照してください。
- **Skill サポート** - 再利用可能なワークフロー、手順、スクリプト、参照資料を
[Agent Skills](https://agentskills.io/) としてパッケージ化できます。
- **長時間タスクのサポート** - 複数ターンにまたがる作業でも Devo が自動的にコンテキストを管理し、
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,8 @@ runtime behavior, and workspace execution under your control.
OpenAI-compatible, Anthropic-compatible, DeepSeek, Qwen, Kimi, GLM, MiniMax,
Xiaomi MiMo, OpenRouter, or local endpoints.
- **MCP support** - Connect external tools and context through
[Model Context Protocol](https://modelcontextprotocol.io/) servers.
[Model Context Protocol](https://modelcontextprotocol.io/) servers. See
[Configuration](./docs/configuration.md#mcp-servers) for setup.
- **Skill support** - Package repeatable workflows, instructions, scripts, and
references as reusable [Agent Skills](https://agentskills.io/).
- **Long-running task support** - Let Devo manage context automatically across
Expand Down
3 changes: 2 additions & 1 deletion README.ru.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,8 @@ Devo предназначен для команд, которым нужен cod
для OpenAI-совместимых, Anthropic-совместимых, DeepSeek, Qwen, Kimi, GLM,
MiniMax, Xiaomi MiMo, OpenRouter или локальных endpoint.
- **Поддержка MCP** - Подключайте внешние инструменты и контекст через серверы
[Model Context Protocol](https://modelcontextprotocol.io/).
[Model Context Protocol](https://modelcontextprotocol.io/). Настройка описана в
[Конфигурации](./docs/configuration.ru.md#mcp-серверы).
- **Поддержка Skill** - Упаковывайте повторяемые workflow, инструкции, скрипты
и справочные материалы как переиспользуемые
[Agent Skills](https://agentskills.io/).
Expand Down
1 change: 1 addition & 0 deletions README.zh-Hans.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ Desktop 体验、终端工作流以及工作区执行边界的团队。
OpenRouter 或本地端点。
- **MCP 支持** - 通过
[Model Context Protocol](https://modelcontextprotocol.io/) 服务器连接外部工具和上下文。
配置方式见 [配置](./docs/configuration.zh-Hans.md#mcp-服务器)。
- **Skill 支持** - 将可复用工作流、说明、脚本和参考资料打包成可复用的
[Agent Skills](https://agentskills.io/)。
- **长任务支持** - 让 Devo 在多轮工作中自动管理上下文,避免任务变长后丢失上下文。
Expand Down
1 change: 1 addition & 0 deletions README.zh-Hant.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ Desktop 體驗、終端機工作流以及工作區執行邊界的團隊。
OpenRouter 或本地端點。
- **MCP 支援** - 透過
[Model Context Protocol](https://modelcontextprotocol.io/) 伺服器連接外部工具和上下文。
配置方式見 [配置](./docs/configuration.zh-Hant.md#mcp-伺服器)。
- **Skill 支援** - 將可重複工作流程、說明、腳本和參考資料打包成可重用的
[Agent Skills](https://agentskills.io/)。
- **長時間任務支援** - 讓 Devo 在多輪工作中自動管理上下文,避免任務變長後丟失脈絡。
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -365,20 +365,15 @@ function enrichedToolInput(
function outputFromAcpToolContent(content: unknown): string {
if (!Array.isArray(content)) return ""
const textParts: string[] = []
const terminalParts: string[] = []
for (const item of content) {
if (!item || typeof item !== "object") continue
const value = item as Record<string, unknown>
if (value.type === "content") {
const text = textFromUpdate({ content: value.content })
if (text) textParts.push(text)
continue
}
if (value.type === "terminal" && typeof value.terminalId === "string") {
terminalParts.push(`Terminal ${value.terminalId}`)
}
}
return [...textParts, ...terminalParts].join("\n\n")
return textParts.join("\n\n")
}

function toolStateStatus(value: unknown, existingStatus: unknown): "completed" | "error" | "pending" | "running" {
Expand Down
4 changes: 1 addition & 3 deletions apps/desktop/packages/devo-ai-sdk/src/v2/client.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1012,7 +1012,6 @@ describe("ACP desktop SDK session mapping", () => {
rawInput: {},
content: [
{ type: "diff", path: "src/main.rs", oldText: "old\n", newText: "new\n" },
{ type: "terminal", terminalId: "term-1" },
{ type: "content", content: { type: "text", text: "applied" } },
],
locations: [{ path: "src/main.rs", line: 12 }],
Expand Down Expand Up @@ -1057,12 +1056,11 @@ describe("ACP desktop SDK session mapping", () => {
newString: "new\n",
path: "src/main.rs",
},
output: "applied\n\nTerminal term-1",
output: "applied",
title: "Patch file",
metadata: {
acpContent: [
{ type: "diff", path: "src/main.rs", oldText: "old\n", newText: "new\n" },
{ type: "terminal", terminalId: "term-1" },
{ type: "content", content: { type: "text", text: "applied" } },
],
acpLocations: [{ path: "src/main.rs", line: 12 }],
Expand Down
2 changes: 0 additions & 2 deletions crates/cli/src/prompt_command.rs
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,6 @@ pub(crate) async fn run_prompt(
collaboration_mode: devo_protocol::CollaborationMode::Build,
agent_coordinator: None,
client_filesystem: None,
client_terminal: None,
file_read_ledger: std::sync::Arc::new(devo_core::tools::FileReadLedger::new()),
local_web_search: None,
hooks: (!app_config.hooks.is_empty()).then(|| devo_core::HookRuntimeContext {
Expand Down Expand Up @@ -530,7 +529,6 @@ fn write_query_event_jsonl(session_id: &str, event: &QueryEvent) -> Result<()> {
Some(message.as_str())
}
devo_core::tools::ToolProgress::Completion { summary } => Some(summary.as_str()),
devo_core::tools::ToolProgress::Terminal { .. } => None,
};
if let Some(delta) = delta {
write_jsonl(&PromptJsonlEvent::ToolProgress {
Expand Down
Loading
Loading