<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.alikaravi.ir/index.php?action=history&amp;feed=atom&amp;title=Pi_Harness_Agent_Coding</id>
	<title>Pi Harness Agent Coding - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.alikaravi.ir/index.php?action=history&amp;feed=atom&amp;title=Pi_Harness_Agent_Coding"/>
	<link rel="alternate" type="text/html" href="https://wiki.alikaravi.ir/index.php?title=Pi_Harness_Agent_Coding&amp;action=history"/>
	<updated>2026-10-11T09:53:02Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.40.1</generator>
	<entry>
		<id>https://wiki.alikaravi.ir/index.php?title=Pi_Harness_Agent_Coding&amp;diff=221&amp;oldid=prev</id>
		<title>Karavi at 19:42, 4 September 2026</title>
		<link rel="alternate" type="text/html" href="https://wiki.alikaravi.ir/index.php?title=Pi_Harness_Agent_Coding&amp;diff=221&amp;oldid=prev"/>
		<updated>2026-09-04T19:42:54Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://wiki.alikaravi.ir/index.php?title=Pi_Harness_Agent_Coding&amp;amp;diff=221&amp;amp;oldid=220&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Karavi</name></author>
	</entry>
	<entry>
		<id>https://wiki.alikaravi.ir/index.php?title=Pi_Harness_Agent_Coding&amp;diff=220&amp;oldid=prev</id>
		<title>Karavi: Created page with &quot;= Pi Coding Agent =  راهنمای نصب، پیکربندی و استفاده از Pi برای پروژه‌های C#/.NET و Angular.  == Pi چیست؟ == Pi یک coding-agent مینیمال و قابل‌گسترش است. قابلیت‌هایی مانند browser، subagent، memory، plan، MCP، theme و workflow از طریق extension، skill، prompt template و package اضافه می‌شوند.  ابزارهای پایه: &lt;syntaxhighlight lang=&quot;text&quot;&gt; read...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.alikaravi.ir/index.php?title=Pi_Harness_Agent_Coding&amp;diff=220&amp;oldid=prev"/>
		<updated>2026-09-04T19:20:01Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;= Pi Coding Agent =  راهنمای نصب، پیکربندی و استفاده از Pi برای پروژه‌های C#/.NET و Angular.  == Pi چیست؟ == Pi یک coding-agent مینیمال و قابل‌گسترش است. قابلیت‌هایی مانند browser، subagent، memory، plan، MCP، theme و workflow از طریق extension، skill، prompt template و package اضافه می‌شوند.  ابزارهای پایه: &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt; read...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Pi Coding Agent =&lt;br /&gt;
