Skip to content

Commit cec5766

Browse files
authored
Merge branch 'main' into issue-8-monolith-refactor
2 parents 3ecf73d + 642b266 commit cec5766

45 files changed

Lines changed: 410 additions & 90 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.roomodes

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
customModes:
22
- slug: translate
33
name: 🌐 Translate
4-
roleDefinition: You are Roo, a linguistic specialist focused on translating and managing localization files. Your responsibility is to help maintain and update translation files for the application, ensuring consistency and accuracy across all language resources.
4+
roleDefinition: You are Zoo, a linguistic specialist focused on translating and managing localization files. Your responsibility is to help maintain and update translation files for the application, ensuring consistency and accuracy across all language resources.
55
whenToUse: Translate and manage localization files.
66
description: Translate and manage localization files.
77
groups:
@@ -33,7 +33,7 @@ customModes:
3333
source: project
3434
- slug: pr-fixer
3535
name: 🛠️ PR Fixer
36-
roleDefinition: "You are Roo, a pull request resolution specialist. Your focus is on addressing feedback and resolving issues within existing pull requests. Your expertise includes: - Analyzing PR review comments to understand required changes. - Checking CI/CD workflow statuses to identify failing tests. - Fetching and analyzing test logs to diagnose failures. - Identifying and resolving merge conflicts. - Guiding the user through the resolution process."
36+
roleDefinition: "You are Zoo, a pull request resolution specialist. Your focus is on addressing feedback and resolving issues within existing pull requests. Your expertise includes: - Analyzing PR review comments to understand required changes. - Checking CI/CD workflow statuses to identify failing tests. - Fetching and analyzing test logs to diagnose failures. - Identifying and resolving merge conflicts. - Guiding the user through the resolution process."
3737
whenToUse: Use this mode to fix pull requests. It can analyze PR feedback from GitHub, check for failing tests, and help resolve merge conflicts before applying the necessary code changes.
3838
description: Fix pull requests.
3939
groups:
@@ -44,7 +44,7 @@ customModes:
4444
- slug: merge-resolver
4545
name: 🔀 Merge Resolver
4646
roleDefinition: |-
47-
You are Roo, a merge conflict resolution specialist with expertise in:
47+
You are Zoo, a merge conflict resolution specialist with expertise in:
4848
- Analyzing pull request merge conflicts using git blame and commit history
4949
- Understanding code intent through commit messages and diffs
5050
- Making intelligent decisions about which changes to keep, merge, or discard
@@ -76,7 +76,7 @@ customModes:
7676
- slug: docs-extractor
7777
name: 📚 Docs Extractor
7878
roleDefinition: |-
79-
You are Roo Code, a codebase analyst who extracts raw facts for documentation teams.
79+
You are Zoo Code, a codebase analyst who extracts raw facts for documentation teams.
8080
You do NOT write documentation. You extract and organize information.
8181

8282
Two functions:
@@ -98,7 +98,7 @@ customModes:
9898
source: project
9999
- slug: issue-investigator
100100
name: 🕵️ Issue Investigator
101-
roleDefinition: You are Roo, a GitHub issue investigator. Your purpose is to analyze GitHub issues, investigate the probable causes using extensive codebase searches, and propose well-reasoned, theoretical solutions. You methodically track your investigation using a todo list, attempting to disprove initial theories to ensure a thorough analysis. Your final output is a human-like, conversational comment for the GitHub issue.
101+
roleDefinition: You are Zoo, a GitHub issue investigator. Your purpose is to analyze GitHub issues, investigate the probable causes using extensive codebase searches, and propose well-reasoned, theoretical solutions. You methodically track your investigation using a todo list, attempting to disprove initial theories to ensure a thorough analysis. Your final output is a human-like, conversational comment for the GitHub issue.
102102
whenToUse: Use this mode when you need to investigate a GitHub issue to understand its root cause and propose a solution. This mode is ideal for triaging issues, providing initial analysis, and suggesting fixes before implementation begins. It uses the `gh` CLI for issue interaction.
103103
description: Investigates GitHub issues
104104
groups:

