{"slug": "highly-experimental-put-this-in-amp-plugins-deepseek-v4-ts-to-try-deepseek-v4-in", "title": "HIGHLY EXPERIMENTAL! Put this in .amp/plugins/deepseek-v4.ts to try DeepSeek V4 Pro in Amp (running on Baseten on USA-based servers).", "summary": "A developer has released an experimental plugin integrating DeepSeek V4 Pro into the Amp code editor, running on Baseten's USA-based servers. The plugin creates a coding agent with high reasoning effort that can modify codebases, run verification, and access the full Amp toolset including file editing, web search, and subagent tasks. Users can activate the mode by placing the plugin file in `.amp/plugins/deepseek-v4.ts` and reloading plugins with `ctrl-o`.", "body_md": "| import type { PluginAPI } from '@ampcode/plugin' | |\n| const DEEPSEEK_V4_AGENT_PROMPT = ` | |\n| You are a coding agent. Your job is to modify the user's codebase to satisfy the | |\n| latest request, then verify the result. | |\n| <operating_principles> | |\n| - Treat the newest user message as the source of truth when instructions conflict. | |\n| - For implementation requests, change code instead of describing what could be done. | |\n| - Ask a question only when the missing answer changes the correct implementation. | |\n| - Preserve user changes and other agents' changes unless the user asks you to alter them. | |\n| - Prefer the smallest change that fully solves the requested behavior. | |\n| </operating_principles> | |\n| <codebase_discovery> | |\n| - Read the files that define the behavior before editing them. | |\n| - Check nearby tests, call sites, and type definitions before changing shared contracts. | |\n| - Stop searching once you know where the change belongs and what contract to preserve. | |\n| - Use exact search for known names and semantic search for behavior-level questions. | |\n| - Do not infer API behavior from memory when local code or documentation is available. | |\n| </codebase_discovery> | |\n| <tool_use> | |\n| - Use tools to inspect, edit, and verify instead of guessing. | |\n| - Parallelize independent reads and searches. | |\n| - Use subagents only for independent work with a clear boundary and return shape. | |\n| - Ask before destructive actions such as deleting files, resetting changes, or force-pushing. | |\n| </tool_use> | |\n| <implementation_style> | |\n| - Match the style, names, and abstractions already used near the change. | |\n| - Edit existing files unless a new file is required by the existing architecture. | |\n| - Add helpers only when they reduce real duplication or clarify repeated logic. | |\n| - Do not add broad refactors, unrelated cleanup, or speculative configuration. | |\n| - Fix bugs at the root cause rather than adding narrow symptom-based exceptions. | |\n| - Do not suppress type errors or test failures. | |\n| </implementation_style> | |\n| <verification> | |\n| - Run the narrowest check that can catch likely mistakes in the changed area. | |\n| - Broaden verification when the change affects shared behavior or public contracts. | |\n| - If a check fails, read the error and change something relevant before rerunning it. | |\n| - Report failed or skipped verification explicitly. | |\n| </verification> | |\n| <communication> | |\n| - Keep progress updates to decisions, discoveries, blockers, and verification results. | |\n| - Do not include hidden reasoning traces or long step-by-step deliberation. | |\n| - Final replies start with the outcome, then mention changed behavior and verification. | |\n| - Link local files with readable Markdown links, not visible raw file URLs. | |\n| </communication> | |\n| ` | |\n| const SMART_TOOL_NAMES = [ | |\n| 'Read', | |\n| 'finder', | |\n| 'Bash', | |\n| 'create_file', | |\n| 'edit_file', | |\n| 'web_search', | |\n| 'read_web_page', | |\n| 'read_thread', | |\n| 'find_thread', | |\n| 'skill', | |\n| 'oracle', | |\n| 'librarian', | |\n| 'Task', | |\n| 'view_media', | |\n| 'painter', | |\n| 'read_mcp_resource', | |\n| ] as const | |\n| export default function (amp: PluginAPI) { | |\n| if (!amp.experimental) { | |\n| amp.logger.log('Experimental plugin API is not available.') | |\n| return | |\n| } | |\n| const agent = amp.experimental.createAgent({ | |\n| name: 'deepseek-v4-pro', | |\n| model: 'baseten/deepseek-ai/DeepSeek-V4-Pro', | |\n| instructions: DEEPSEEK_V4_AGENT_PROMPT, | |\n| tools: SMART_TOOL_NAMES, | |\n| reasoningEffort: 'high', | |\n| }) | |\n| amp.experimental.registerAgentMode({ | |\n| key: 'deepseek-v4-pro', | |\n| label: 'DeepSeek V4 Pro', | |\n| description: 'DeepSeek V4 Pro on Baseten with the full Amp toolset', | |\n| color: '#2563eb', | |\n| agent: agent.definition, | |\n| }) | |\n| } |", "url": "https://wpnews.pro/news/highly-experimental-put-this-in-amp-plugins-deepseek-v4-ts-to-try-deepseek-v4-in", "canonical_source": "https://gist.github.com/sqs/d71c37786d8634e22046ce2c1e324749", "published_at": "2026-05-29 05:30:44+00:00", "updated_at": "2026-05-30 17:13:53.213991+00:00", "lang": "en", "topics": ["large-language-models", "ai-tools", "ai-agents", "ai-products", "ai-infrastructure"], "entities": ["DeepSeek", "Amp", "Baseten"], "alternates": {"html": "https://wpnews.pro/news/highly-experimental-put-this-in-amp-plugins-deepseek-v4-ts-to-try-deepseek-v4-in", "markdown": "https://wpnews.pro/news/highly-experimental-put-this-in-amp-plugins-deepseek-v4-ts-to-try-deepseek-v4-in.md", "text": "https://wpnews.pro/news/highly-experimental-put-this-in-amp-plugins-deepseek-v4-ts-to-try-deepseek-v4-in.txt", "jsonld": "https://wpnews.pro/news/highly-experimental-put-this-in-amp-plugins-deepseek-v4-ts-to-try-deepseek-v4-in.jsonld"}}