mirror of
https://github.com/QwenLM/qwen-code.git
synced 2026-04-29 20:20:57 +00:00
feat(shell): enable PTY by default and various enhancements
### Shell & Interactive Terminal Improvements - PTY shell is now enabled by default instead of disabled - Improved shell output rendering, process termination, and added fallback warning - Background commands now properly capture subprocess PIDs on non-Windows ### Coding Plan Improvements - Simplified auth message, added /model tip, improved system info display - Reordered model list to prioritize glm-5, kimi-k2.5, MiniMax-M2.5 - Model selection is now preserved when updating if the model still exists ### Other Changes - Added shared symlink utility; debug logs now have latest alias - Unknown settings warnings go to debug log instead of user-facing warnings - Fixed subagent confirmation state detection - Removed debug UI from AgentCreationWizard Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
parent
991ae9febc
commit
b48e3caa75
31 changed files with 729 additions and 314 deletions
|
|
@ -38,6 +38,7 @@ export interface SystemInfo {
|
|||
export interface ExtendedSystemInfo extends SystemInfo {
|
||||
memoryUsage: string;
|
||||
baseUrl?: string;
|
||||
apiKeyEnvKey?: string;
|
||||
gitCommit?: string;
|
||||
proxy?: string;
|
||||
}
|
||||
|
|
@ -154,12 +155,14 @@ export async function getExtendedSystemInfo(
|
|||
// For bug reports, use sandbox name without prefix
|
||||
const sandboxEnv = getSandboxEnv(true);
|
||||
|
||||
// Get base URL if using OpenAI auth
|
||||
const baseUrl =
|
||||
// Get base URL and apiKeyEnvKey if using OpenAI or Anthropic auth
|
||||
const contentGeneratorConfig =
|
||||
baseInfo.selectedAuthType === AuthType.USE_OPENAI ||
|
||||
baseInfo.selectedAuthType === AuthType.USE_ANTHROPIC
|
||||
? context.services.config?.getContentGeneratorConfig()?.baseUrl
|
||||
? context.services.config?.getContentGeneratorConfig()
|
||||
: undefined;
|
||||
const baseUrl = contentGeneratorConfig?.baseUrl;
|
||||
const apiKeyEnvKey = contentGeneratorConfig?.apiKeyEnvKey;
|
||||
|
||||
// Get git commit info
|
||||
const gitCommit =
|
||||
|
|
@ -172,6 +175,7 @@ export async function getExtendedSystemInfo(
|
|||
sandboxEnv,
|
||||
memoryUsage,
|
||||
baseUrl,
|
||||
apiKeyEnvKey,
|
||||
gitCommit,
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
import type { ExtendedSystemInfo } from './systemInfo.js';
|
||||
import { t } from '../i18n/index.js';
|
||||
import { isCodingPlanConfig } from '../constants/codingPlan.js';
|
||||
|
||||
/**
|
||||
* Field configuration for system information display
|
||||
|
|
@ -30,6 +31,7 @@ export function getSystemInfoFields(
|
|||
addField(fields, t('IDE Client'), info.ideClient);
|
||||
addField(fields, t('OS'), formatOs(info));
|
||||
addField(fields, t('Auth'), formatAuth(info));
|
||||
addField(fields, t('Base URL'), formatBaseUrl(info));
|
||||
addField(fields, t('Model'), info.modelVersion);
|
||||
addField(fields, t('Session ID'), info.sessionId);
|
||||
addField(fields, t('Sandbox'), info.sandboxEnv);
|
||||
|
|
@ -86,15 +88,34 @@ function formatAuth(info: ExtendedSystemInfo): string {
|
|||
if (!info.selectedAuthType) {
|
||||
return '';
|
||||
}
|
||||
const authType = formatAuthType(info.selectedAuthType);
|
||||
if (!info.baseUrl) {
|
||||
return authType;
|
||||
|
||||
if (isCodingPlanConfig(info.baseUrl, info.apiKeyEnvKey)) {
|
||||
return t('Alibaba Cloud Coding Plan');
|
||||
}
|
||||
return `${authType} (${info.baseUrl})`;
|
||||
|
||||
if (
|
||||
info.selectedAuthType.startsWith('oauth') ||
|
||||
info.selectedAuthType === 'qwen-oauth'
|
||||
) {
|
||||
return 'Qwen OAuth';
|
||||
}
|
||||
|
||||
return `API Key - ${info.selectedAuthType}`;
|
||||
}
|
||||
|
||||
function formatAuthType(authType: string): string {
|
||||
return authType.startsWith('oauth') ? 'OAuth' : authType;
|
||||
function formatBaseUrl(info: ExtendedSystemInfo): string {
|
||||
if (!info.selectedAuthType || !info.baseUrl) {
|
||||
return '';
|
||||
}
|
||||
|
||||
if (
|
||||
info.selectedAuthType.startsWith('oauth') ||
|
||||
info.selectedAuthType === 'qwen-oauth'
|
||||
) {
|
||||
return '';
|
||||
}
|
||||
|
||||
return info.baseUrl;
|
||||
}
|
||||
|
||||
function formatProxy(proxy?: string): string {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue