protocol-proxy 1.1.4 → 1.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/public/app.js +19 -7
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "protocol-proxy",
3
- "version": "1.1.4",
3
+ "version": "1.1.5",
4
4
  "description": "OpenAI / Anthropic 协议转换透明代理",
5
5
  "main": "server.js",
6
6
  "bin": {
package/public/app.js CHANGED
@@ -134,13 +134,19 @@ function renderProviderOptions() {
134
134
  const providers = loadProviders();
135
135
  const currentUrl = getSelectedProviderUrl();
136
136
 
137
- container.innerHTML = providers.map(p => `
137
+ container.innerHTML = providers.map(p => {
138
+ // 优先从服务端配置取供应商名称
139
+ const serverProxy = proxies.find(pr => pr.target?.providerUrl === p.url);
140
+ const displayName = (p.name && p.name !== p.url) ? p.name
141
+ : (serverProxy?.target?.providerName && serverProxy.target.providerName !== p.url) ? serverProxy.target.providerName
142
+ : p.url;
143
+ return `
138
144
  <div class="model-option${p.url === currentUrl ? ' selected' : ''}" data-url="${escapeHtml(p.url)}">
139
- <span class="model-option-name">${escapeHtml(p.name)}</span>
140
- ${p.name !== p.url ? `<span style="color:#64748b;font-size:12px;margin-left:4px">${escapeHtml(p.url)}</span>` : ''}
145
+ <span class="model-option-name">${escapeHtml(displayName)}</span>
146
+ ${displayName !== p.url ? `<span style="color:#64748b;font-size:12px;margin-left:4px">${escapeHtml(p.url)}</span>` : ''}
141
147
  <button type="button" class="model-option-delete" data-delete-url="${escapeHtml(p.url)}" title="删除此供应商">&times;</button>
142
148
  </div>
143
- `).join('');
149
+ `}).join('');
144
150
 
145
151
  if (providers.length === 0) {
146
152
  container.innerHTML = '<div style="padding:8px 12px;color:#64748b;font-size:13px">暂无供应商,请在下方添加</div>';
@@ -176,9 +182,15 @@ function selectProvider(url) {
176
182
  document.getElementById('target-url').value = url || '';
177
183
  const provider = findProviderByUrl(url);
178
184
  document.getElementById('target-protocol').value = url ? (provider?.protocol || detectProtocol(url)) : '';
179
- document.getElementById('provider-dropdown-value').textContent = url
180
- ? (provider ? `${provider.name} - ${url}` : url)
181
- : '选择供应商...';
185
+ if (url) {
186
+ const serverProxy = proxies.find(pr => pr.target?.providerUrl === url);
187
+ const name = (provider?.name && provider.name !== url) ? provider.name
188
+ : (serverProxy?.target?.providerName && serverProxy.target.providerName !== url) ? serverProxy.target.providerName
189
+ : null;
190
+ document.getElementById('provider-dropdown-value').textContent = name ? `${name} - ${url}` : url;
191
+ } else {
192
+ document.getElementById('provider-dropdown-value').textContent = '选择供应商...';
193
+ }
182
194
  // 切换供应商后刷新模型列表
183
195
  renderModelOptions();
184
196
  updateModelAddState();