Browse Source

Fix read credentials for ccm service

世界 1 week ago
parent
commit
2343d74be1

+ 3 - 1
docs/configuration/service/ccm.md

@@ -37,7 +37,9 @@ See [Listen Fields](/configuration/shared/listen/) for details.
 
 Path to the Claude Code OAuth credentials file.
 
-Defaults to `~/.claude/.credentials.json` if not specified.
+If not specified, defaults to:
+- `$CLAUDE_CONFIG_DIR/.credentials.json` if `CLAUDE_CONFIG_DIR` environment variable is set
+- `~/.claude/.credentials.json` otherwise
 
 On macOS, credentials are read from the system keychain first, then fall back to the file if unavailable.
 

+ 3 - 1
docs/configuration/service/ccm.zh.md

@@ -37,7 +37,9 @@ CCM(Claude Code 多路复用器)服务是一个多路复用服务,允许
 
 Claude Code OAuth 凭据文件的路径。
 
-如果未指定,默认使用 `~/.claude/.credentials.json`。
+如果未指定,默认值为:
+- 如果设置了 `CLAUDE_CONFIG_DIR` 环境变量,则使用 `$CLAUDE_CONFIG_DIR/.credentials.json`
+- 否则使用 `~/.claude/.credentials.json`
 
 在 macOS 上,首先从系统钥匙串读取凭据,如果不可用则回退到文件。
 

+ 3 - 0
service/ccm/credential.go

@@ -32,6 +32,9 @@ func getRealUser() (*user.User, error) {
 }
 
 func getDefaultCredentialsPath() (string, error) {
+	if configDir := os.Getenv("CLAUDE_CONFIG_DIR"); configDir != "" {
+		return filepath.Join(configDir, ".credentials.json"), nil
+	}
 	userInfo, err := getRealUser()
 	if err != nil {
 		return "", err