claude-code/cc/ai: 安装/使用/bigmode/golang/python/glm/zhipu
一个AI命令行安装使用
🕐
安装
# 普通安装
curl -fsSL https://claude.ai/install.sh | bash
# mbp15 无法使用
brew install --cask claude-code
# mbp15使用这个方式
npm install -g @anthropic-ai/claude-code
$ claude
dyld: Symbol not found: _ubrk_clone
Referenced from: /usr/local/bin/claude (which was built for Mac OS X 13.0)
Expected in: /usr/lib/libicucore.A.dylib
Abort trap: 6
# 升级
claude update
# Windows下安装,可能遇到的问题,解决方案如下
- https://github.com/GJKen/demo/issues/10
Unable to connect to Anthropic services
Failed to connect to api.anthropic.com: ECONNREFUSED
Please check your internet connection and network settings.
Note: Claude Code might not be available in your country. Check supported countries at https://anthropic.com/supported-countries自动模式
claude --enable-auto-mode使用 bash
! for bash mode double tap esc to clear input ctrl + _ to undo
/ for commands shift + tab to auto-accept edits ctrl + z to suspend
@ for file paths ctrl + o for verbose output ctrl + v to paste images
# to memorize ctrl + t to show todos
tab to toggle thinking
backslash (\) + return (⏎) for
newline快捷键
- alt + 回车: 换行
- 回车: 提交
常用的 commds/rules 归类
| 场景 | 备注(示例项目) |
|---|---|
| go语言库 | https://github.com/afeiship/go-gitinfo |
| 一个 command 命令的定义 | https://github.com/afeiship/url-literal |
安装 mcp
安装 figma 的 MCP: https://developers.figma.com/docs/figma-mcp-server/remote-server-installation/#claude-code
claude mcp add --transport http figma https://mcp.figma.com/mcp完全交给AI
这个是一种有风险的模式,因为完全没有人干预 AI 开发了。
claude --dangerously-skip-permissionsproxy 配置
{
"env": {
"HTTP_PROXY": "http://127.0.0.1:9090",
"HTTPS_PROXY": "http://127.0.0.1:9090"
}
}Golang SDK
package main
import (
"context"
"fmt"
"os"
"github.com/anthropics/anthropic-sdk-go"
"github.com/anthropics/anthropic-sdk-go/option"
)
func main() {
apiKey := os.Getenv("ANTHROPIC_AUTH_TOKEN")
baseUrl := os.Getenv("ANTHROPIC_BASE_URL")
client := anthropic.NewClient(
option.WithAPIKey(apiKey), // defaults to os.LookupEnv("ANTHROPIC_API_KEY")
option.WithBaseURL(baseUrl), // defaults to "https://api.anthropic.ai"
)
message, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
MaxTokens: 1024,
Messages: []anthropic.MessageParam{
anthropic.NewUserMessage(anthropic.NewTextBlock("How are you today?")),
},
Model: "glm-4.5-air",
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", message.Content)
}Python http latest
import requests
import os
from dotenv import load_dotenv
load_dotenv()
def call_claude_api(prompt):
base_url = os.getenv("ANTHROPIC_BASE_URL")
if not base_url:
raise ValueError("ANTHROPIC_BASE_URL environment variable is not set")
claude_url = base_url + 'v1/messages'
headers = {
"Content-Type": "application/json",
"x-api-key": os.getenv("ANTHROPIC_API_KEY"),
"anthropic-version": "2023-06-01"
}
payload = {
"model": os.getenv("ANTHROPIC_MODEL", "glm-5.2"),
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": prompt
}
]
}
response = requests.post(claude_url, headers=headers, json=payload)
if response.status_code == 200:
return response.json()
else:
print(f"Error: {response.status_code}, {response.text}")
return None
if __name__ == "__main__":
result = call_claude_api("Hello, how are you?")
if result:
print(result['content'][0]['text'])Python Http
import requests
import os
def call_claude_api(prompt):
claude_url = os.getenv("ANTHROPIC_BASE_URL") + '/v1/messages' # 需要设置 API URL
headers = {
"Content-Type": "application/json",
"x-api-key": os.getenv("ANTHROPIC_AUTH_TOKEN"), # 需要设置 API key
"anthropic-version": "2023-06-01"
}
payload = {
"model": "glm-4.5-air", # 或其他 Claude 模型
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": prompt
}
]
}
response = requests.post(claude_url, headers=headers, json=payload)
if response.status_code == 200:
return response.json()
else:
print(f"Error: {response.status_code}, {response.text}")
return None
# 使用示例
result = call_claude_api("Hello, how are you?")
if result:
print(result['content'][0]['text'])经过封装
package main
import (
"fmt"
"log"
"github.com/afeiship/go-claude"
)
func main() {
// Method 1: Pass configuration completely (recommended for production)
cfg := claude.Config{
Model: "glm-4.5-air", // Can be dynamically specified
}
client, err := claude.NewClient(cfg)
if err != nil {
log.Fatal(err)
}
// Use default configuration
reply, err := client.SimplePrompt("Hello, Claude!")
if err != nil {
log.Fatal(err)
}
fmt.Println("Reply 1:", reply)
}最常用,zhipu bigmodel
package main
import (
"fmt"
"log"
"github.com/afeiship/go-claude"
)
func main() {
// Create Zhipu client
client, err := claude.NewZhipuClient()
if err != nil {
log.Fatal(err)
}
// Single turn conversation
response, err := client.SimplePrompt("Hello")
if err != nil {
log.Fatal(err)
}
fmt.Println(response)
}