pi-cc-extensions 0.1.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 +141 -0
- package/assets/readme/context-preview.webp +0 -0
- package/assets/readme/context-usage.webp +0 -0
- package/assets/readme/hero.svg +101 -0
- package/assets/readme/session-reference.webp +0 -0
- package/assets/readme/showcase.webp +0 -0
- package/extensions/README.md +3 -0
- package/extensions/ccstyle-powerline/bash-mode/completion.ts +556 -0
- package/extensions/ccstyle-powerline/bash-mode/editor.ts +442 -0
- package/extensions/ccstyle-powerline/bash-mode/history.ts +151 -0
- package/extensions/ccstyle-powerline/bash-mode/shell-session.ts +286 -0
- package/extensions/ccstyle-powerline/bash-mode/transcript.ts +108 -0
- package/extensions/ccstyle-powerline/bash-mode/types.ts +59 -0
- package/extensions/ccstyle-powerline/colors.ts +69 -0
- package/extensions/ccstyle-powerline/context-usage.ts +46 -0
- package/extensions/ccstyle-powerline/fixed-editor/cluster.ts +107 -0
- package/extensions/ccstyle-powerline/fixed-editor/terminal-split.ts +1317 -0
- package/extensions/ccstyle-powerline/git-status.ts +218 -0
- package/extensions/ccstyle-powerline/icons.ts +181 -0
- package/extensions/ccstyle-powerline/powerline-config.ts +234 -0
- package/extensions/ccstyle-powerline/powerline.ts +3150 -0
- package/extensions/ccstyle-powerline/presets.ts +109 -0
- package/extensions/ccstyle-powerline/render-scheduler.ts +24 -0
- package/extensions/ccstyle-powerline/segments.ts +476 -0
- package/extensions/ccstyle-powerline/separators.ts +41 -0
- package/extensions/ccstyle-powerline/shortcuts.ts +57 -0
- package/extensions/ccstyle-powerline/theme.json +26 -0
- package/extensions/ccstyle-powerline/theme.ts +241 -0
- package/extensions/ccstyle-powerline/types.ts +197 -0
- package/extensions/ccstyle-powerline/welcome-dismiss.ts +34 -0
- package/extensions/ccstyle-powerline/welcome.ts +611 -0
- package/extensions/ccstyle-powerline/working-vibes.ts +695 -0
- package/extensions/claude-code-style.ts +987 -0
- package/extensions/context.ts +362 -0
- package/extensions/session-reference/README.md +28 -0
- package/extensions/session-reference/core.test.ts +74 -0
- package/extensions/session-reference/core.ts +258 -0
- package/extensions/session-reference/index.ts +379 -0
- package/package.json +33 -0
package/README.md
ADDED
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="./assets/readme/hero.svg" width="100%" alt="pi-cc-extensions:为 Pi 提供 Claude Code 风格界面、上下文洞察和历史 Session 引用">
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
<p align="center">
|
|
6
|
+
<a href="#安装"><img alt="Pi package" src="https://img.shields.io/badge/Pi-package-58B7FF?style=flat-square"></a>
|
|
7
|
+
<a href="./package.json"><img alt="Version 0.1.1" src="https://img.shields.io/badge/version-0.1.1-66E3C4?style=flat-square"></a>
|
|
8
|
+
<a href="#兼容性"><img alt="Node.js 22.19 or newer" src="https://img.shields.io/badge/Node.js-%E2%89%A522.19-66E3C4?style=flat-square"></a>
|
|
9
|
+
<a href="./extensions"><img alt="TypeScript extensions" src="https://img.shields.io/badge/TypeScript-extensions-3178C6?style=flat-square"></a>
|
|
10
|
+
</p>
|
|
11
|
+
|
|
12
|
+
<p align="center">
|
|
13
|
+
为 Pi 补充一套更接近 Claude Code 的终端工作流 · 上下文洞察 · 历史 Session 引用
|
|
14
|
+
</p>
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## 截图
|
|
19
|
+
|
|
20
|
+
<table>
|
|
21
|
+
<tr>
|
|
22
|
+
<td width="50%" align="center">
|
|
23
|
+
<img src="./assets/readme/showcase.webp" width="100%" alt="Pi 终端中的 Claude Code 风格扩展界面,包含工具调用摘要、Diff 预览和 Powerline 状态栏">
|
|
24
|
+
<br>
|
|
25
|
+
<sub><b>Claude Code 风格界面</b><br>工具调用摘要、Diff 预览与 Powerline 状态栏</sub>
|
|
26
|
+
</td>
|
|
27
|
+
<td width="50%" align="center">
|
|
28
|
+
<img src="./assets/readme/session-reference.webp" width="100%" alt="在 Pi 中通过 @ 补全选择历史 Session">
|
|
29
|
+
<br>
|
|
30
|
+
<sub><b>历史 Session 引用</b><br>通过 @ 补全快速找到并引用历史会话</sub>
|
|
31
|
+
</td>
|
|
32
|
+
</tr>
|
|
33
|
+
<tr>
|
|
34
|
+
<td width="50%" align="center">
|
|
35
|
+
<img src="./assets/readme/context-usage.webp" width="100%" alt="Pi 上下文窗口用量查看器">
|
|
36
|
+
<br>
|
|
37
|
+
<sub><b>上下文用量</b><br>查看 System prompt、Tools、Skills 等占用分布</sub>
|
|
38
|
+
</td>
|
|
39
|
+
<td width="50%" align="center">
|
|
40
|
+
<img src="./assets/readme/context-preview.webp" width="100%" alt="Pi 中展开查看 System Prompt 内容">
|
|
41
|
+
<br>
|
|
42
|
+
<sub><b>上下文预览</b><br>按类别展开查看实际注入的上下文内容</sub>
|
|
43
|
+
</td>
|
|
44
|
+
</tr>
|
|
45
|
+
</table>
|
|
46
|
+
|
|
47
|
+
## 功能
|
|
48
|
+
|
|
49
|
+
### Claude Code 风格界面
|
|
50
|
+
|
|
51
|
+
`extensions/claude-code-style.ts` 提供:
|
|
52
|
+
|
|
53
|
+
- Claude Code 风格的工具调用行与结果摘要
|
|
54
|
+
- Powerline 状态栏和工作状态提示
|
|
55
|
+
- Edit / Write 的 Diff 预览
|
|
56
|
+
- 工具结果的折叠与展开
|
|
57
|
+
- `/ccstyle` 配置命令和 `Ctrl+Shift+O` 快捷键
|
|
58
|
+
|
|
59
|
+
常用命令:
|
|
60
|
+
|
|
61
|
+
```text
|
|
62
|
+
/ccstyle # 切换开关
|
|
63
|
+
/ccstyle status # 查看状态
|
|
64
|
+
/ccstyle compact # 紧凑摘要
|
|
65
|
+
/ccstyle minimal # 最小化输出
|
|
66
|
+
/ccstyle powerline # 查看 Powerline 预设
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### 上下文窗口查看
|
|
70
|
+
|
|
71
|
+
`extensions/context.ts` 注册 `/context`,展示当前上下文窗口的使用分布,并可进一步预览:
|
|
72
|
+
|
|
73
|
+
- System prompt
|
|
74
|
+
- Tools
|
|
75
|
+
- Context files
|
|
76
|
+
- Skills
|
|
77
|
+
- User / assistant messages
|
|
78
|
+
- Tool results
|
|
79
|
+
- Compaction summaries
|
|
80
|
+
|
|
81
|
+
### 历史 Session 引用
|
|
82
|
+
|
|
83
|
+
`extensions/session-reference/index.ts` 将历史 Session 接入 `@` 补全:
|
|
84
|
+
|
|
85
|
+
1. 在提示词中输入 `@`。
|
|
86
|
+
2. 从 `[Session] ...` 或 `[SubAgent] ...` 补全项中选择要引用的上下文。
|
|
87
|
+
3. 提交时以 `@session:<session-id>` 引用其当前有效上下文。
|
|
88
|
+
|
|
89
|
+
Session 模糊查询默认显示 3 个候选;若已加载 `pi-subagents`,也可直接引用现有 SubAgent。一次提示词可以引用多个 Session;扩展会自动去重,并限制注入规模以避免上下文无限膨胀。更多细节见 [`extensions/session-reference/README.md`](./extensions/session-reference/README.md)。
|
|
90
|
+
|
|
91
|
+
## 安装
|
|
92
|
+
|
|
93
|
+
从 Git 安装指定版本:
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
pi install git:github.com/minuque/pi-cc-extensions@v0.1.0
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
安装后启动 Pi,即可使用上述扩展。更新到主分支版本:
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
pi install git:github.com/minuque/pi-cc-extensions
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
安装后可以先运行:
|
|
106
|
+
|
|
107
|
+
```text
|
|
108
|
+
/context
|
|
109
|
+
/ccstyle status
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## 本地开发
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
npm test
|
|
116
|
+
pi -e .
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
也可以把当前仓库作为本地 Pi 包安装:
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
pi install /absolute/path/to/pi-cc-extensions
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
修改扩展后,在 Pi 中执行:
|
|
126
|
+
|
|
127
|
+
```text
|
|
128
|
+
/reload
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
## 兼容性
|
|
132
|
+
|
|
133
|
+
- Node.js `>=22.19.0`
|
|
134
|
+
- 作为 Pi package 加载,入口由根目录 `package.json` 的 `pi.extensions` 显式声明
|
|
135
|
+
|
|
136
|
+
## 发布检查
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
npm test
|
|
140
|
+
npm pack --dry-run
|
|
141
|
+
```
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="400" viewBox="0 0 1200 400" role="img" aria-labelledby="title desc">
|
|
2
|
+
<title id="title">pi-cc-extensions
|
|
3
|
+
</title>
|
|
4
|
+
<desc id="desc">Claude 与 Pi 品牌图标组合连接三项扩展能力:Claude Code 风格界面、上下文洞察和历史 Session 引用。
|
|
5
|
+
</desc>
|
|
6
|
+
<defs>
|
|
7
|
+
<linearGradient id="panel" x1="0" y1="0" x2="1" y2="1">
|
|
8
|
+
<stop offset="0" stop-color="#0D131B"/>
|
|
9
|
+
<stop offset="1" stop-color="#090D12"/>
|
|
10
|
+
</linearGradient>
|
|
11
|
+
</defs>
|
|
12
|
+
<rect width="1200" height="400" rx="28" fill="url(#panel)"/>
|
|
13
|
+
<rect x="1" y="1" width="1198" height="398" rx="27" fill="none" stroke="#263241" stroke-width="2"/>
|
|
14
|
+
<g id="title-block" transform="translate(64 58)" font-family="-apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', sans-serif">
|
|
15
|
+
<g font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="16" font-weight="600" letter-spacing="1.4">
|
|
16
|
+
<text x="0" y="0" fill="#66E3C4">PI EXTENSION
|
|
17
|
+
</text>
|
|
18
|
+
</g>
|
|
19
|
+
<text x="0" y="82" fill="#F4F7FA" font-size="54" font-weight="750" letter-spacing="-1.5">pi-cc-extensions
|
|
20
|
+
</text>
|
|
21
|
+
<text x="0" y="130" fill="#B8C3CF" font-size="23">让 Pi 工作时表现像 Claude code 🙃
|
|
22
|
+
</text>
|
|
23
|
+
<g transform="translate(0 180)" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="17">
|
|
24
|
+
<rect width="488" height="58" rx="12" fill="#111923" stroke="#2B3948"/>
|
|
25
|
+
<text x="20" y="36" fill="#66E3C4">›
|
|
26
|
+
</text>
|
|
27
|
+
<text x="44" y="36" fill="#F4F7FA">/ccstyle
|
|
28
|
+
</text>
|
|
29
|
+
<text x="155" y="36" fill="#536172">·
|
|
30
|
+
</text>
|
|
31
|
+
<text x="178" y="36" fill="#7CC7FF">/context
|
|
32
|
+
</text>
|
|
33
|
+
<text x="292" y="36" fill="#536172">·
|
|
34
|
+
</text>
|
|
35
|
+
<text x="315" y="36" fill="#F2C879">@session:
|
|
36
|
+
</text>
|
|
37
|
+
<rect x="411" y="22" width="9" height="20" rx="2" fill="#66E3C4"/>
|
|
38
|
+
</g>
|
|
39
|
+
<g transform="translate(0 282)" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="15">
|
|
40
|
+
<circle cx="6" cy="-5" r="6" fill="#66E3C4"/>
|
|
41
|
+
<text x="22" y="0" fill="#8B9AAD">3 EXTENSIONS
|
|
42
|
+
</text>
|
|
43
|
+
<text x="160" y="0" fill="#3B4857">•
|
|
44
|
+
</text>
|
|
45
|
+
<text x="183" y="0" fill="#8B9AAD">TYPESCRIPT
|
|
46
|
+
</text>
|
|
47
|
+
<text x="303" y="0" fill="#3B4857">•
|
|
48
|
+
</text>
|
|
49
|
+
<text x="326" y="0" fill="#8B9AAD">NODE ≥ 22.19
|
|
50
|
+
</text>
|
|
51
|
+
</g>
|
|
52
|
+
</g>
|
|
53
|
+
<g id="extension-map" transform="translate(662 48)" font-family="-apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', sans-serif">
|
|
54
|
+
<g id="claude-pi-mark" transform="translate(0 0)">
|
|
55
|
+
<!-- Official Claude starburst vector; source: Anthropic Claude brand mark. -->
|
|
56
|
+
<path transform="translate(2 2) scale(.34)" fill="#D97757" d="m19.6 66.5 19.7-11 .3-1-.3-.5h-1l-3.3-.2-11.2-.3L14 53l-9.5-.5-2.4-.5L0 49l.2-1.5 2-1.3 2.9.2 6.3.5 9.5.6 6.9.4L38 49.1h1.6l.2-.7-.5-.4-.4-.4L29 41l-10.6-7-5.6-4.1-3-2-1.5-2-.6-4.2 2.7-3 3.7.3.9.2 3.7 2.9 8 6.1L37 36l1.5 1.2.6-.4.1-.3-.7-1.1L33 25l-6-10.4-2.7-4.3-.7-2.6c-.3-1-.4-2-.4-3l3-4.2L28 0l4.2.6L33.8 2l2.6 6 4.1 9.3L47 29.9l2 3.8 1 3.4.3 1h.7v-.5l.5-7.2 1-8.7 1-11.2.3-3.2 1.6-3.8 3-2L61 2.6l2 2.9-.3 1.8-1.1 7.7L59 27.1l-1.5 8.2h.9l1-1.1 4.1-5.4 6.9-8.6 3-3.5L77 13l2.3-1.8h4.3l3.1 4.7-1.4 4.9-4.4 5.6-3.7 4.7-5.3 7.1-3.2 5.7.3.4h.7l12-2.6 6.4-1.1 7.6-1.3 3.5 1.6.4 1.6-1.4 3.4-8.2 2-9.6 2-14.3 3.3-.2.1.2.3 6.4.6 2.8.2h6.8l12.6 1 3.3 2 1.9 2.7-.3 2-5.1 2.6-6.8-1.6-16-3.8-5.4-1.3h-.8v.4l4.6 4.5 8.3 7.5L89 80.1l.5 2.4-1.3 2-1.4-.2-9.2-7-3.6-3-8-6.8h-.5v.7l1.8 2.7 9.8 14.7.5 4.5-.7 1.4-2.6 1-2.7-.6-5.8-8-6-9-4.7-8.2-.5.4-2.9 30.2-1.3 1.5-3 1.2-2.5-2-1.4-3 1.4-6.2 1.6-8 1.3-6.4 1.2-7.9.7-2.6v-.2H49L43 72l-9 12.3-7.2 7.6-1.7.7-3-1.5.3-2.8L24 86l10-12.8 6-7.9 4-4.6-.1-.5h-.3L17.2 77.4l-4.7.6-2-2 .2-3 1-1 8-5.5Z"/>
|
|
57
|
+
<path d="M50 3V35" stroke="#3A4857" stroke-width="2"/>
|
|
58
|
+
<!-- Official Pi logo vectors; source: https://pi.dev/logo-auto.svg -->
|
|
59
|
+
<g transform="translate(52 -5) scale(.06)" fill="#F4F7FA">
|
|
60
|
+
<path fill-rule="evenodd" d="M165.29 165.29H517.36V400H400V517.36H282.65V634.72H165.29ZM282.65 282.65V400H400V282.65Z"/>
|
|
61
|
+
<path d="M517.36 400H634.72V634.72H517.36Z"/>
|
|
62
|
+
</g>
|
|
63
|
+
<text x="104" y="15" fill="#F4F7FA" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="15" font-weight="700" letter-spacing=".8">CLAUDE CODE UX
|
|
64
|
+
</text>
|
|
65
|
+
<text x="104" y="34" fill="#7F8D9C" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="13" letter-spacing="1.2">FOR PI
|
|
66
|
+
</text>
|
|
67
|
+
</g>
|
|
68
|
+
<g transform="translate(0 52)">
|
|
69
|
+
<rect width="474" height="82" rx="14" fill="#101821" stroke="#2C3A48"/>
|
|
70
|
+
<rect width="5" height="82" rx="2.5" fill="#66E3C4"/>
|
|
71
|
+
<text x="26" y="32" fill="#F4F7FA" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="18" font-weight="700">/ccstyle
|
|
72
|
+
</text>
|
|
73
|
+
<text x="26" y="59" fill="#8B9AAD" font-size="16">工具摘要 · Diff · 状态栏
|
|
74
|
+
</text>
|
|
75
|
+
<circle cx="438" cy="29" r="9" fill="#66E3C4" opacity=".18"/>
|
|
76
|
+
<path d="M434 29l3 3 6-7" fill="none" stroke="#66E3C4" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
77
|
+
</g>
|
|
78
|
+
<g transform="translate(0 144)">
|
|
79
|
+
<rect width="474" height="82" rx="14" fill="#101821" stroke="#2C3A48"/>
|
|
80
|
+
<rect width="5" height="82" rx="2.5" fill="#7CC7FF"/>
|
|
81
|
+
<text x="26" y="32" fill="#F4F7FA" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="18" font-weight="700">/context
|
|
82
|
+
</text>
|
|
83
|
+
<text x="26" y="59" fill="#8B9AAD" font-size="16">用量分布 · 注入内容预览
|
|
84
|
+
</text>
|
|
85
|
+
<g transform="translate(416 23)">
|
|
86
|
+
<rect width="42" height="14" rx="7" fill="#1C2B38"/>
|
|
87
|
+
<rect width="27" height="14" rx="7" fill="#7CC7FF"/>
|
|
88
|
+
</g>
|
|
89
|
+
</g>
|
|
90
|
+
<g transform="translate(0 236)">
|
|
91
|
+
<rect width="474" height="82" rx="14" fill="#101821" stroke="#2C3A48"/>
|
|
92
|
+
<rect width="5" height="82" rx="2.5" fill="#F2C879"/>
|
|
93
|
+
<text x="26" y="32" fill="#F4F7FA" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="18" font-weight="700">@session:
|
|
94
|
+
</text>
|
|
95
|
+
<text x="26" y="59" fill="#8B9AAD" font-size="16">历史补全 · 跨会话引用
|
|
96
|
+
</text>
|
|
97
|
+
<text x="431" y="40" fill="#F2C879" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="26">@
|
|
98
|
+
</text>
|
|
99
|
+
</g>
|
|
100
|
+
</g>
|
|
101
|
+
</svg>
|
|
Binary file
|
|
Binary file
|