Claude Code + DeepSeek

Use DeepSeek in Claude Code。TIP:买台好点的电脑,配个好点的网络,不然真的跑得慢 ~~~

Installation

Install CC

1
2
3
npm install -g @anthropic-ai/claude-code
# 下面官网提供的脚本安装方式不支持国内网络访问
curl -fsSL https://claude.ai/install.sh | bash

Configure DS

1
2
3
4
5
6
7
8
9
10
11
# 在.bashrc文件中增加环境变量配置
$ vim ~/.bashrc

export ANTHROPIC_BASE_URL=https://api.deepseek.com/anthropic
export ANTHROPIC_AUTH_TOKEN=${YOUR_API_KEY}
export API_TIMEOUT_MS=600000
export ANTHROPIC_MODEL=deepseek-chat
export ANTHROPIC_SMALL_FAST_MODEL=deepseek-chaty
export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1
# 刷新环境变量
$ source ~/.bashrc

启动claude code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
$ claude
Welcome to Claude Code v2.1.56
…………………………………………………………………………………………………………………………………………………………

* █████▓▓░
* ███▓░ ░░
░░░░░░ ███▓░
░░░ ░░░░░░░░░░ ███▓░
░░░░░░░░░░░░░░░░░░░ * ██▓░░ ▓
░▓▓███▓▓░
* ░░░░
░░░░░░░░
░░░░░░░░░░░░░░░░
█████████ *
██▄█████▄██ *
█████████ *
…………………█ █ █ █………………………………………………………………………………………………………………

Let's get started.

Choose the text style that looks best with your terminal
To change this later, run /theme

❯ 1. Dark mode ✔
2. Light mode
3. Dark mode (colorblind-friendly)
4. Light mode (colorblind-friendly)
5. Dark mode (ANSI colors only)
6. Light mode (ANSI colors only)

╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
1 function greet() {
2 - console.log("Hello, World!");
2 + console.log("Hello, Claude!");
3 }
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
Syntax highlighting available only in native build

Claude Code

基本命令

输入?键快捷查询使用命令

比如输入!<Linux命令>可以使用Linux命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$ claude

╭─── Claude Code v2.1.56 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ │ Tips for getting started │
│ Welcome back! │ Run /init to create a CLAUDE.md file with instructions for Claude │
│ │ ───────────────────────────────────────────────────────────────── │
│ │ Recent activity │
│ ▐▛███▜▌ │ No recent activity │
│ ▝▜█████▛▘ │ │
│ ▘▘ ▝▝ │ │
│ deepseek-chat · API Usage Billing │ │
│ ~/ocode │ │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

/model to try Opus 4.6

! pwd
⎿  /home/zjykzj/ocode

───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
! ls
───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
! for bash mode

配置文件

  • 用户设置:~/.claude/settings.json
  • 项目设置:<项目路径>/.claude/settings.json
1
2
3
4
5
6
7
8
9
10
11
12
$ cat ~/.claude/settings.json
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic",
"ANTHROPIC_AUTH_TOKEN": "",
"API_TIMEOUT_MS": "600000",
"ANTHROPIC_MODEL": "deepseek-chat",
"ANTHROPIC_SMALL_FAST_MODEL": "deepseek-chat",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
},
"model": "haiku"
}

开发模式

权限模式控制 Claude 在会话期间拥有多少自主权:它是否在编辑文件、运行命令或两者之前询问。你可以随时使用发送按钮旁的模式选择器切换模式。从”询问权限”开始以准确查看 Claude 的操作,然后随着你变得更舒适,转向”自动接受编辑”或”Plan mode”。

使用Shift + Tab键快捷切换

1
2
  ⏸ plan mode on (shift+tab to cycle)
⏵⏵ accept edits on (shift+tab to cycle)

最佳实践

Claude Code 是一个代理式编码环境。与等待回答问题的聊天机器人不同,Claude Code 可以读取你的文件、运行命令、进行更改,并在你观看、重定向或完全离开的情况下自主解决问题。

这改变了你的工作方式。与其自己编写代码并要求 Claude 审查,不如描述你想要什么,Claude 会想出如何构建它。Claude 会探索、规划和实现。

先探索,再规划,再编码

  • 探索

进入 Plan Mode。Claude 读取文件并回答问题,不进行任何更改。

read /src/auth and understand how we handle sessions and login.
also look at how we manage environment variables for secrets.

  • 规划

