Unified · Split
| @@ -64,6 +64,11 @@ CLIProxyAPI Guides: [https://help.router-for.me/](https://help.router-for.me/) · 63 unmodified lines | |||
| 64 | 64 | ||
| 65 | see [MANAGEMENT_API.md](https://help.router-for.me/management/api) | 65 | see [MANAGEMENT_API.md](https://help.router-for.me/management/api) |
| 66 | 66 | ||
| 67 | ## Management TUI | ||
| 68 | |||
| 69 | A terminal-based interface for managing configuration, keys/auth files, and viewing real-time logs. Run with: | ||
| 70 | `./CLIProxyAPI --tui` | ||
| 71 | |||
| 67 | ## Amp CLI Support | 72 | ## Amp CLI Support |
| 68 | 73 | ||
| 69 | CLIProxyAPI includes integrated support for [Amp CLI](https://ampcode.com) and Amp IDE extensions, enabling you to use your Google/ChatGPT/Claude OAuth subscriptions with Amp's coding tools: | 74 | CLIProxyAPI includes integrated support for [Amp CLI](https://ampcode.com) and Amp IDE extensions, enabling you to use your Google/ChatGPT/Claude OAuth subscriptions with Amp's coding tools: |
| @@ -64,6 +64,11 @@ CLIProxyAPI 用户手册: [https://help.router-for.me/](https://help.router-fo · 63 unmodified lines | |||
| 64 | 64 | ||
| 65 | 请参见 [MANAGEMENT_API_CN.md](https://help.router-for.me/cn/management/api) | 65 | 请参见 [MANAGEMENT_API_CN.md](https://help.router-for.me/cn/management/api) |
| 66 | 66 | ||
| 67 | ## 管理 TUI | ||
| 68 | |||
| 69 | 一个用于管理配置、密钥/认证文件以及查看实时日志的终端界面。使用以下命令启动: | ||
| 70 | `./CLIProxyAPI --tui` | ||
| 71 | |||
| 67 | ## Amp CLI 支持 | 72 | ## Amp CLI 支持 |
| 68 | 73 | ||
| 69 | CLIProxyAPI 已内置对 [Amp CLI](https://ampcode.com) 和 Amp IDE 扩展的支持,可让你使用自己的 Google/ChatGPT/Claude OAuth 订阅来配合 Amp 编码工具: | 74 | CLIProxyAPI 已内置对 [Amp CLI](https://ampcode.com) 和 Amp IDE 扩展的支持,可让你使用自己的 Google/ChatGPT/Claude OAuth 订阅来配合 Amp 编码工具: |
| @@ -3,7 +3,7 @@ package tui · 2 unmodified lines | |||
| 3 | // i18n provides a simple internationalization system for the TUI. | 3 | // i18n provides a simple internationalization system for the TUI. |
| 4 | // Supported locales: "zh" (Chinese, default), "en" (English). | 4 | // Supported locales: "zh" (Chinese, default), "en" (English). |
| 5 | 5 | ||
| 6 | var currentLocale = "zh" | 6 | var currentLocale = "en" |
| 7 | 7 | ||
| 8 | // SetLocale changes the active locale. | 8 | // SetLocale changes the active locale. |
| 9 | func SetLocale(locale string) { | 9 | func SetLocale(locale string) { |
| @@ -231,7 +231,7 @@ func (m usageTabModel) renderContent() string { · 230 unmodified lines | |||
| 231 | apiToks := int64(getFloat(apiMap, "total_tokens")) | 231 | apiToks := int64(getFloat(apiMap, "total_tokens")) |
| 232 | 232 | ||
| 233 | row := fmt.Sprintf(" %-30s %10d %12s", | 233 | row := fmt.Sprintf(" %-30s %10d %12s", |
| 234 | truncate(apiName, 30), apiReqs, formatLargeNumber(apiToks)) | 234 | truncate(maskKey(apiName), 30), apiReqs, formatLargeNumber(apiToks)) |
| 235 | sb.WriteString(lipgloss.NewStyle().Bold(true).Render(row)) | 235 | sb.WriteString(lipgloss.NewStyle().Bold(true).Render(row)) |
| 236 | sb.WriteString("\n") | 236 | sb.WriteString("\n") |
| 237 | 237 | ||