前言
日常开发中,我们总会遇到 IDE 内置 AI 助手功能受限、付费订阅成本高、海外模型访问卡顿超时的问题。本文将基于 4sapi,用不到 100 行代码,快速搭建一个轻量、高可用、可完全自定义的个人 AI 代码助手 CLI 工具,5 分钟即可落地使用,彻底解决上述痛点。
核心优势
这套方案的核心亮点,完全依托 4sapi 的原生能力实现,无需额外开发复杂逻辑:
- 一套代码全模型覆盖:100% 兼容 OpenAI 接口规范,仅需修改模型名称,即可自由切换 GPT、Claude、DeepSeek、Qwen 等 50 + 主流代码大模型,无需重复适配;
- 国内专线加速无卡顿:4sapi 国内 BGP 节点加速,接口响应延迟低至 10ms,告别跨境访问超时、断连问题,代码补全、问题答疑全程流畅;
- 成本完全可控:支持精细化额度管控,可设置单日 / 单月调用上限,按需付费,无订阅浪费,同等使用强度下成本仅为主流订阅服务的 40%;
- 高度自定义:可根据自己的编码习惯、技术栈,定制专属 Prompt,打造适配个人开发流程的 AI 助手。
快速落地实战
1. 前置准备
- 前往 4sapi 平台完成注册认证,在控制台创建专属 API 令牌,开启对应模型权限,保存好 API Key;
- 本地环境安装 Python 3.8 + 版本,确保 pip 可用。
2. 环境安装
执行一行命令安装所需依赖:
bash
运行
pip install python-dotenv httpx prompt-toolkit
3. 完整代码实现
创建code_assistant.py文件,写入以下精简代码,开箱即用:
python
运行
from dotenv import load_dotenv
from prompt_toolkit import PromptSession
from prompt_toolkit.history import FileHistory
import httpx
import os
import sys
# 加载配置
load_dotenv()
API_KEY = os.getenv("4SAPI_API_KEY")
BASE_URL = os.getenv("4SAPI_BASE_URL", "https://4sapi.com/v1")
DEFAULT_MODEL = os.getenv("DEFAULT_MODEL", "deepseek-v4")
# 初始化HTTP客户端与会话
client = httpx.Client(base_url=BASE_URL, timeout=60)
session = PromptSession(history=FileHistory(".code_assistant_history"))
# 代码助手专属System Prompt,可根据自己的技术栈自定义
SYSTEM_PROMPT = """
你是一个专业的代码助手,专注于帮开发者解决编码问题,要求如下:
1. 代码输出必须规范、可直接运行,附带清晰的注释与关键步骤说明
2. 优先给出最优、最简洁的实现方案,同时补充备选方案与注意事项
3. 精准定位代码bug,给出可落地的修复方案,解释问题根源
4. 回答精简、直击重点,避免冗余的套话与无效内容
"""
def call_ai(user_input: str, stream: bool = True):
"""调用4sapi接口获取AI响应"""
headers = {"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}
payload = {
"model": DEFAULT_MODEL,
"messages": [
{"role": "system", "content": SYSTEM_PROMPT},
{"role": "user", "content": user_input}
],
"temperature": 0.4,
"stream": stream
}
try:
response = client.post("/chat/completions", headers=headers, json=payload)
response.raise_for_status()
if stream:
for line in response.iter_lines():
if line.startswith(b"data: ") and line != b"data: [DONE]":
chunk = line[6:].decode("utf-8")
import json
data = json.loads(chunk)
if content := data["choices"][0]["delta"].get("content"):
print(content, end="", flush=True)
print("\n")
else:
return response.json()["choices"][0]["message"]["content"]
except Exception as e:
print(f"调用失败:{str(e)}", file=sys.stderr)
def main():
print("===== 4sapi 专属代码助手 =====")
print(f"当前模型:{DEFAULT_MODEL} | 输入/exit退出,/model 切换模型\n")
while True:
try:
user_input = session.prompt(">>> ")
if user_input.strip() == "/exit":
print("感谢使用,再见!")
break
if user_input.strip().startswith("/model"):
global DEFAULT_MODEL
DEFAULT_MODEL = user_input.strip().split(" ")[1]
print(f"已切换模型为:{DEFAULT_MODEL}\n")
continue
if not user_input.strip():
continue
call_ai(user_input)
except KeyboardInterrupt:
continue
except EOFError:
break
if __name__ == "__main__":
main()
4. 配置与运行
-
创建
.env配置文件,写入以下内容:env
4SAPI_API_KEY=你的4sapi专属API Key 4SAPI_BASE_URL=https://4sapi.com/v1 DEFAULT_MODEL=deepseek-v4 -
执行命令启动助手:
bash
运行
python code_assistant.py -
直接输入你的代码问题,即可获得流式响应,支持
/model 模型名一键切换模型,/exit退出程序。
最佳实践
- 按场景切换模型:简单语法纠错、代码补全用轻量国产模型,响应快、成本低;复杂架构设计、bug 排查用 Claude、GPT 旗舰模型,推理能力更强。
- 定制专属 Prompt:根据自己常用的技术栈(如 React、Java、Python),在 System Prompt 中补充专属要求,让 AI 输出更贴合你的编码习惯。
- 额度管控:在 4sapi 控制台为令牌设置合理的额度上限,开启额度预警,避免异常调用导致的额外消耗。