@quolu/aishell 0.2.1 → 0.3.1
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.
package/README.md
CHANGED
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
# AIShell
|
|
2
2
|
|
|
3
|
-
AI
|
|
3
|
+
AIの要求を汎用shell文字列へ潰さず、SwiftのmacOS APIと指定された開発workerを通してOS状態を直接扱う実験プロジェクト。
|
|
4
4
|
|
|
5
5
|
## 現在できること
|
|
6
6
|
|
|
7
|
+
- 既定のdevelopment profileから、OS状態を束ねた5本の高密度toolを提供
|
|
8
|
+
- `workspace_snapshot`: 初回scanのbounded previewとFSEvents由来の変更delta、Git状態、主要context
|
|
9
|
+
- `read_context`: 複数fileのbudget付きread、SHA-256、continuation
|
|
10
|
+
- `search_context`: `rg` workerによるbudget付き検索context
|
|
11
|
+
- `run_check`: 直接process実行、主要診断、完全stdout/stderr artifact
|
|
12
|
+
- `artifact_read`: artifactのrange、tail、pattern周辺read
|
|
7
13
|
- 許可フォルダ内の一覧、検索、UTF-8テキスト読取
|
|
8
14
|
- フォルダ/テキスト作成、copy、move、rename、Trash
|
|
9
15
|
- stat、SHA-256、再帰tree
|
|
@@ -50,13 +56,15 @@ MCP実行ファイルはアプリ内に同梱される。
|
|
|
50
56
|
codex mcp add aishell -- /opt/homebrew/bin/aishell-mcp
|
|
51
57
|
```
|
|
52
58
|
|
|
53
|
-
|
|
59
|
+
新しく開始したCodexタスクでは、既定で上記5本のdevelopment toolを利用できる。従来のprimitiveを含む25 toolが必要な互換利用では、server環境へ`AISHELL_TOOL_PROFILE=full`を設定する。
|
|
54
60
|
|
|
55
61
|
```text
|
|
56
|
-
|
|
62
|
+
複数file・反復workspace観測ではworkspace_snapshotを使い、返されたcursorでdeltaを取って。32 KiBを超え得るbuild/test出力はrun_checkを使い、通常responseにない証拠だけartifact_readで読む。小さな単一file作業はCodex標準toolを使ってよい。
|
|
57
63
|
```
|
|
58
64
|
|
|
59
|
-
|
|
65
|
+
full profileの`runtime_status`は設定root、自動認識したGit worktree、実効root、相対パスの基準、停止状態、次の操作を返す。停止中でも`runtime_open_manager`で管理アプリを前面化できる。許可root変更と再開は管理画面で人が行い、停止中の通常操作は引き続き拒否される。
|
|
66
|
+
|
|
67
|
+
`run_check`は指定workerがfile更新・子process・network accessを行い得るため、MCPへdestructive/open-world capabilityとして掲示する。host設定によっては実行承認が必要になる。0.3のstdio serverは1 requestずつ処理し、timeout時のprocess tree終了は行うが、MCP cancellationと並列pollingは未実装である。
|
|
60
68
|
|
|
61
69
|
登録確認と解除は次のとおり。
|
|
62
70
|
|
|
@@ -74,6 +82,8 @@ scripts/package-app.sh release
|
|
|
74
82
|
|
|
75
83
|
`xcodegen generate` で `AIShell.xcodeproj` を再生成できる。現在の検証機ではXcode 26.6とCoreSimulatorのbuild versionが一致せず、`xcodebuild` はXCBuild開始待ちで停止するため、同じSwift 6.3.3 toolchainを使うSwiftPMでビルド・テストした。この環境問題はソースの成功扱いへ混ぜていない。
|
|
76
84
|
|
|
77
|
-
##
|
|
85
|
+
## 高密度runtimeの設計制約
|
|
86
|
+
|
|
87
|
+
`AIShellCore` と `AIShellMCP` はshellやAppleScript/JXAの文字列を解釈せず、開発プログラム名を`PATH`から実行ファイルURLへ解決し、引数配列と分離したままmacOSのprocess APIへ渡す。`sh`、`bash`、`zsh`、`dash`、`ksh`、`csh`、`tcsh`、`fish`、`env`、`osascript`というbasenameの直接起動と、パイプ、リダイレクト、shell展開は拒否する。
|
|
78
88
|
|
|
79
|
-
|
|
89
|
+
この拒否listはsecurity boundaryではない。改名したbinaryや、許可されたworkerが内部で起動する子processまでは阻止しない。目的は任意コード実行を安全化することではなく、AIの要求を安易な`zsh -lc`へ戻さず、executable、arguments、working directory、lifecycle、artifactを分離してAIShellが所有する高密度経路へ誘導することである。`env`も環境変数mapとAIShell自身の`PATH`解決で不要なwrapperなので同じ設計レールに含める。MCPは型付き要求をOS-owned runtimeへ渡すアダプターである。
|
|
Binary file
|
|
@@ -17,9 +17,9 @@
|
|
|
17
17
|
<key>CFBundlePackageType</key>
|
|
18
18
|
<string>APPL</string>
|
|
19
19
|
<key>CFBundleShortVersionString</key>
|
|
20
|
-
<string>0.
|
|
20
|
+
<string>0.3.1</string>
|
|
21
21
|
<key>CFBundleVersion</key>
|
|
22
|
-
<string>
|
|
22
|
+
<string>6</string>
|
|
23
23
|
<key>LSApplicationCategoryType</key>
|
|
24
24
|
<string>public.app-category.utilities</string>
|
|
25
25
|
<key>LSMinimumSystemVersion</key>
|
|
Binary file
|
|
@@ -10,10 +10,10 @@
|
|
|
10
10
|
<dict>
|
|
11
11
|
<key>cdhash</key>
|
|
12
12
|
<data>
|
|
13
|
-
|
|
13
|
+
FLGSmJXEwfXtdPx0sRj6U3C4sCo=
|
|
14
14
|
</data>
|
|
15
15
|
<key>requirement</key>
|
|
16
|
-
<string>cdhash H"
|
|
16
|
+
<string>cdhash H"14b1929895c4c1f5ed74fc74b118fa5370b8b02a"</string>
|
|
17
17
|
</dict>
|
|
18
18
|
</dict>
|
|
19
19
|
<key>rules</key>
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quolu/aishell",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "A native macOS
|
|
3
|
+
"version": "0.3.1",
|
|
4
|
+
"description": "A native macOS state runtime with high-density MCP tools for AI development",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"author": "quolu",
|
|
7
7
|
"repository": {
|