packages/types/src/mode.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ export const DEFAULT_MODES: readonly ModeConfig[] = [
170170
slug: "architect",
171171
name: "🏗️ Architect",
172172
roleDefinition:
173-
"You are Roo, an experienced technical leader who is inquisitive and an excellent planner. Your goal is to gather information and get context to create a detailed plan for accomplishing the user's task, which the user will review and approve before they switch into another mode to implement the solution.",
173+
"You are Zoo, an experienced technical leader who is inquisitive and an excellent planner. Your goal is to gather information and get context to create a detailed plan for accomplishing the user's task, which the user will review and approve before they switch into another mode to implement the solution.",
174174
whenToUse:
175175
"Use this mode when you need to plan, design, or strategize before implementation. Perfect for breaking down complex problems, creating technical specifications, designing system architecture, or brainstorming solutions before coding.",
176176
description: "Plan and design before implementation",
@@ -182,7 +182,7 @@ export const DEFAULT_MODES: readonly ModeConfig[] = [
182182
slug: "code",
183183
name: "💻 Code",
184184
roleDefinition:
185-
"You are Roo, a highly skilled software engineer with extensive knowledge in many programming languages, frameworks, design patterns, and best practices.",
185+
"You are Zoo, a highly skilled software engineer with extensive knowledge in many programming languages, frameworks, design patterns, and best practices.",
186186
whenToUse:
187187
"Use this mode when you need to write, modify, or refactor code. Ideal for implementing features, fixing bugs, creating new files, or making code improvements across any programming language or framework.",
188188
description: "Write, modify, and refactor code",
@@ -192,7 +192,7 @@ export const DEFAULT_MODES: readonly ModeConfig[] = [
192192
slug: "ask",
193193
name: "❓ Ask",
194194
roleDefinition:
195-
"You are Roo, a knowledgeable technical assistant focused on answering questions and providing information about software development, technology, and related topics.",
195+
"You are Zoo, a knowledgeable technical assistant focused on answering questions and providing information about software development, technology, and related topics.",
196196
whenToUse:
197197
"Use this mode when you need explanations, documentation, or answers to technical questions. Best for understanding concepts, analyzing existing code, getting recommendations, or learning about technologies without making changes.",
198198
description: "Get answers and explanations",
@@ -204,7 +204,7 @@ export const DEFAULT_MODES: readonly ModeConfig[] = [
204204
slug: "debug",
205205
name: "🪲 Debug",
206206
roleDefinition:
207-
"You are Roo, an expert software debugger specializing in systematic problem diagnosis and resolution.",
207+
"You are Zoo, an expert software debugger specializing in systematic problem diagnosis and resolution.",
208208
whenToUse:
209209
"Use this mode when you're troubleshooting issues, investigating errors, or diagnosing problems. Specialized in systematic debugging, adding logging, analyzing stack traces, and identifying root causes before applying fixes.",
210210
description: "Diagnose and fix software issues",
@@ -216,7 +216,7 @@ export const DEFAULT_MODES: readonly ModeConfig[] = [
216216
slug: "orchestrator",
217217
name: "🪃 Orchestrator",
218218
roleDefinition:
219-
"You are Roo, a strategic workflow orchestrator who coordinates complex tasks by delegating them to appropriate specialized modes. You have a comprehensive understanding of each mode's capabilities and limitations, allowing you to effectively break down complex problems into discrete tasks that can be solved by different specialists.",
219+
"You are Zoo, a strategic workflow orchestrator who coordinates complex tasks by delegating them to appropriate specialized modes. You have a comprehensive understanding of each mode's capabilities and limitations, allowing you to effectively break down complex problems into discrete tasks that can be solved by different specialists.",
220220
whenToUse:
221221
"Use this mode for complex, multi-step projects that require coordination across different specialties. Ideal when you need to break down large tasks into subtasks, manage workflows, or coordinate work that spans multiple domains or expertise areas.",
222222
description: "Coordinate tasks across multiple modes",

packages/types/src/provider-settings.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ export const dynamicProviders = [
4242
"roo",
4343
"unbound",
4444
"poe",
45+
"deepseek",
4546
] as const
4647

4748
export type DynamicProvider = (typeof dynamicProviders)[number]

packages/types/src/providers/deepseek.ts

Lines changed: 34 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,39 @@ import type { ModelInfo } from "../model.js"
66
// continuation within the same turn. See: https://api-docs.deepseek.com/guides/thinking_mode
77
export type DeepSeekModelId = keyof typeof deepSeekModels
88

9-
export const deepSeekDefaultModelId: DeepSeekModelId = "deepseek-chat"
9+
export const deepSeekDefaultModelId: DeepSeekModelId = "deepseek-v4-flash"
1010

1111
export const deepSeekModels = {
12+
"deepseek-v4-flash": {
13+
maxTokens: 384_000,
14+
contextWindow: 1_000_000,
15+
supportsImages: false,
16+
supportsPromptCache: true,
17+
supportsReasoningEffort: ["disable", "low", "medium", "high", "xhigh"],
18+
preserveReasoning: true,
19+
reasoningEffort: "high",
20+
inputPrice: 0.14, // $0.14 per million tokens (cache miss) - Updated Apr 29, 2026
21+
outputPrice: 0.28, // $0.28 per million tokens - Updated Apr 29, 2026
22+
cacheWritesPrice: 0.14, // $0.14 per million tokens (cache miss) - Updated Apr 29, 2026
23+
cacheReadsPrice: 0.0028, // $0.0028 per million tokens (cache hit) - Updated Apr 29, 2026
24+
description: `DeepSeek-V4-Flash is DeepSeek's fast, cost-efficient V4 model. It supports thinking and non-thinking modes, JSON output, tool calls, chat prefix completion (beta), and FIM completion (beta) in non-thinking mode.`,
25+
},
26+
"deepseek-v4-pro": {
27+
maxTokens: 384_000,
28+
contextWindow: 1_000_000,
29+
supportsImages: false,
30+
supportsPromptCache: true,
31+
supportsReasoningEffort: ["disable", "low", "medium", "high", "xhigh"],
32+
preserveReasoning: true,
33+
reasoningEffort: "high",
34+
// TODO(deepseek): Re-check V4 Pro discounted prices after DeepSeek's 2026-05-31 discount end date.
35+
inputPrice: 0.435, // $0.435 per million tokens (cache miss, discounted) - Updated Apr 29, 2026
36+
outputPrice: 0.87, // $0.87 per million tokens (discounted) - Updated Apr 29, 2026
37+
cacheWritesPrice: 0.435, // $0.435 per million tokens (cache miss, discounted) - Updated Apr 29, 2026
38+
cacheReadsPrice: 0.003625, // $0.003625 per million tokens (cache hit, discounted) - Updated Apr 29, 2026
39+
description: `DeepSeek-V4-Pro is DeepSeek's strongest V4 model for reasoning, coding, long-context, and agentic workloads. It supports thinking and non-thinking modes, JSON output, tool calls, chat prefix completion (beta), and FIM completion (beta) in non-thinking mode.`,
40+
},
41+
// TODO(deepseek): Remove this compatibility alias after DeepSeek's 2026-07-24 retirement date.
1242
"deepseek-chat": {
1343
maxTokens: 8192, // 8K max output
1444
contextWindow: 128_000,
@@ -18,8 +48,9 @@ export const deepSeekModels = {
1848
outputPrice: 0.42, // $0.42 per million tokens - Updated Dec 9, 2025
1949
cacheWritesPrice: 0.28, // $0.28 per million tokens (cache miss) - Updated Dec 9, 2025
2050
cacheReadsPrice: 0.028, // $0.028 per million tokens (cache hit) - Updated Dec 9, 2025
21-
description: `DeepSeek-V3.2 (Non-thinking Mode) achieves a significant breakthrough in inference speed over previous models. It tops the leaderboard among open-source models and rivals the most advanced closed-source models globally. Supports JSON output, tool calls, chat prefix completion (beta), and FIM completion (beta).`,
51+
description: `Legacy compatibility alias for the non-thinking mode of deepseek-v4-flash. DeepSeek plans to deprecate this model name on 2026-07-24.`,
2252
},
53+
// TODO(deepseek): Remove this compatibility alias after DeepSeek's 2026-07-24 retirement date.
2354
"deepseek-reasoner": {
2455
maxTokens: 8192, // 8K max output
2556
contextWindow: 128_000,
@@ -30,7 +61,7 @@ export const deepSeekModels = {
3061
outputPrice: 0.42, // $0.42 per million tokens - Updated Dec 9, 2025
3162
cacheWritesPrice: 0.28, // $0.28 per million tokens (cache miss) - Updated Dec 9, 2025
3263
cacheReadsPrice: 0.028, // $0.028 per million tokens (cache hit) - Updated Dec 9, 2025
33-
description: `DeepSeek-V3.2 (Thinking Mode) achieves performance comparable to OpenAI-o1 across math, code, and reasoning tasks. Supports Chain of Thought reasoning with up to 8K output tokens. Supports JSON output, tool calls, and chat prefix completion (beta).`,
64+
description: `Legacy compatibility alias for the thinking mode of deepseek-v4-flash. DeepSeek plans to deprecate this model name on 2026-07-24.`,
3465
},
3566
} as const satisfies Record<string, ModelInfo>
3667

0 commit comments

Comments
 (0)