openyida 2026.6.11 → 2026.6.22-beta.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 +2 -1
- package/bin/yida.js +2 -0
- package/lib/conversation/collector.js +2 -0
- package/lib/core/env.js +1 -0
- package/lib/core/utils.js +10 -0
- package/package.json +3 -2
- package/scripts/postinstall.js +10 -2
package/README.md
CHANGED
|
@@ -69,7 +69,7 @@ OpenYida detects the active agent environment, workspace path, login state, and
|
|
|
69
69
|
openyida login
|
|
70
70
|
```
|
|
71
71
|
|
|
72
|
-
In Codex, QoderWork, Qoder, Wukong, Claude Code, OpenCode, Cursor, and other detected AI tools, OpenYida first tries local Chrome/Edge/Chromium CDP when no valid cached login exists. If local CDP is unavailable, it falls back to an AI-dialog QR handoff. The agent should render `qr_image_markdown` or paste `agent_response_markdown` directly in the conversation so the QR code is visible, then run `poll_command` after the user scans it with DingTalk. If image rendering is unavailable, fall back to `qr_url`. The explicit `openyida login --browser` command still prefers CDP first and uses Playwright as an optional browser fallback.
|
|
72
|
+
In Codex, QoderWork, Qoder, Wukong, Claude Code, MuleRun, OpenCode, Cursor, and other detected AI tools, OpenYida first tries local Chrome/Edge/Chromium CDP when no valid cached login exists. If local CDP is unavailable, it falls back to an AI-dialog QR handoff. The agent should render `qr_image_markdown` or paste `agent_response_markdown` directly in the conversation so the QR code is visible, then run `poll_command` after the user scans it with DingTalk. If image rendering is unavailable, fall back to `qr_url`. The explicit `openyida login --browser` command still prefers CDP first and uses Playwright as an optional browser fallback.
|
|
73
73
|
|
|
74
74
|
When the user names a target Yida entry URL, pass it to the login command so OpenYida can select the matching environment and cookie file. For example, Alibaba intranet Yida uses `cookies-alibaba.json`:
|
|
75
75
|
|
|
@@ -126,6 +126,7 @@ export PATH="$HOME/.real/.bin/node/bin:$PATH"
|
|
|
126
126
|
|------|---------|
|
|
127
127
|
| [Codex](https://openai.com/codex/) | Full support |
|
|
128
128
|
| [Claude Code](https://claude.ai/code) | Full support |
|
|
129
|
+
| [MuleRun](https://mulerun.com) | Full support |
|
|
129
130
|
| [Aone Copilot](https://copilot.code.alibaba-inc.com) | Full support |
|
|
130
131
|
| [OpenCode](https://opencode.ai) | Full support |
|
|
131
132
|
| [Cursor](https://cursor.com/) | Full support |
|
package/bin/yida.js
CHANGED
|
@@ -314,7 +314,9 @@ function collect(options = {}) {
|
|
|
314
314
|
// 场景2:自动检测对话文件
|
|
315
315
|
const toolName = env?.activeToolName || '';
|
|
316
316
|
const isClaudeCode = toolName.toLowerCase().includes('claude') ||
|
|
317
|
+
toolName.toLowerCase().includes('mulerun') ||
|
|
317
318
|
process.env.CLAUDE_CODE ||
|
|
319
|
+
process.env.MULERUN_CHAT_ID ||
|
|
318
320
|
fs.existsSync(path.join(os.homedir(), '.claude'));
|
|
319
321
|
|
|
320
322
|
if (isClaudeCode) {
|
package/lib/core/env.js
CHANGED
|
@@ -38,6 +38,7 @@ function getInstalledTools() {
|
|
|
38
38
|
displayName: 'OpenCode',
|
|
39
39
|
},
|
|
40
40
|
{ dirName: '.claude', displayName: 'Claude Code' },
|
|
41
|
+
{ dirName: '.mulerun', displayName: 'MuleRun' },
|
|
41
42
|
{ dirName: '.aone_copilot', displayName: 'Aone Copilot' },
|
|
42
43
|
{ dirName: '.cursor', displayName: 'Cursor' },
|
|
43
44
|
{ dirName: '.qoderwork', displayName: 'QoderWork' },
|
package/lib/core/utils.js
CHANGED
|
@@ -90,6 +90,16 @@ function detectActiveTool() {
|
|
|
90
90
|
};
|
|
91
91
|
}
|
|
92
92
|
|
|
93
|
+
// MuleRun(内部基于 Claude Code SDK,会同时设置 CLAUDE_CODE 变量,需先于 Claude Code 检测)
|
|
94
|
+
if (env.MULERUN_CHAT_ID || env.MULE_DATA_DIR) {
|
|
95
|
+
return {
|
|
96
|
+
tool: 'mulerun',
|
|
97
|
+
displayName: 'MuleRun',
|
|
98
|
+
dirName: '.mulerun',
|
|
99
|
+
workspaceRoot: path.join(cwd, 'project'),
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
|
|
93
103
|
// Claude Code
|
|
94
104
|
if (env.CLAUDE_CODE_ENTRYPOINT || env.CLAUDE_CODE) {
|
|
95
105
|
return {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "openyida",
|
|
3
|
-
"version": "2026.6.
|
|
3
|
+
"version": "2026.6.22-beta.1",
|
|
4
4
|
"description": "OpenYida CLI - 宜搭低代码 AI 开发工具(安装即用,零配置)",
|
|
5
5
|
"bin": {
|
|
6
6
|
"openyida": "bin/yida.js",
|
|
@@ -57,7 +57,8 @@
|
|
|
57
57
|
"low-code",
|
|
58
58
|
"ai",
|
|
59
59
|
"qoder",
|
|
60
|
-
"wukong"
|
|
60
|
+
"wukong",
|
|
61
|
+
"mulerun"
|
|
61
62
|
],
|
|
62
63
|
"author": "OpenYida Contributors",
|
|
63
64
|
"license": "MIT",
|
package/scripts/postinstall.js
CHANGED
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
* ~/.aone_copilot/skills/yida-skills/ ← <package>/yida-skills (copy)
|
|
16
16
|
* ~/.cursor/skills/yida-skills/ ← <package>/yida-skills (copy)
|
|
17
17
|
* ~/.qoder/skills/yida-skills/ ← <package>/yida-skills (copy)
|
|
18
|
+
* ~/.mulerun/skills/yida-skills/ ← <package>/yida-skills (copy)
|
|
18
19
|
*
|
|
19
20
|
* 悟空(Wukong)通过手动上传技能,不在此安装。
|
|
20
21
|
*/
|
|
@@ -433,6 +434,13 @@ safeExec(() => {
|
|
|
433
434
|
}
|
|
434
435
|
});
|
|
435
436
|
|
|
437
|
+
// MuleRun — 仅在已安装时安装
|
|
438
|
+
safeExec(() => {
|
|
439
|
+
if (fs.existsSync(path.join(HOME_DIR, '.mulerun'))) {
|
|
440
|
+
installSkillsToTool(path.join(HOME_DIR, '.mulerun'));
|
|
441
|
+
}
|
|
442
|
+
});
|
|
443
|
+
|
|
436
444
|
// 悟空(Wukong)— 跳过安装,只清理旧版遗留
|
|
437
445
|
safeExec(() => {
|
|
438
446
|
cleanupLegacy(path.join(HOME_DIR, '.real', 'yida-skills'));
|
|
@@ -490,7 +498,7 @@ function printWelcomeGuide(isFirstInstall, hasCodexPlugin) {
|
|
|
490
498
|
console.log('');
|
|
491
499
|
console.log(`${BOLD}${CYAN} 🚀 开启 AI 问答模式${RESET}`);
|
|
492
500
|
console.log(
|
|
493
|
-
' 在 Codex / Claude Code / Aone Copilot / Cursor 等 AI 工具中直接对话:',
|
|
501
|
+
' 在 Codex / Claude Code / MuleRun / Aone Copilot / Cursor 等 AI 工具中直接对话:',
|
|
494
502
|
);
|
|
495
503
|
console.log('');
|
|
496
504
|
|
|
@@ -511,7 +519,7 @@ function printWelcomeGuide(isFirstInstall, hasCodexPlugin) {
|
|
|
511
519
|
console.log(`${BOLD}${BLUE} 📖 基础使用步骤${RESET}`);
|
|
512
520
|
console.log('');
|
|
513
521
|
console.log(
|
|
514
|
-
` ${BOLD}Step 1${RESET} 打开你的 AI 编程工具(Codex / Claude Code / Cursor 等)`,
|
|
522
|
+
` ${BOLD}Step 1${RESET} 打开你的 AI 编程工具(Codex / Claude Code / MuleRun / Cursor 等)`,
|
|
515
523
|
);
|
|
516
524
|
console.log(` ${BOLD}Step 2${RESET} 直接用自然语言描述你想要的应用`);
|
|
517
525
|
console.log(
|