&lt;br /&gt;
راهنمای نصب، پیکربندی و استفاده از Pi برای پروژه‌های C#/.NET و Angular.&lt;br /&gt;
&lt;br /&gt;
== Pi چیست؟ ==&lt;br /&gt;
Pi یک coding-agent مینیمال و قابل‌گسترش است. قابلیت‌هایی مانند browser، subagent، memory، plan، MCP، theme و workflow از طریق extension، skill، prompt template و package اضافه می‌شوند.&lt;br /&gt;
&lt;br /&gt;
ابزارهای پایه:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
read&lt;br /&gt;
bash&lt;br /&gt;
powershell&lt;br /&gt;
edit&lt;br /&gt;
write&lt;br /&gt;
grep&lt;br /&gt;
find&lt;br /&gt;
ls&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pi به‌صورت built-in شامل MCP، subagent، plan mode، todo و background task نیست؛ این قابلیت‌ها با package یا extension اضافه می‌شوند.&lt;br /&gt;
&lt;br /&gt;
== پیش‌نیازهای Windows ==&lt;br /&gt;
* Node.js&lt;br /&gt;
* npm یا package manager سازگار&lt;br /&gt;
* Git for Windows&lt;br /&gt;
* Windows Terminal&lt;br /&gt;
* API key یا subscription provider&lt;br /&gt;
&lt;br /&gt;
بررسی:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
node --version&lt;br /&gt;
npm --version&lt;br /&gt;
git --version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pi در Windows معمولاً از Git Bash استفاده می‌کند. راهنما: [https://pi.dev/docs/latest/windows Windows Setup]&lt;br /&gt;
&lt;br /&gt;
== نصب و به‌روزرسانی ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
npm install -g --ignore-scripts @earendil-works/pi-coding-agent&lt;br /&gt;
pi --version&lt;br /&gt;
pi --help&lt;br /&gt;
pi update --self&lt;br /&gt;
pi update --extensions&lt;br /&gt;
pi update --all&lt;br /&gt;
pi update --models&lt;br /&gt;
pi list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
اجرای پروژه:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
cd C:\Path\To\YourProject&lt;br /&gt;
pi&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
حذف:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
npm uninstall -g @earendil-works/pi-coding-agent&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== احراز هویت و مدل‌ها ==&lt;br /&gt;
داخل Pi:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
/login&lt;br /&gt;
/logout&lt;br /&gt;
/model&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Providerهای رایج شامل OpenAI/Codex، Anthropic، GitHub Copilot، Google، DeepSeek، OpenRouter، Azure OpenAI، Vertex، Bedrock، xAI و llama.cpp هستند.&lt;br /&gt;
&lt;br /&gt;
کلیدها را در Wiki، source code، prompt، log یا commit ذخیره نکنید.&lt;br /&gt;
&lt;br /&gt;
راهنما: [https://pi.dev/docs/latest/providers Providers]&lt;br /&gt;
&lt;br /&gt;
== اجرای Pi و ابزارها ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
pi&lt;br /&gt;
pi -p &amp;quot;Summarize this project&amp;quot;&lt;br /&gt;
pi --model openai/gpt-4o&lt;br /&gt;
pi --tools read,grep,find,ls -p &amp;quot;Review this project&amp;quot;&lt;br /&gt;
pi --exclude-tools bash&lt;br /&gt;
pi --no-tools&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
pi -p &amp;quot;@README.md Summarize this file&amp;quot;&lt;br /&gt;
Get-Content README.md | pi -p &amp;quot;Summarize this text&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
در editor، &amp;lt;code&amp;gt;@&amp;lt;/code&amp;gt; برای فایل، &amp;lt;code&amp;gt;Tab&amp;lt;/code&amp;gt; برای path، &amp;lt;code&amp;gt;Shift+Enter&amp;lt;/code&amp;gt; برای ورودی چندخطی، &amp;lt;code&amp;gt;!&amp;lt;/code&amp;gt; برای shell command و &amp;lt;code&amp;gt;!!&amp;lt;/code&amp;gt; برای اجرای بدون ارسال خروجی استفاده می‌شود.&lt;br /&gt;
&lt;br /&gt;
== دستورهای تعاملی ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! دستور !! کاربرد&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/login&amp;lt;/code&amp;gt; || ورود&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/logout&amp;lt;/code&amp;gt; || خروج&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/model&amp;lt;/code&amp;gt; || انتخاب مدل&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/settings&amp;lt;/code&amp;gt; || تنظیمات&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/new&amp;lt;/code&amp;gt; || session جدید&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/resume&amp;lt;/code&amp;gt; || ادامه session&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/fork&amp;lt;/code&amp;gt; || fork session&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/tree&amp;lt;/code&amp;gt; || درخت session&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/compact&amp;lt;/code&amp;gt; || فشرده‌سازی context&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/export&amp;lt;/code&amp;gt; || خروجی HTML&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/reload&amp;lt;/code&amp;gt; || reload extensionها&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/help&amp;lt;/code&amp;gt; || راهنما&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== تنظیمات ==&lt;br /&gt;
تنظیمات global:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
C:\Users\&amp;amp;lt;username&amp;amp;gt;\.pi\agent\settings.json&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
تنظیمات project-local:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;lt;project&amp;amp;gt;\.pi\settings.json&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
نمونه:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;defaultTools&amp;quot;: [&amp;quot;read&amp;quot;, &amp;quot;powershell&amp;quot;, &amp;quot;edit&amp;quot;, &amp;quot;write&amp;quot;],&lt;br /&gt;
  &amp;quot;enableSkillCommands&amp;quot;: true,&lt;br /&gt;
  &amp;quot;packages&amp;quot;: [&lt;br /&gt;
    &amp;quot;npm:@sentiolabs/pi-frontend-design&amp;quot;,&lt;br /&gt;
    &amp;quot;npm:pi-frontend-check&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;prompts&amp;quot;: [&amp;quot;./prompts&amp;quot;],&lt;br /&gt;
  &amp;quot;skills&amp;quot;: [&amp;quot;./skills&amp;quot;],&lt;br /&gt;
  &amp;quot;themes&amp;quot;: [&amp;quot;./themes&amp;quot;]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
مدیریت resourceها:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
pi config&lt;br /&gt;
pi config -l&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
راهنما: [https://pi.dev/docs/latest/settings Settings]&lt;br /&gt;
&lt;br /&gt;
== Context Files ==&lt;br /&gt;
Pi فایل‌های &amp;lt;code&amp;gt;AGENTS.md&amp;lt;/code&amp;gt; و &amp;lt;code&amp;gt;CLAUDE.md&amp;lt;/code&amp;gt; را برای قواعد پروژه می‌خواند.&lt;br /&gt;
&lt;br /&gt;
موارد پیشنهادی برای ثبت:&lt;br /&gt;
* commandهای build و test&lt;br /&gt;
* معماری و naming&lt;br /&gt;
* قواعد API و migration&lt;br /&gt;
* i18n فارسی/انگلیسی&lt;br /&gt;
* محدودیت‌های امنیتی&lt;br /&gt;
* ممنوعیت commit، push و deploy بدون مجوز&lt;br /&gt;
&lt;br /&gt;
غیرفعال‌کردن:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
pi --no-context-files&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Extension، Skill، Prompt و Theme ==&lt;br /&gt;
مسیرهای global:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
C:\Users\&amp;amp;lt;username&amp;amp;gt;\.pi\agent\extensions\&lt;br /&gt;
C:\Users\&amp;amp;lt;username&amp;amp;gt;\.pi\agent\skills\&lt;br /&gt;
C:\Users\&amp;amp;lt;username&amp;amp;gt;\.pi\agent\prompts\&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
مسیرهای project-local:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;lt;project&amp;amp;gt;\.pi\extensions\&lt;br /&gt;
&amp;amp;lt;project&amp;amp;gt;\.pi\skills\&lt;br /&gt;
&amp;amp;lt;project&amp;amp;gt;\.pi\prompts\&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Extension: کد TypeScript برای tool، command، event، UI یا provider.&lt;br /&gt;
* Skill: workflow تخصصی با فایل &amp;lt;code&amp;gt;SKILL.md&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Prompt template: فایل Markdown قابل اجرا با &amp;lt;code&amp;gt;/name&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Theme: تنظیمات ظاهری Pi.&lt;br /&gt;
&lt;br /&gt;
نمونه Skill:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;markdown&amp;quot;&amp;gt;&lt;br /&gt;
---&lt;br /&gt;
name: dotnet-angular&lt;br /&gt;
description: Build, test and verify .NET and Angular projects.&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Run dotnet build and dotnet test.&lt;br /&gt;
Run pnpm lint, pnpm test and pnpm build.&lt;br /&gt;
Check API compatibility, i18n, accessibility and secrets.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
اجرا:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
/skill:dotnet-angular&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
راهنماها: [https://pi.dev/docs/latest/skills Skills] و [https://pi.dev/docs/latest/prompt-templates Prompt Templates]&lt;br /&gt;
&lt;br /&gt;
== نصب Package ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
pi install npm:package-name&lt;br /&gt;
pi install -l npm:package-name&lt;br /&gt;
pi install git:github.com/user/repository@v1&lt;br /&gt;
pi -e npm:package-name&lt;br /&gt;
pi remove npm:package-name&lt;br /&gt;
pi list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
نصب عادی global است؛ &amp;lt;code&amp;gt;-l&amp;lt;/code&amp;gt; project-local و &amp;lt;code&amp;gt;-e&amp;lt;/code&amp;gt; موقت است.&lt;br /&gt;
&lt;br /&gt;
== Packageهای پیشنهادی برای .NET و Angular ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
pi install npm:@sentiolabs/pi-frontend-design&lt;br /&gt;
pi install -l npm:pi-frontend-check&lt;br /&gt;
pi install -l npm:pi-lens&lt;br /&gt;
pi install npm:pi-web-access&lt;br /&gt;
pi install npm:pi-mcp-adapter&lt;br /&gt;
pi install npm:@gotgenes/pi-permission-system&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;@sentiolabs/pi-frontend-design&amp;lt;/code&amp;gt;: طراحی UI، typography، layout و responsive.&lt;br /&gt;
* &amp;lt;code&amp;gt;pi-frontend-check&amp;lt;/code&amp;gt;: تست Angular، screenshot، viewport، console و network.&lt;br /&gt;
* &amp;lt;code&amp;gt;pi-lens&amp;lt;/code&amp;gt;: LSP، TypeScript، lint، formatter و type-check.&lt;br /&gt;
* &amp;lt;code&amp;gt;pi-web-access&amp;lt;/code&amp;gt;: جست‌وجو و مطالعه مستندات وب.&lt;br /&gt;
* &amp;lt;code&amp;gt;pi-mcp-adapter&amp;lt;/code&amp;gt;: اتصال MCP serverها.&lt;br /&gt;
* &amp;lt;code&amp;gt;pi-permission-system&amp;lt;/code&amp;gt;: محدودسازی دسترسی ابزارها و مسیرها.&lt;br /&gt;
&lt;br /&gt;
افزونه‌های browser و memory را بدون نیاز واقعی هم‌زمان نصب نکنید.&lt;br /&gt;
&lt;br /&gt;
Catalog: [https://pi.dev/packages?type=extension Pi Package Catalog]&lt;br /&gt;
&lt;br /&gt;
== Workflow Angular ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
pnpm install --frozen-lockfile&lt;br /&gt;
pnpm start&lt;br /&gt;
pnpm lint&lt;br /&gt;
pnpm test&lt;br /&gt;
pnpm build&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
پس از اجرای dev server:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Open the Angular dev server, test main routes at desktop, tablet and mobile widths, inspect console and network errors, then report findings.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
چرخه: Implement → Build → Lint → Unit Test → Browser Test → Screenshot → Accessibility Review → Fix → Re-test&lt;br /&gt;
&lt;br /&gt;
== Workflow .NET ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
dotnet restore&lt;br /&gt;
dotnet build&lt;br /&gt;
dotnet test&lt;br /&gt;
dotnet format --verify-no-changes&lt;br /&gt;
dotnet run&lt;br /&gt;
dotnet ef migrations list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
connection string، token و credential واقعی نباید در Wiki یا prompt قرار گیرند. migration production به backup، rollback plan و مجوز نیاز دارد.&lt;br /&gt;
&lt;br /&gt;
== Session و Compaction ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
/new&lt;br /&gt;
/resume&lt;br /&gt;
/fork&lt;br /&gt;
/tree&lt;br /&gt;
/compact&lt;br /&gt;
/export&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
تنظیم compaction:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;compaction&amp;quot;: {&lt;br /&gt;
    &amp;quot;enabled&amp;quot;: true,&lt;br /&gt;
    &amp;quot;reserveTokens&amp;quot;: 16384,&lt;br /&gt;
    &amp;quot;keepRecentTokens&amp;quot;: 20000&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
راهنما: [https://pi.dev/docs/latest/compaction Compaction]&lt;br /&gt;
&lt;br /&gt;
== UI Extension ==&lt;br /&gt;
برای widget دائمی از &amp;lt;code&amp;gt;setWidget()&amp;lt;/code&amp;gt; استفاده کنید:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;typescript&amp;quot;&amp;gt;&lt;br /&gt;
import type { ExtensionAPI } from &amp;quot;@earendil-works/pi-coding-agent&amp;quot;;&lt;br /&gt;
import { Text } from &amp;quot;@earendil-works/pi-tui&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
export default function (pi: ExtensionAPI) {&lt;br /&gt;
  pi.on(&amp;quot;session_start&amp;quot;, (_event, ctx) =&amp;gt; {&lt;br /&gt;
    ctx.ui.setWidget(&amp;quot;status&amp;quot;, (_tui, theme) =&amp;gt; {&lt;br /&gt;
      return new Text(&amp;quot;Pi active: &amp;quot; + ctx.cwd, 0, 0);&lt;br /&gt;
    });&lt;br /&gt;
  });&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
پس از تغییر:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
/reload&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ctx.ui.custom()&amp;lt;/code&amp;gt; برای modal است و تا اجرای &amp;lt;code&amp;gt;done()&amp;lt;/code&amp;gt; منتظر می‌ماند؛ برای status دائمی از &amp;lt;code&amp;gt;setWidget()&amp;lt;/code&amp;gt; استفاده کنید.&lt;br /&gt;
&lt;br /&gt;
== RPC و SDK ==&lt;br /&gt;
RPC:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
pi --mode rpc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
کاربردها: اتصال به IDE، ساخت Web UI اختصاصی، pipeline و automation.&lt;br /&gt;
&lt;br /&gt;
SDK برای embedding Pi در برنامه‌های Node.js/TypeScript استفاده می‌شود.&lt;br /&gt;
&lt;br /&gt;
راهنماها: [https://pi.dev/docs/latest/sdk SDK] و [https://pi.dev/docs/latest/rpc RPC]&lt;br /&gt;
&lt;br /&gt;
== امنیت ==&lt;br /&gt;
* Extension و packageها می‌توانند کد arbitrary اجرا کنند.&lt;br /&gt;
* Pi به‌صورت پیش‌فرض sandbox کامل ندارد.&lt;br /&gt;
* API key و connection string در source، Wiki یا log ذخیره نشود.&lt;br /&gt;
* packageهای ناشناس قبل از نصب review شوند.&lt;br /&gt;
* برای پروژه‌های حساس از permission system، container یا sandbox استفاده شود.&lt;br /&gt;
* packageهای غیرضروری حذف شوند.&lt;br /&gt;
&lt;br /&gt;
غیرفعال‌کردن extensionها برای یک اجرا:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
pi --no-extensions&lt;br /&gt;
pi --no-extensions -e .\trusted-extension.ts&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== عیب‌یابی ==&lt;br /&gt;
=== Pi پیدا نمی‌شود ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
Get-Command pi&lt;br /&gt;
npm list -g --depth=0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Extension بارگذاری نمی‌شود ===&lt;br /&gt;
فایل، مسیر، &amp;lt;code&amp;gt;export default function&amp;lt;/code&amp;gt;، ثبت command و اجرای &amp;lt;code&amp;gt;/reload&amp;lt;/code&amp;gt; را بررسی کنید.&lt;br /&gt;
&lt;br /&gt;
=== هشدار install scripts ===&lt;br /&gt;
پیام blocked شدن &amp;lt;code&amp;gt;postinstall&amp;lt;/code&amp;gt; الزاماً خطا نیست. بررسی:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
npm install-scripts ls&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
اگر خروجی &amp;lt;code&amp;gt;No packages with unreviewed install scripts.&amp;lt;/code&amp;gt; بود، مورد pending وجود ندارد.&lt;br /&gt;
&lt;br /&gt;
=== custom UI هنگ می‌کند ===&lt;br /&gt;
&amp;lt;code&amp;gt;ctx.ui.custom()&amp;lt;/code&amp;gt; تا اجرای &amp;lt;code&amp;gt;done()&amp;lt;/code&amp;gt; باز می‌ماند. handler خروج مانند Escape اضافه کنید یا برای widget دائمی از &amp;lt;code&amp;gt;setWidget()&amp;lt;/code&amp;gt; استفاده کنید.&lt;br /&gt;
&lt;br /&gt;
=== Angular server قابل‌دسترسی نیست ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
pnpm start&lt;br /&gt;
Get-NetTCPConnection -State Listen&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== منابع رسمی ==&lt;br /&gt;
* [https://pi.dev/docs/latest Pi Documentation]&lt;br /&gt;
* [https://pi.dev/docs/latest/usage Using Pi]&lt;br /&gt;
* [https://pi.dev/docs/latest/windows Windows Setup]&lt;br /&gt;
* [https://pi.dev/docs/latest/providers Providers]&lt;br /&gt;
* [https://pi.dev/docs/latest/settings Settings]&lt;br /&gt;
* [https://pi.dev/docs/latest/extensions Extensions]&lt;br /&gt;
* [https://pi.dev/docs/latest/skills Skills]&lt;br /&gt;
* [https://pi.dev/docs/latest/packages Packages]&lt;br /&gt;
* [https://pi.dev/docs/latest/sdk SDK]&lt;br /&gt;
* [https://pi.dev/docs/latest/rpc RPC]&lt;br /&gt;
* [https://pi.dev/packages?type=extension Package Catalog]&lt;br /&gt;
* [https://github.com/earendil-works/pi Pi GitHub]&lt;br /&gt;
&lt;br /&gt;
[[رده:ابزارهای توسعه]]&lt;br /&gt;
[[رده:Angular]]&lt;br /&gt;
[[رده:.NET]]&lt;br /&gt;
[[رده:هوش مصنوعی]]&lt;/div&gt;</summary>
		<author><name>Karavi</name></author>
	</entry>
</feed>