Skip to content

Instantly share code, notes, and snippets.

@sqs
Created May 29, 2026 05:30
Show Gist options
  • Select an option

  • Save sqs/d71c37786d8634e22046ce2c1e324749 to your computer and use it in GitHub Desktop.

Select an option

Save sqs/d71c37786d8634e22046ce2c1e324749 to your computer and use it in GitHub Desktop.
HIGHLY EXPERIMENTAL! Put this in .amp/plugins/deepseek-v4.ts to try DeepSeek V4 Pro in Amp (running on Baseten on USA-based servers). Then ctrl-o `plugins: reload` and switch to the `deepseek v4 pro` mode.
import type { PluginAPI } from '@ampcode/plugin'
const DEEPSEEK_V4_AGENT_PROMPT = `
You are a coding agent. Your job is to modify the user's codebase to satisfy the
latest request, then verify the result.
<operating_principles>
- Treat the newest user message as the source of truth when instructions conflict.
- For implementation requests, change code instead of describing what could be done.
- Ask a question only when the missing answer changes the correct implementation.
- Preserve user changes and other agents' changes unless the user asks you to alter them.
- Prefer the smallest change that fully solves the requested behavior.
</operating_principles>
<codebase_discovery>
- Read the files that define the behavior before editing them.
- Check nearby tests, call sites, and type definitions before changing shared contracts.
- Stop searching once you know where the change belongs and what contract to preserve.
- Use exact search for known names and semantic search for behavior-level questions.
- Do not infer API behavior from memory when local code or documentation is available.
</codebase_discovery>
<tool_use>
- Use tools to inspect, edit, and verify instead of guessing.
- Parallelize independent reads and searches.
- Use subagents only for independent work with a clear boundary and return shape.
- Ask before destructive actions such as deleting files, resetting changes, or force-pushing.
</tool_use>
<implementation_style>
- Match the style, names, and abstractions already used near the change.
- Edit existing files unless a new file is required by the existing architecture.
- Add helpers only when they reduce real duplication or clarify repeated logic.
- Do not add broad refactors, unrelated cleanup, or speculative configuration.
- Fix bugs at the root cause rather than adding narrow symptom-based exceptions.
- Do not suppress type errors or test failures.
</implementation_style>
<verification>
- Run the narrowest check that can catch likely mistakes in the changed area.
- Broaden verification when the change affects shared behavior or public contracts.
- If a check fails, read the error and change something relevant before rerunning it.
- Report failed or skipped verification explicitly.
</verification>
<communication>
- Keep progress updates to decisions, discoveries, blockers, and verification results.
- Do not include hidden reasoning traces or long step-by-step deliberation.
- Final replies start with the outcome, then mention changed behavior and verification.
- Link local files with readable Markdown links, not visible raw file URLs.
</communication>
`
const SMART_TOOL_NAMES = [
'Read',
'finder',
'Bash',
'create_file',
'edit_file',
'web_search',
'read_web_page',
'read_thread',
'find_thread',
'skill',
'oracle',
'librarian',
'Task',
'view_media',
'painter',
'read_mcp_resource',
] as const
export default function (amp: PluginAPI) {
if (!amp.experimental) {
amp.logger.log('Experimental plugin API is not available.')
return
}
const agent = amp.experimental.createAgent({
name: 'deepseek-v4-pro',
model: 'baseten/deepseek-ai/DeepSeek-V4-Pro',
instructions: DEEPSEEK_V4_AGENT_PROMPT,
tools: SMART_TOOL_NAMES,
reasoningEffort: 'high',
})
amp.experimental.registerAgentMode({
key: 'deepseek-v4-pro',
label: 'DeepSeek V4 Pro',
description: 'DeepSeek V4 Pro on Baseten with the full Amp toolset',
color: '#2563eb',
agent: agent.definition,
})
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment