chore: Rename Connect AI LAB to Connect AI and bump version to v1.0.12

This commit is contained in:
Jay
2026-04-13 12:29:28 +09:00
parent 9865153f2c
commit 23122feaca
4 changed files with 28 additions and 24 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
MIT License MIT License
Copyright (c) 2026 Connect AI LAB (Jay) Copyright (c) 2026 Connect AI (Jay)
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal
+4 -4
View File
@@ -1,8 +1,8 @@
# ✦ Connect AI LAB # ✦ Connect AI
**100% 로컬 · 100% 오프라인 · 100% 무료** **100% 로컬 · 100% 오프라인 · 100% 무료**
VS Code / Cursor 기반의 프리미엄 AI 코딩 에이전트입니다. 코드를 읽고, 작성하고, 터미널 명령어를 대신 실행해 줍니다. VS Code / Cursor 기반의 프리미엄 AI 코딩 에이전트입니다. 코드를 읽고, 작성하고, 터미널 명령어를 대신 실행해 줍니다.
이 프로젝트는 **EZERAI**와 **Connect AI LAB**이 함께 연구하고 제작했습니다. 이 프로젝트는 **EZERAI**와 **Connect AI**이 함께 연구하고 제작했습니다.
--- ---
@@ -44,7 +44,7 @@ vsce package
## ⚙️ AI 엔진 세팅 가이드 (Ollama / LM Studio) ## ⚙️ AI 엔진 세팅 가이드 (Ollama / LM Studio)
Connect AI LAB은 사용자의 컴퓨터 자원 안에서 돌아가는 오프라인 모델을 사용합니다. 아래 두 가지 엔진 중 편하신 것을 하나 사용하세요. Connect AI은 사용자의 컴퓨터 자원 안에서 돌아가는 오프라인 모델을 사용합니다. 아래 두 가지 엔진 중 편하신 것을 하나 사용하세요.
### 🟡 Option A: Ollama 설정 (초보자 추천) ### 🟡 Option A: Ollama 설정 (초보자 추천)
1. **설치:** [Ollama 공식 홈페이지](https://ollama.com)에서 다운로드 또는 `brew install ollama` 1. **설치:** [Ollama 공식 홈페이지](https://ollama.com)에서 다운로드 또는 `brew install ollama`
@@ -75,4 +75,4 @@ ollama pull gemma4:e2b
## 📄 라이선스 ## 📄 라이선스
MIT License — 자유롭게 사용, 수정, 배포 가능합니다. MIT License — 자유롭게 사용, 수정, 배포 가능합니다.
**Designed & Developed with ❤️ by EZERAI and Connect AI LAB** **Designed & Developed with ❤️ by EZERAI and Connect AI**
+8 -8
View File
@@ -1,8 +1,8 @@
{ {
"name": "connect-ai-lab", "name": "connect-ai-lab",
"displayName": "Connect AI LAB", "displayName": "Connect AI",
"description": "100% 로컬 AI 코딩 에이전트 — 파일 생성, 코드 편집, 터미널 실행을 오프라인으로. Ollama + Gemma/Llama/DeepSeek 지원.", "description": "100% 로컬 AI 코딩 에이전트 — 파일 생성, 코드 편집, 터미널 실행을 오프라인으로. Ollama + Gemma/Llama/DeepSeek 지원.",
"version": "1.0.11", "version": "1.0.12",
"publisher": "connectailab", "publisher": "connectailab",
"license": "MIT", "license": "MIT",
"icon": "assets/icon.png", "icon": "assets/icon.png",
@@ -35,20 +35,20 @@
"commands": [ "commands": [
{ {
"command": "connect-ai-lab.newChat", "command": "connect-ai-lab.newChat",
"title": "Connect AI LAB: New Chat", "title": "Connect AI: New Chat",
"icon": "$(add)" "icon": "$(add)"
}, },
{ {
"command": "connect-ai-lab.exportChat", "command": "connect-ai-lab.exportChat",
"title": "Connect AI LAB: Export Chat as Markdown" "title": "Connect AI: Export Chat as Markdown"
}, },
{ {
"command": "connect-ai-lab.explainSelection", "command": "connect-ai-lab.explainSelection",
"title": "Connect AI LAB: Explain Selected Code" "title": "Connect AI: Explain Selected Code"
}, },
{ {
"command": "connect-ai-lab.focusChat", "command": "connect-ai-lab.focusChat",
"title": "Connect AI LAB: Focus Chat Input" "title": "Connect AI: Focus Chat Input"
} }
], ],
"keybindings": [ "keybindings": [
@@ -71,7 +71,7 @@
"activitybar": [ "activitybar": [
{ {
"id": "connect-ai-lab-sidebar", "id": "connect-ai-lab-sidebar",
"title": "Connect AI LAB", "title": "Connect AI",
"icon": "$(hubot)" "icon": "$(hubot)"
} }
] ]
@@ -86,7 +86,7 @@
] ]
}, },
"configuration": { "configuration": {
"title": "Connect AI LAB", "title": "Connect AI",
"properties": { "properties": {
"connectAiLab.ollamaUrl": { "connectAiLab.ollamaUrl": {
"type": "string", "type": "string",
+15 -11
View File
@@ -4,7 +4,7 @@ import * as fs from 'fs';
import * as path from 'path'; import * as path from 'path';
// ============================================================ // ============================================================
// Connect AI LAB — Full Agentic Local AI for VS Code // Connect AI — Full Agentic Local AI for VS Code
// 100% Offline · File Create · File Edit · Terminal · Multi-file Context // 100% Offline · File Create · File Edit · Terminal · Multi-file Context
// ============================================================ // ============================================================
@@ -26,7 +26,7 @@ const EXCLUDED_DIRS = new Set([
]); ]);
const MAX_CONTEXT_SIZE = 40_000; // chars const MAX_CONTEXT_SIZE = 40_000; // chars
const SYSTEM_PROMPT = `You are "Connect AI LAB", a premium agentic AI coding assistant running 100% offline on the user's machine. const SYSTEM_PROMPT = `You are "Connect AI", a premium agentic AI coding assistant running 100% offline on the user's machine.
You have THREE powerful agent actions. Use them whenever appropriate: You have THREE powerful agent actions. Use them whenever appropriate:
@@ -58,8 +58,8 @@ RULES:
// ============================================================ // ============================================================
export function activate(context: vscode.ExtensionContext) { export function activate(context: vscode.ExtensionContext) {
vscode.window.showInformationMessage('🔥 Connect AI LAB V2 활성화 완료!'); vscode.window.showInformationMessage('🔥 Connect AI V2 활성화 완료!');
console.log('Connect AI LAB extension activated.'); console.log('Connect AI extension activated.');
const provider = new SidebarChatProvider(context.extensionUri, context); const provider = new SidebarChatProvider(context.extensionUri, context);
context.subscriptions.push( context.subscriptions.push(
@@ -152,7 +152,7 @@ class SidebarChatProvider implements vscode.WebviewViewProvider {
if (this._view) { if (this._view) {
this._view.webview.postMessage({ type: 'clearChat' }); this._view.webview.postMessage({ type: 'clearChat' });
} }
vscode.window.showInformationMessage('Connect AI LAB: 새 대화가 시작되었습니다.'); vscode.window.showInformationMessage('Connect AI: 새 대화가 시작되었습니다.');
} }
/** 대화를 Markdown 파일로 내보내기 */ /** 대화를 Markdown 파일로 내보내기 */
@@ -161,9 +161,9 @@ class SidebarChatProvider implements vscode.WebviewViewProvider {
vscode.window.showWarningMessage('내보낼 대화가 없습니다.'); vscode.window.showWarningMessage('내보낼 대화가 없습니다.');
return; return;
} }
let md = `# Connect AI LAB — 대화 기록\n\n_${new Date().toLocaleString('ko-KR')}_\n\n---\n\n`; let md = `# Connect AI — 대화 기록\n\n_${new Date().toLocaleString('ko-KR')}_\n\n---\n\n`;
for (const m of this._displayMessages) { for (const m of this._displayMessages) {
const label = m.role === 'user' ? '**👤 You**' : '**✦ Connect AI LAB**'; const label = m.role === 'user' ? '**👤 You**' : '**✦ Connect AI**';
md += `### ${label}\n\n${m.text}\n\n---\n\n`; md += `### ${label}\n\n${m.text}\n\n---\n\n`;
} }
const root = vscode.workspace.workspaceFolders?.[0]?.uri.fsPath; const root = vscode.workspace.workspaceFolders?.[0]?.uri.fsPath;
@@ -442,8 +442,12 @@ class SidebarChatProvider implements vscode.WebviewViewProvider {
this._saveHistory(); this._saveHistory();
} catch (error: any) { } catch (error: any) {
const { ollamaBase } = getConfig();
const isLM = ollamaBase.includes('1234') || ollamaBase.includes('v1');
const targetName = isLM ? "LM Studio" : "Ollama";
const errMsg = error.code === 'ECONNREFUSED' const errMsg = error.code === 'ECONNREFUSED'
? '⚠️ Ollama 서버에 연결할 수 없습니다.\n터미널에서 `ollama serve`를 실행해주세요.' ? `⚠️ ${targetName} 서버에 연결할 수 없습니다.\n앱에서 로컬 서버가 켜져 있는지(Start Server) 확인해주세요.`
: `⚠️ 오류: ${error.message}`; : `⚠️ 오류: ${error.message}`;
this._view.webview.postMessage({ type: 'error', value: errMsg }); this._view.webview.postMessage({ type: 'error', value: errMsg });
} }
@@ -538,7 +542,7 @@ class SidebarChatProvider implements vscode.WebviewViewProvider {
try { try {
if (!this._terminal || this._terminal.exitStatus !== undefined) { if (!this._terminal || this._terminal.exitStatus !== undefined) {
this._terminal = vscode.window.createTerminal({ this._terminal = vscode.window.createTerminal({
name: '🚀 Connect AI LAB', name: '🚀 Connect AI',
cwd: rootPath cwd: rootPath
}); });
} }
@@ -553,7 +557,7 @@ class SidebarChatProvider implements vscode.WebviewViewProvider {
// Show notification // Show notification
const successCount = report.filter(r => r.startsWith('✅') || r.startsWith('✏️') || r.startsWith('🖥️')).length; const successCount = report.filter(r => r.startsWith('✅') || r.startsWith('✏️') || r.startsWith('🖥️')).length;
if (successCount > 0) { if (successCount > 0) {
vscode.window.showInformationMessage(`Connect AI LAB: ${successCount}개 에이전트 작업 완료!`); vscode.window.showInformationMessage(`Connect AI: ${successCount}개 에이전트 작업 완료!`);
} }
return report; return report;
@@ -570,7 +574,7 @@ class SidebarChatProvider implements vscode.WebviewViewProvider {
private _getHtml(): string { private _getHtml(): string {
return `<!DOCTYPE html> return `<!DOCTYPE html>
<html lang="ko"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1.0"> <html lang="ko"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>Connect AI LAB</title> <title>Connect AI</title>
<style> <style>
*{margin:0;padding:0;box-sizing:border-box} *{margin:0;padding:0;box-sizing:border-box}
:root{ :root{