要求 Claude 创建详细的实现计划。

I want to add Google OAuth. What files need to change?
What’s the session flow? Create a plan.

按 Ctrl+G 在文本编辑器中打开计划进行直接编辑,然后 Claude 继续。

  • 实现

切换回 Normal Mode 并让 Claude 编码,根据其计划进行验证。

implement the OAuth flow from your plan. write tests for the
callback handler, run the test suite and fix any failures.

  • 提交

要求 Claude 使用描述性消息进行提交并创建 PR。

commit with a descriptive message and open a PR

在提示中提供具体上下文

编写有效的 CLAUDE.md

CLAUDE.md 是一个特殊文件,Claude 在每次对话开始时都会读取。包括 Bash 命令、代码风格和工作流规则。这给 Claude 提供了它无法从代码中推断的持久上下文。

/init 命令分析你的代码库以检测构建系统、测试框架和代码模式,为你提供坚实的基础来精化。

1
2
3
4
5
6
7
# Code style
- Use ES modules (import/export) syntax, not CommonJS (require)
- Destructure imports when possible (eg. import { foo } from 'bar')

# Workflow
- Be sure to typecheck when you're done making a series of code changes
- Prefer running single tests, and not the whole test suite, for performance

CLAUDE.md 在每个会话中加载,所以只包括广泛适用的东西。对于仅有时相关的域知识或工作流,改用 skills。Claude 按需加载它们,不会使每次对话都变得臃肿。

保持简洁。对于每一行,问自己:“删除这一行会导致 Claude 犯错吗?” 如果不会,删除它。臃肿的 CLAUDE.md 文件会导致 Claude 忽略你的实际指令!

实际使用

  • Step by Step

避免试图一次性完成所有修改,采用小步快跑的策略:多次调用 Claude Code,每次仅聚焦于一个具体功能的实现。在每轮交互结束后及时进行代码审查 (Code Review)、功能测试及数据备份,确保开发过程的可控性与安全性。

  • Prompt Templates

在处理复杂修改任务时预先定义清晰的执行模板。模板应包含明确的执行步骤、输入输出规范以及边界条件等关键信息。结构化的提示词能显著降低模型的理解偏差,提高生成代码的准确率。

CC in VSCode

VS Code插件库中可以搜索到Anthropic官方开发的Claude Code for VS Code

在插件配置文件中增加DeepSeek支持。注意:使用ANTHROPIC_DEFAULT_*_MODEL覆盖CC默认的模型版本,这样可以确保DeepSeek可用。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
"claudeCode.preferredLocation": "panel",
"claudeCode.environmentVariables": [
{"name": "ANTHROPIC_BASE_URL", "value": "https://api.deepseek.com/anthropic"},
{"name": "ANTHROPIC_AUTH_TOKEN", "value": "sk-"},
{"name": "API_TIMEOUT_MS", "value": "600000"},
{"name": "ANTHROPIC_MODEL", "value": "deepseek-chat"},
{"name": "ANTHROPIC_SMALL_FAST_MODEL", "value": "deepseek-chat"},
{"name": "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC", "value": "1"},
{"name": "ANTHROPIC_DEFAULT_HAIKU_MODEL", "value": "deepseek-chat"},
{"name": "ANTHROPIC_DEFAULT_OPUS_MODEL", "value": "deepseek-chat"},
{"name": "ANTHROPIC_DEFAULT_SONNET_MODEL", "value": "deepseek-chat"}

],
"claudeCode.selectedModel": "haiku"
}

开发贪吃蛇游戏

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
$ mkdir snackgame
$ cd snackgame/
$ claude

────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Accessing workspace:

/home/zjykzj/ocode/snackname

Quick safety check: Is this a project you created or one you trust? (Like your own code, a well-known open source
project, or work from your team). If not, take a moment to review what's in this folder first.

Claude Code'll be able to read, edit, and execute files here.

Security guide

❯ 1. Yes, I trust this folder
2. No, exit

Enter to confirm · Esc to cancel
$ claude

╭─── Claude Code v2.1.56 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ │ Tips for getting started │
│ Welcome back! │ Ask Claude to create a new app or clone a repository │
│ │ ──────────────────────────────────────────────────── │
│ │ Recent activity │
│ ▐▛███▜▌ │ No recent activity │
│ ▝▜█████▛▘ │ │
│ ▘▘ ▝▝ │ │
│ deepseek-chat · API Usage Billing │ │
│ ~/ocode/snack │ │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

/model to try Opus 4.6

❯ 使用python语言开发一款命令行操作的贪吃蛇小游戏,先在TODO.md上面列出计划再开发。注意:只需要适配Ubuntu系统

● Read 1 file (ctrl+o to expand)

● Write(TODO.md)
⎿  Wrote 79 lines to TODO.md
# 命令行贪吃蛇游戏开发计划

## 项目概述
使用Python开发一个命令行操作的贪吃蛇游戏,适配Ubuntu系统。

## 核心功能
1. 游戏界面:在终端中显示游戏区域、蛇、食物
2. 蛇的控制:使用WASD或方向键控制蛇的移动方向
3. 食物系统:随机生成食物,蛇吃到食物后变长
4. 碰撞检测:检测蛇与边界、蛇与自身的碰撞
… +69 lines (ctrl+o to expand)

● Write(snake_game.py)
⎿  Wrote 370 lines to snake_game.py
#!/usr/bin/env python3
"""
命令行贪吃蛇游戏
适配Ubuntu系统
使用curses库实现终端界面
"""

import curses
import random
import time
… +360 lines (ctrl+o to expand)

● Explore(探索代码库结构)
⎿  Done (8 tool uses · 17.2k tokens · 1m 24s)
(ctrl+o to expand)

● Updated plan
⎿  /plan to preview

───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Ready to code?

Here is Claude's plan:
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
贪吃蛇游戏开发计划

上下文

用户要求使用Python开发一个命令行操作的贪吃蛇游戏,需要先在TODO.md上列出计划再开发,只需要适配Ubuntu系统。

已经完成的工作:
1. 创建了TODO.md文件,包含详细的开发计划
2. 创建了snake_game.py文件,实现了一个功能完整的贪吃蛇游戏

当前状态:
- 游戏已经可以正常运行
- 实现了所有核心功能:蛇的移动、食物生成、碰撞检测、分数系统、游戏状态管理
- 代码结构清晰,有良好的注释和错误处理
- 专门适配Ubuntu系统,使用Python标准库

计划

1. 创建缺失的文档文件

根据TODO.md中的文件结构规划,需要创建:
- README.md:项目说明文档,包含安装和运行说明
- requirements.txt:依赖说明文件(虽然只有标准库依赖)

2. 优化和测试

按照TODO.md中的"阶段六:优化和测试"进行:
- 测试游戏在不同终端尺寸下的表现
- 添加游戏难度调整选项(速度递增参数可配置)
- 修复可能的边界情况bug
- 确保游戏在Ubuntu终端中稳定运行

3. 完善功能

考虑添加以下可选功能:
- 游戏开始菜单
- 难度选择(简单、普通、困难)
- 更丰富的视觉效果(如果终端支持)
- 音效支持(可选)

4. 验证和测试

- 手动测试游戏的所有功能
- 确保键盘控制响应正常
- 验证分数系统正确工作
- 测试游戏状态切换(暂停、重新开始、退出)

关键文件路径

- /home/zjykzj/ocode/snack/TODO.md - 开发计划文档
- /home/zjykzj/ocode/snack/snake_game.py - 主游戏程序
- /home/zjykzj/ocode/snack/README.md - 待创建的说明文档
- /home/zjykzj/ocode/snack/requirements.txt - 待创建的依赖文件

验证方案

1. 运行游戏:python3 snake_game.py
2. 测试所有控制功能:WASD/方向键移动,P暂停,R重新开始,Q退出
3. 验证食物生成和吃食物机制
4. 测试碰撞检测(撞墙和撞自身)
5. 验证分数系统和高分记录
6. 检查游戏在不同终端尺寸下的显示

执行步骤

1. 创建README.md文件
2. 创建requirements.txt文件
3. 测试游戏功能,修复发现的问题
4. 考虑添加可选增强功能
5. 最终验证和代码清理

该计划基于已经完成的工作,主要是完善文档和进行最终测试优化。
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

Claude has written up a plan and is ready to execute. Would you like to proceed?

1. Yes, clear context (12% used) and auto-accept edits (shift+tab)
❯ 2. Yes, auto-accept edits
3. Yes, manually approve edits
4. Type here to tell Claude what to change

ctrl-g to edit in VS Code · ~/.claude/plans/parallel-mapping-russell.md