@shog-lab/pi-toolkit 0.1.1 → 0.1.2
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 +1 -9
- package/package.json +2 -3
- package/dist/extensions/jimeng/index.d.ts +0 -11
- package/dist/extensions/jimeng/index.d.ts.map +0 -1
- package/dist/extensions/jimeng/index.js +0 -130
- package/dist/extensions/jimeng/index.js.map +0 -1
- package/dist/extensions/jimeng/package.json +0 -12
package/README.md
CHANGED
|
@@ -8,13 +8,12 @@ A drop-in package adding several commonly-used external tool integrations to any
|
|
|
8
8
|
|
|
9
9
|
| Extension | Tool name(s) | Backend | Required env |
|
|
10
10
|
|---|---|---|---|
|
|
11
|
-
| `jimeng` | `jimeng_generate` | Volcengine Jimeng T2I API | `JIMENG_ACCESS_KEY`, `JIMENG_SECRET_KEY` |
|
|
12
11
|
| `web_search` | `web_search` | mmx CLI | (mmx config) |
|
|
13
12
|
| `understand_image` | `understand_image` | mmx vision CLI | (mmx config) |
|
|
14
13
|
| `mcp-bridge` | `<server>_<tool>` per MCP server | Any MCP server | `mcp-servers.json` config |
|
|
15
14
|
| `subagent` | `spawn_subagent` | child pi process | (none) |
|
|
16
15
|
|
|
17
|
-
|
|
16
|
+
`mcp-bridge` silently skips registration when no `mcp-servers.json` exists, so install pi-toolkit even if you only use some extensions.
|
|
18
17
|
|
|
19
18
|
Plus `agent-browser` CLI is shipped as a dependency. Its SKILL.md is symlinked from upstream so the agent knows how to use it via Bash.
|
|
20
19
|
|
|
@@ -28,13 +27,6 @@ npm i -D @shog-lab/pi-toolkit
|
|
|
28
27
|
|
|
29
28
|
## Configure
|
|
30
29
|
|
|
31
|
-
### Jimeng (image generation)
|
|
32
|
-
|
|
33
|
-
```bash
|
|
34
|
-
export JIMENG_ACCESS_KEY="AKLT..."
|
|
35
|
-
export JIMENG_SECRET_KEY="..."
|
|
36
|
-
```
|
|
37
|
-
|
|
38
30
|
### MCP servers (figma, filesystem, etc.)
|
|
39
31
|
|
|
40
32
|
Create `mcp-servers.json` (or `.pi/mcp-servers.json`) at the host repo root:
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shog-lab/pi-toolkit",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "Common pi-coding-agent extensions
|
|
3
|
+
"version": "0.1.2",
|
|
4
|
+
"description": "Common pi-coding-agent extensions: web search + image understanding (mmx), MCP server bridge, sub-agent spawn, browser automation (agent-browser).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"scripts": {
|
|
@@ -25,7 +25,6 @@
|
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"@sinclair/typebox": "^0.34.0",
|
|
28
|
-
"@volcengine/openapi": "^1.0.0",
|
|
29
28
|
"agent-browser": "^0.27.0",
|
|
30
29
|
"@shog-lab/pi-utils": "*"
|
|
31
30
|
},
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Jimeng (即梦) Image Generation Extension for pi-coding-agent
|
|
3
|
-
*
|
|
4
|
-
* Registers a `jimeng_generate` tool that generates images via
|
|
5
|
-
* Volcengine's Jimeng T2I API (text-to-image).
|
|
6
|
-
*
|
|
7
|
-
* Requires JIMENG_ACCESS_KEY and JIMENG_SECRET_KEY environment variables.
|
|
8
|
-
*/
|
|
9
|
-
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
10
|
-
export default function jimengExtension(pi: ExtensionAPI): void;
|
|
11
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../extensions/jimeng/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAwDpE,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EAAE,EAAE,YAAY,QA6GvD"}
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Jimeng (即梦) Image Generation Extension for pi-coding-agent
|
|
3
|
-
*
|
|
4
|
-
* Registers a `jimeng_generate` tool that generates images via
|
|
5
|
-
* Volcengine's Jimeng T2I API (text-to-image).
|
|
6
|
-
*
|
|
7
|
-
* Requires JIMENG_ACCESS_KEY and JIMENG_SECRET_KEY environment variables.
|
|
8
|
-
*/
|
|
9
|
-
import { Type } from "@sinclair/typebox";
|
|
10
|
-
import { Signer } from "@volcengine/openapi";
|
|
11
|
-
import { mkdirSync, writeFileSync } from "node:fs";
|
|
12
|
-
import { dirname, join } from "node:path";
|
|
13
|
-
const API_HOST = "visual.volcengineapi.com";
|
|
14
|
-
const API_VERSION = "2022-08-31";
|
|
15
|
-
const MODEL_KEY = "jimeng_t2i_v40";
|
|
16
|
-
const MAX_POLL_ATTEMPTS = 60;
|
|
17
|
-
const POLL_INTERVAL_MS = 2000;
|
|
18
|
-
function signRequest(accessKey, secretKey, action, body) {
|
|
19
|
-
const requestData = {
|
|
20
|
-
method: "POST",
|
|
21
|
-
region: "cn-north-1",
|
|
22
|
-
params: { Action: action, Version: API_VERSION },
|
|
23
|
-
headers: {
|
|
24
|
-
"Content-Type": "application/json",
|
|
25
|
-
Host: API_HOST,
|
|
26
|
-
},
|
|
27
|
-
body,
|
|
28
|
-
};
|
|
29
|
-
const signer = new Signer(requestData, "cv");
|
|
30
|
-
signer.addAuthorization({ accessKeyId: accessKey, secretKey });
|
|
31
|
-
return requestData.headers;
|
|
32
|
-
}
|
|
33
|
-
async function apiCall(accessKey, secretKey, action, body) {
|
|
34
|
-
const headers = signRequest(accessKey, secretKey, action, body);
|
|
35
|
-
const url = `https://${API_HOST}/?Action=${action}&Version=${API_VERSION}`;
|
|
36
|
-
const res = await fetch(url, { method: "POST", headers, body });
|
|
37
|
-
if (!res.ok)
|
|
38
|
-
throw new Error(`Jimeng API error: ${res.status}`);
|
|
39
|
-
return (await res.json());
|
|
40
|
-
}
|
|
41
|
-
export default function jimengExtension(pi) {
|
|
42
|
-
const accessKey = process.env.JIMENG_ACCESS_KEY;
|
|
43
|
-
const secretKey = process.env.JIMENG_SECRET_KEY;
|
|
44
|
-
if (!accessKey || !secretKey) {
|
|
45
|
-
// Silently skip if not configured
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
pi.registerTool({
|
|
49
|
-
name: "jimeng_generate",
|
|
50
|
-
label: "Jimeng Image",
|
|
51
|
-
description: "Generate an image from a text prompt using Jimeng (即梦) AI. Returns the file path of the generated image.",
|
|
52
|
-
promptSnippet: "Generate AI images from text descriptions (Chinese prompts work best)",
|
|
53
|
-
parameters: Type.Object({
|
|
54
|
-
prompt: Type.String({ description: "Image description (Chinese recommended for best results)" }),
|
|
55
|
-
width: Type.Optional(Type.Number({ description: "Image width in pixels (default: 1024)" })),
|
|
56
|
-
height: Type.Optional(Type.Number({ description: "Image height in pixels (default: 1024)" })),
|
|
57
|
-
filename: Type.Optional(Type.String({ description: "Output filename (default: jimeng-{timestamp}.png)" })),
|
|
58
|
-
}),
|
|
59
|
-
async execute(_toolCallId, params, signal, onUpdate) {
|
|
60
|
-
const width = params.width || 1024;
|
|
61
|
-
const height = params.height || 1024;
|
|
62
|
-
const filename = params.filename || `jimeng-${Date.now()}.png`;
|
|
63
|
-
const outputPath = join(process.env.PI_MIND_DIR || (process.cwd() + "/.pi-mind"), filename);
|
|
64
|
-
// Step 1: Submit task
|
|
65
|
-
onUpdate?.({ content: [{ type: "text", text: "提交生成任务..." }] });
|
|
66
|
-
const submitBody = JSON.stringify({
|
|
67
|
-
req_key: MODEL_KEY,
|
|
68
|
-
prompt: params.prompt,
|
|
69
|
-
width,
|
|
70
|
-
height,
|
|
71
|
-
scale: 0.5,
|
|
72
|
-
force_single: true,
|
|
73
|
-
});
|
|
74
|
-
const submitResult = await apiCall(accessKey, secretKey, "CVSync2AsyncSubmitTask", submitBody);
|
|
75
|
-
if (submitResult.code !== 10000) {
|
|
76
|
-
return { content: [{ type: "text", text: `生成失败: ${submitResult.message || "Unknown error"}` }] };
|
|
77
|
-
}
|
|
78
|
-
const taskId = submitResult.data?.task_id;
|
|
79
|
-
if (!taskId) {
|
|
80
|
-
return { content: [{ type: "text", text: "生成失败: 未返回 task_id" }] };
|
|
81
|
-
}
|
|
82
|
-
// Step 2: Poll for result
|
|
83
|
-
for (let attempt = 0; attempt < MAX_POLL_ATTEMPTS; attempt++) {
|
|
84
|
-
if (signal?.aborted) {
|
|
85
|
-
return { content: [{ type: "text", text: "已取消" }] };
|
|
86
|
-
}
|
|
87
|
-
const queryBody = JSON.stringify({
|
|
88
|
-
req_key: MODEL_KEY,
|
|
89
|
-
task_id: taskId,
|
|
90
|
-
req_json: JSON.stringify({ return_url: true, logo_info: { add_logo: false } }),
|
|
91
|
-
});
|
|
92
|
-
const result = await apiCall(accessKey, secretKey, "CVSync2AsyncGetResult", queryBody);
|
|
93
|
-
if (result.code === 10000) {
|
|
94
|
-
const status = result.data?.status;
|
|
95
|
-
if (status === "done") {
|
|
96
|
-
const urls = result.data?.image_urls;
|
|
97
|
-
if (!urls?.length) {
|
|
98
|
-
return { content: [{ type: "text", text: "生成完成但未返回图片 URL" }] };
|
|
99
|
-
}
|
|
100
|
-
// Step 3: Download image
|
|
101
|
-
onUpdate?.({ content: [{ type: "text", text: "下载图片..." }] });
|
|
102
|
-
const imgRes = await fetch(urls[0]);
|
|
103
|
-
if (!imgRes.ok) {
|
|
104
|
-
return { content: [{ type: "text", text: `图片下载失败: ${imgRes.status}` }] };
|
|
105
|
-
}
|
|
106
|
-
const buffer = Buffer.from(await imgRes.arrayBuffer());
|
|
107
|
-
mkdirSync(dirname(outputPath), { recursive: true });
|
|
108
|
-
writeFileSync(outputPath, buffer);
|
|
109
|
-
return {
|
|
110
|
-
content: [{ type: "text", text: `图片已生成并保存到 ${outputPath} (${width}x${height}, ${buffer.length} bytes)。\n图片URL: ${urls[0]}\n请使用 send_image 工具将图片发送给用户。` }],
|
|
111
|
-
};
|
|
112
|
-
}
|
|
113
|
-
if (status === "not_found" || status === "expired") {
|
|
114
|
-
return { content: [{ type: "text", text: `生成失败: 任务 ${status}` }] };
|
|
115
|
-
}
|
|
116
|
-
// Still generating
|
|
117
|
-
if (attempt % 5 === 0) {
|
|
118
|
-
onUpdate?.({ content: [{ type: "text", text: `生成中... (${attempt * 2}s)` }] });
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
else {
|
|
122
|
-
return { content: [{ type: "text", text: `查询失败: ${result.message || "Unknown error"}` }] };
|
|
123
|
-
}
|
|
124
|
-
await new Promise((r) => setTimeout(r, POLL_INTERVAL_MS));
|
|
125
|
-
}
|
|
126
|
-
return { content: [{ type: "text", text: "生成超时(120s)" }] };
|
|
127
|
-
},
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../extensions/jimeng/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@shog-lab/pi-toolkit-jimeng",
|
|
3
|
-
"version": "0.1.0",
|
|
4
|
-
"private": true,
|
|
5
|
-
"description": "Jimeng (即梦) image generation via Volcengine API.",
|
|
6
|
-
"type": "module",
|
|
7
|
-
"main": "index.js",
|
|
8
|
-
"dependencies": {
|
|
9
|
-
"@volcengine/openapi": "^1.0.0",
|
|
10
|
-
"@sinclair/typebox": "^0.34.0"
|
|
11
|
-
}
|
|
12
|
-
}
|