یک افزونهی VS Code شبیه GitHub Copilot / Kilo Code که مستقیماً به provider سفارشی شما
(POST /v1/messages, سازگار با Anthropic Messages API) وصل میشود.
Provider پیشفرض: https://wqai.morvism.ir/v1
قابلیتها (v0.3.0)
- پنل چت با استریم زنده، markdown، کارت ابزار، sidebar تاریخچه
- @-mention:
@src/foo.ts,@workspace,@selection+ autocomplete - Copy / Insert / Retry روی پاسخ assistant
- RTL خودکار برای متن فارسی
- Diff inline در بنر تأیید write
- حالت Agent: مدل خودش چند مرحله ابزار صدا میزند تا کار تمام شود
- Inline completions: پیشنهاد ghost-text در ادیتور (مثل Copilot)
- تاریخچهی چت: تا ۵۰ session در
globalStateذخیره میشود (Hooshyar: Chat History) - مصرف توکن: نمایش در status bar چت
- ابزارها:
read_file,write_file,search_replace,list_fileslist_codebase,search_codebase,update_tasksrun_command(پیشفرض غیرفعال)
- Rules پروژه:
.cursorrules,.cursor/rules/*.md,.hooshyar/rules.md - Context هوشمند: git diff، symbol outline فایل فعال
- Ripgrep search:
search_codebaseباrg(fallback به scan) - Diff preview قبل از تأیید write
- Undo last write (
Hooshyar: Undo Last Write) - Test connection (
Hooshyar: Test Connection) - Multi-root workspace, رعایت
.gitignore/.cursorignore, محدودیت اندازه فایل - Retry/timeout, fallback non-streaming JSON, هدرهای auth قابل تنظیم
- Output channel «Hooshyar» برای لاگ
ساختار پروژه
hooshyar/
├── package.json
├── src/
│ ├── extension.ts # فعالسازی + دستورات
│ ├── chatViewProvider.ts # agent loop + webview
│ ├── apiClient.ts # SSE + retry + non-stream fallback
│ ├── apiConfig.ts # تنظیمات provider
│ ├── toolCallParser.ts # parse متنی tool calls
│ ├── tools.ts # پیادهسازی ابزارها
│ ├── workspaceUtils.ts # مسیر، ignore، binary
│ ├── contextManager.ts # trim history
│ ├── writeBackup.ts # backup + undo
│ ├── diffPreview.ts # diff + test connection
│ ├── inlineCompletionProvider.ts
│ └── logger.ts
├── media/ # webview UI
└── test/ # unit tests
راهاندازی
npm install
npm run compile # یا npm run watch
npm test
npm run lint
در VS Code این پوشه را باز کنید و F5 بزنید (Extension Development Host).
تنظیمات
Ctrl+Shift+P → Hooshyar: Open Settings → Set API Key (در Secret Storage ذخیره میشود).
| تنظیم | پیشفرض | توضیح |
|---|---|---|
hooshyar.baseUrl |
https://wqai.morvism.ir/v1 |
آدرس provider |
hooshyar.model |
claude-sonnet-4-6 |
مدل |
hooshyar.toolProtocol |
auto |
auto / native / text |
hooshyar.enableTools |
true |
ابزارهای فایل |
hooshyar.enableShellTool |
false |
اجرای shell |
hooshyar.requireApprovalForWrites |
true |
تأیید قبل از write/run |
hooshyar.showDiffBeforeWrite |
true |
diff قبل از تأیید |
hooshyar.enableInlineCompletions |
true |
ghost text |
hooshyar.maxContextChars |
120000 |
سقف context چت |
hooshyar.maxRetries |
2 |
retry درخواست API |
hooshyar.requestTimeoutMs |
120000 |
timeout |
hooshyar.respectIgnoreFiles |
true |
gitignore/cursorignore |
hooshyar.allowedShellCommands |
npm, python, … | whitelist shell |
hooshyar.inlineDebounceMs |
400 |
debounce inline |
hooshyar.inlineModel |
`` | مدل جدا برای inline |
hooshyar.useRipgrep |
true |
جستجو با ripgrep |
hooshyar.includeGitDiff |
true |
git diff در context |
hooshyar.rulesPaths |
[] |
فایلهای rule اضافه |
دستورات
| دستور | کار |
|---|---|
Hooshyar: New Chat |
چت جدید |
Hooshyar: Stop |
توقف agent/stream |
Hooshyar: Chat History |
باز کردن session قبلی |
Hooshyar: Attach File |
اتچ فایل به پیام بعد |
Hooshyar: Test Connection |
تست اتصال provider |
Hooshyar: Undo Last Write |
برگرداندن آخرین write |
Hooshyar: Open Settings |
API key / settings |
Package (.vsix)
npm run package
code --install-extension hooshyar-0.3.0.vsix
نکات provider
- استریم باید فرمت SSE استاندارد Anthropic را برگرداند؛ در غیر این صورت fallback JSON non-streaming فعال است.
- برای gatewayهایی که native tools نمیفهمند،
hooshyar.toolProtocolرا رویtextبگذارید. - هدرهای
x-api-keyوAuthorization: Bearerبهصورت پیشفرض ارسال میشوند؛ هدر اضافه باhooshyar.extraHeaders.
امنیت
run_commandبا دسترسی کاربر VS Code اجرا میشود و whitelist دارد.- write/search_replace قبل از اجرا (در صورت فعال بودن) diff + تأیید میخواهند.
- فایلهای ignore و binary/super-large skip میشوند.
License
MIT — see LICENSE. Changes: CHANGELOG. #� �H�o�o�s�h�y�a�r�E�x�t�e�n�t�i�o�n� � �