@vionwilliams/agent-os 1.0.0-alpha.16 → 1.0.0-alpha.18
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 +18 -4
- package/dist/cli.js +115 -64
- package/package.json +1 -2
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
> 智能任务通用工作系统 · 多模型路由 + 意图编排 + 多智能体协调 + DataHub + 可编程面板 + LLM 知识编译器
|
|
4
4
|
|
|
5
|
-
**Status**: `1.0.0-alpha.
|
|
5
|
+
**Status**: `1.0.0-alpha.18` · Beta 测试版 · npm 公共包可用
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -56,15 +56,29 @@ curl -fsSL https://raw.githubusercontent.com/VIONWILLIAMS/agent-os-install/main/
|
|
|
56
56
|
bash install-agent-os-mac.sh
|
|
57
57
|
```
|
|
58
58
|
|
|
59
|
-
脚本会自动检查并安装 Node.js、Bun、Agent-OS CLI
|
|
59
|
+
脚本会自动检查并安装 Node.js、Bun、Agent-OS CLI,并配置终端 PATH 与 `aos` 快捷命令。
|
|
60
60
|
|
|
61
|
-
|
|
61
|
+
安装完成后重启终端,再验证 CLI:
|
|
62
62
|
|
|
63
63
|
```bash
|
|
64
64
|
agent-os --version
|
|
65
65
|
```
|
|
66
66
|
|
|
67
|
-
成功时会显示 `1.0.0-alpha.
|
|
67
|
+
成功时会显示 `1.0.0-alpha.18 (Agent-OS)` 或更新版本。
|
|
68
|
+
|
|
69
|
+
然后打开 Agent-OS:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
agent-os
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
进入 Agent-OS CLI 界面后输入:
|
|
76
|
+
|
|
77
|
+
```text
|
|
78
|
+
/model
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
在 `/model` 模式里选择或添加 DeepSeek,并粘贴 DeepSeek API Key。DeepSeek 配置不在安装脚本里完成,而是在进入 Agent-OS 后完成。
|
|
68
82
|
|
|
69
83
|
### 2. 手动 npm 安装
|
|
70
84
|
|
package/dist/cli.js
CHANGED
|
@@ -93307,7 +93307,7 @@ var init_system = __esm(() => {
|
|
|
93307
93307
|
AGENT_SDK_CLAUDE_CODE_PRESET_PREFIX,
|
|
93308
93308
|
AGENT_SDK_PREFIX
|
|
93309
93309
|
];
|
|
93310
|
-
AGENT_OS_VERSION = typeof MACRO !== "undefined" ? "1.0.0-alpha.
|
|
93310
|
+
AGENT_OS_VERSION = typeof MACRO !== "undefined" ? "1.0.0-alpha.18" : "dev";
|
|
93311
93311
|
CLI_SYSPROMPT_PREFIXES = new Set(CLI_SYSPROMPT_PREFIX_VALUES);
|
|
93312
93312
|
});
|
|
93313
93313
|
|
|
@@ -93751,7 +93751,7 @@ function getClaudeCodeUserAgent() {
|
|
|
93751
93751
|
}
|
|
93752
93752
|
var AGENT_OS_VERSION2;
|
|
93753
93753
|
var init_userAgent = __esm(() => {
|
|
93754
|
-
AGENT_OS_VERSION2 = typeof MACRO !== "undefined" ? "1.0.0-alpha.
|
|
93754
|
+
AGENT_OS_VERSION2 = typeof MACRO !== "undefined" ? "1.0.0-alpha.18" : "dev";
|
|
93755
93755
|
});
|
|
93756
93756
|
|
|
93757
93757
|
// src/utils/http.ts
|
|
@@ -93832,7 +93832,7 @@ var init_http2 = __esm(() => {
|
|
|
93832
93832
|
init_auth();
|
|
93833
93833
|
init_userAgent();
|
|
93834
93834
|
init_workloadContext();
|
|
93835
|
-
AGENT_OS_VERSION3 = typeof MACRO !== "undefined" ? "1.0.0-alpha.
|
|
93835
|
+
AGENT_OS_VERSION3 = typeof MACRO !== "undefined" ? "1.0.0-alpha.18" : "dev";
|
|
93836
93836
|
});
|
|
93837
93837
|
|
|
93838
93838
|
// src/services/api/router/userProviders.ts
|
|
@@ -94112,8 +94112,8 @@ var init_keyDetector = __esm(() => {
|
|
|
94112
94112
|
name: "deepseek",
|
|
94113
94113
|
displayName: "DeepSeek",
|
|
94114
94114
|
baseUrl: "https://api.deepseek.com",
|
|
94115
|
-
models: ["deepseek-v4-
|
|
94116
|
-
defaultModel: "deepseek-v4-
|
|
94115
|
+
models: ["deepseek-v4-pro", "deepseek-v4-flash", "deepseek-chat", "deepseek-reasoner"],
|
|
94116
|
+
defaultModel: "deepseek-v4-pro",
|
|
94117
94117
|
envKey: "DEEPSEEK_API_KEY",
|
|
94118
94118
|
type: "deepseek"
|
|
94119
94119
|
},
|
|
@@ -94359,7 +94359,7 @@ function buildDefaultDeepSeekConfig() {
|
|
|
94359
94359
|
if (!deepseek)
|
|
94360
94360
|
return null;
|
|
94361
94361
|
const baseUrl = process.env.MODEL_BASE_URL?.trim() || deepseek.baseUrl;
|
|
94362
|
-
const model = normalizeModelNameForProvider("deepseek", process.env.MODEL_NAME) || getDeepSeekProfileDefaultModel(isDeepSeekProviderConfig("deepseek", { type: deepseek.type, baseUrl }) ? process.env.DEEPSEEK_PROFILE : undefined) || deepseek.defaultModel || deepseek.models[0] || "deepseek-v4-
|
|
94362
|
+
const model = normalizeModelNameForProvider("deepseek", process.env.MODEL_NAME) || getDeepSeekProfileDefaultModel(isDeepSeekProviderConfig("deepseek", { type: deepseek.type, baseUrl }) ? process.env.DEEPSEEK_PROFILE : undefined) || deepseek.defaultModel || deepseek.models[0] || "deepseek-v4-pro";
|
|
94363
94363
|
return normalizeConfig({
|
|
94364
94364
|
default: `deepseek/${model}`,
|
|
94365
94365
|
providers: {
|
|
@@ -207166,7 +207166,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
207166
207166
|
init_settings2();
|
|
207167
207167
|
init_slowOperations();
|
|
207168
207168
|
init_uuid();
|
|
207169
|
-
VERSION4 = typeof MACRO !== "undefined" ? "1.0.0-alpha.
|
|
207169
|
+
VERSION4 = typeof MACRO !== "undefined" ? "1.0.0-alpha.18" : "unknown";
|
|
207170
207170
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
207171
207171
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
207172
207172
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -207296,7 +207296,7 @@ function Feedback({
|
|
|
207296
207296
|
platform: env3.platform,
|
|
207297
207297
|
gitRepo: envInfo.isGit,
|
|
207298
207298
|
terminal: env3.terminal,
|
|
207299
|
-
version: "1.0.0-alpha.
|
|
207299
|
+
version: "1.0.0-alpha.18",
|
|
207300
207300
|
transcript: normalizeMessagesForAPI(messages),
|
|
207301
207301
|
errors: sanitizedErrors,
|
|
207302
207302
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -207480,7 +207480,7 @@ function Feedback({
|
|
|
207480
207480
|
", ",
|
|
207481
207481
|
env3.terminal,
|
|
207482
207482
|
", v",
|
|
207483
|
-
"1.0.0-alpha.
|
|
207483
|
+
"1.0.0-alpha.18"
|
|
207484
207484
|
]
|
|
207485
207485
|
})
|
|
207486
207486
|
]
|
|
@@ -207586,7 +207586,7 @@ ${sanitizedDescription}
|
|
|
207586
207586
|
` + `**Environment Info**
|
|
207587
207587
|
` + `- Platform: ${env3.platform}
|
|
207588
207588
|
` + `- Terminal: ${env3.terminal}
|
|
207589
|
-
` + `- Version: ${"1.0.0-alpha.
|
|
207589
|
+
` + `- Version: ${"1.0.0-alpha.18"}
|
|
207590
207590
|
` + `- Feedback ID: ${feedbackId}
|
|
207591
207591
|
` + `
|
|
207592
207592
|
**Errors**
|
|
@@ -259971,8 +259971,8 @@ var init_toolAnalytics = __esm(() => {
|
|
|
259971
259971
|
init_agentContext();
|
|
259972
259972
|
init_slowOperations();
|
|
259973
259973
|
init_teammate();
|
|
259974
|
-
AGENT_OS_VERSION4 = typeof MACRO !== "undefined" ? "1.0.0-alpha.
|
|
259975
|
-
AGENT_OS_BUILD_TIME = typeof MACRO !== "undefined" ? "2026-05-
|
|
259974
|
+
AGENT_OS_VERSION4 = typeof MACRO !== "undefined" ? "1.0.0-alpha.18" : "dev";
|
|
259975
|
+
AGENT_OS_BUILD_TIME = typeof MACRO !== "undefined" ? "2026-05-20T10:43:03Z" : undefined;
|
|
259976
259976
|
BUILTIN_MCP_SERVER_NAMES = new Set([]);
|
|
259977
259977
|
TOOL_INPUT_MAX_JSON_CHARS = 4 * 1024;
|
|
259978
259978
|
FILE_COMMANDS = new Set([
|
|
@@ -274576,7 +274576,7 @@ function getInstallationEnv() {
|
|
|
274576
274576
|
return;
|
|
274577
274577
|
}
|
|
274578
274578
|
function getClaudeCodeVersion() {
|
|
274579
|
-
return "1.0.0-alpha.
|
|
274579
|
+
return "1.0.0-alpha.18";
|
|
274580
274580
|
}
|
|
274581
274581
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
274582
274582
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -297294,7 +297294,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
297294
297294
|
const client = new Client({
|
|
297295
297295
|
name: "claude-code",
|
|
297296
297296
|
title: "Agent-OS",
|
|
297297
|
-
version: "1.0.0-alpha.
|
|
297297
|
+
version: "1.0.0-alpha.18",
|
|
297298
297298
|
description: "Anthropic's agentic coding tool",
|
|
297299
297299
|
websiteUrl: PRODUCT_URL
|
|
297300
297300
|
}, {
|
|
@@ -297647,7 +297647,7 @@ var init_client4 = __esm(() => {
|
|
|
297647
297647
|
const client = new Client({
|
|
297648
297648
|
name: "claude-code",
|
|
297649
297649
|
title: "Agent-OS",
|
|
297650
|
-
version: "1.0.0-alpha.
|
|
297650
|
+
version: "1.0.0-alpha.18",
|
|
297651
297651
|
description: "Anthropic's agentic coding tool",
|
|
297652
297652
|
websiteUrl: PRODUCT_URL
|
|
297653
297653
|
}, {
|
|
@@ -352067,8 +352067,8 @@ var init_resolver2 = __esm(() => {
|
|
|
352067
352067
|
flash: "gemini/gemini-2.5-flash",
|
|
352068
352068
|
gemini: "gemini/gemini-2.5-flash",
|
|
352069
352069
|
"gemini-pro": "gemini/gemini-2.5-pro-preview-05-06",
|
|
352070
|
-
deepseek: "deepseek/deepseek-v4-
|
|
352071
|
-
ds: "deepseek/deepseek-v4-
|
|
352070
|
+
deepseek: "deepseek/deepseek-v4-pro",
|
|
352071
|
+
ds: "deepseek/deepseek-v4-pro",
|
|
352072
352072
|
"deepseek-pro": "deepseek/deepseek-v4-pro",
|
|
352073
352073
|
"ds-pro": "deepseek/deepseek-v4-pro",
|
|
352074
352074
|
"deepseek-flash": "deepseek/deepseek-v4-flash",
|
|
@@ -396508,6 +396508,7 @@ function buildContextBuffMessage(decision) {
|
|
|
396508
396508
|
role: "system",
|
|
396509
396509
|
content: [
|
|
396510
396510
|
"Agent-OS DeepSeek Buff Runtime context package.",
|
|
396511
|
+
`Selected model: ${decision.model}. Requested model: ${decision.requestedModel}.`,
|
|
396511
396512
|
`Profile: ${decision.profile}.`,
|
|
396512
396513
|
`Task type: ${decision.taskType}. Context budget: ${decision.contextBudget}.`,
|
|
396513
396514
|
`Tool budget: ${decision.toolBudget}; selected tools: ${decision.selectedToolNames.join(", ") || "none"}.`,
|
|
@@ -396893,7 +396894,7 @@ function buildDeepSeekBuffStatus() {
|
|
|
396893
396894
|
const policy = getDeepSeekBuffPolicyStatus(dataset);
|
|
396894
396895
|
const checks4 = [];
|
|
396895
396896
|
const defaultModel = provider3?.defaultModel || "";
|
|
396896
|
-
addStatusCheck(checks4, "
|
|
396897
|
+
addStatusCheck(checks4, "pro_default", defaultModel === DEEPSEEK_V4_PRO_MODEL ? "ok" : "fail", defaultModel === DEEPSEEK_V4_PRO_MODEL ? "Built-in DeepSeek provider defaults to deepseek-v4-pro." : `Built-in DeepSeek provider default is ${defaultModel || "missing"}; expected ${DEEPSEEK_V4_PRO_MODEL}.`);
|
|
396897
396898
|
addStatusCheck(checks4, "flash_profile", DEEPSEEK_PROFILE_CONFIGS["v4-flash-tools"]?.model === DEEPSEEK_V4_FLASH_MODEL ? "ok" : "fail", "v4-flash-tools is the Flash mainline profile.");
|
|
396898
396899
|
addStatusCheck(checks4, "dataset", datasetMode === "off" ? "skip" : dataset.writable ? "ok" : "fail", datasetMode === "off" ? "Local dataset collection is disabled." : dataset.writable ? `Local dataset is writable at ${dataset.dataDir}.` : `Local dataset is not writable at ${dataset.dataDir}.`);
|
|
396899
396900
|
addStatusCheck(checks4, "policy", mode === "policy-net" && !policy.trained ? "warn" : "ok", mode === "policy-net" && !policy.trained ? "policy-net mode requested, but no trained local policy net is active; rules mode remains the safe fallback." : "Rules policy is available; policy-net training is gated by offline eval.");
|
|
@@ -396904,7 +396905,7 @@ function buildDeepSeekBuffStatus() {
|
|
|
396904
396905
|
datasetMode,
|
|
396905
396906
|
escalationMode,
|
|
396906
396907
|
defaultModel,
|
|
396907
|
-
recommendedModel:
|
|
396908
|
+
recommendedModel: DEEPSEEK_V4_PRO_MODEL,
|
|
396908
396909
|
defaultProfile: "v4-flash-tools",
|
|
396909
396910
|
dataset,
|
|
396910
396911
|
policy,
|
|
@@ -416283,7 +416284,7 @@ function getInvokedBinary() {
|
|
|
416283
416284
|
async function getDoctorDiagnostic() {
|
|
416284
416285
|
return {
|
|
416285
416286
|
installationType: "package-manager",
|
|
416286
|
-
version: "1.0.0-alpha.
|
|
416287
|
+
version: "1.0.0-alpha.18",
|
|
416287
416288
|
installationPath: process.argv[1] ?? "",
|
|
416288
416289
|
invokedBinary: getInvokedBinary(),
|
|
416289
416290
|
configInstallMethod: "not set",
|
|
@@ -416688,7 +416689,7 @@ function buildPrimarySection() {
|
|
|
416688
416689
|
});
|
|
416689
416690
|
return [{
|
|
416690
416691
|
label: "Version",
|
|
416691
|
-
value: "1.0.0-alpha.
|
|
416692
|
+
value: "1.0.0-alpha.18"
|
|
416692
416693
|
}, {
|
|
416693
416694
|
label: "Session name",
|
|
416694
416695
|
value: nameValue
|
|
@@ -420331,7 +420332,7 @@ function Config({
|
|
|
420331
420332
|
}
|
|
420332
420333
|
})
|
|
420333
420334
|
}) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_runtime169.jsx(ChannelDowngradeDialog, {
|
|
420334
|
-
currentVersion: "1.0.0-alpha.
|
|
420335
|
+
currentVersion: "1.0.0-alpha.18",
|
|
420335
420336
|
onChoice: (choice) => {
|
|
420336
420337
|
setShowSubmenu(null);
|
|
420337
420338
|
setTabsHidden(false);
|
|
@@ -420343,7 +420344,7 @@ function Config({
|
|
|
420343
420344
|
autoUpdatesChannel: "stable"
|
|
420344
420345
|
};
|
|
420345
420346
|
if (choice === "stay") {
|
|
420346
|
-
newSettings.minimumVersion = "1.0.0-alpha.
|
|
420347
|
+
newSettings.minimumVersion = "1.0.0-alpha.18";
|
|
420347
420348
|
}
|
|
420348
420349
|
updateSettingsForSource("userSettings", newSettings);
|
|
420349
420350
|
setSettingsData((prev_27) => ({
|
|
@@ -428334,7 +428335,7 @@ function HelpV2(t0) {
|
|
|
428334
428335
|
let t6;
|
|
428335
428336
|
if ($3[31] !== tabs) {
|
|
428336
428337
|
t6 = /* @__PURE__ */ jsx_runtime195.jsx(Tabs, {
|
|
428337
|
-
title: `Agent-OS v${"1.0.0-alpha.
|
|
428338
|
+
title: `Agent-OS v${"1.0.0-alpha.18"}`,
|
|
428338
428339
|
color: "professionalBlue",
|
|
428339
428340
|
defaultTab: "general",
|
|
428340
428341
|
children: tabs
|
|
@@ -431462,7 +431463,7 @@ var init_user = __esm(() => {
|
|
|
431462
431463
|
deviceId,
|
|
431463
431464
|
sessionId: getSessionId(),
|
|
431464
431465
|
email: getEmail(),
|
|
431465
|
-
appVersion: "1.0.0-alpha.
|
|
431466
|
+
appVersion: "1.0.0-alpha.18",
|
|
431466
431467
|
platform: getHostPlatformForAnalytics(),
|
|
431467
431468
|
organizationUuid,
|
|
431468
431469
|
accountUuid,
|
|
@@ -451713,7 +451714,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
451713
451714
|
return [];
|
|
451714
451715
|
}
|
|
451715
451716
|
}
|
|
451716
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.0.0-alpha.
|
|
451717
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.0.0-alpha.18") {
|
|
451717
451718
|
if (process.env.USER_TYPE === "ant") {
|
|
451718
451719
|
const changelog = "";
|
|
451719
451720
|
if (changelog) {
|
|
@@ -451740,7 +451741,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.0.0-alp
|
|
|
451740
451741
|
releaseNotes
|
|
451741
451742
|
};
|
|
451742
451743
|
}
|
|
451743
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.0.0-alpha.
|
|
451744
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.0.0-alpha.18") {
|
|
451744
451745
|
if (process.env.USER_TYPE === "ant") {
|
|
451745
451746
|
const changelog = "";
|
|
451746
451747
|
if (changelog) {
|
|
@@ -452867,7 +452868,7 @@ function getRecentActivitySync() {
|
|
|
452867
452868
|
return cachedActivity;
|
|
452868
452869
|
}
|
|
452869
452870
|
function getLogoDisplayData() {
|
|
452870
|
-
const version2 = process.env.DEMO_VERSION ?? "1.0.0-alpha.
|
|
452871
|
+
const version2 = process.env.DEMO_VERSION ?? "1.0.0-alpha.18";
|
|
452871
452872
|
const serverUrl = getDirectConnectServerUrl();
|
|
452872
452873
|
const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
|
|
452873
452874
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -454082,7 +454083,7 @@ function LogoV2() {
|
|
|
454082
454083
|
if ($3[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
454083
454084
|
t2 = () => {
|
|
454084
454085
|
const currentConfig = getGlobalConfig();
|
|
454085
|
-
if (currentConfig.lastReleaseNotesSeen === "1.0.0-alpha.
|
|
454086
|
+
if (currentConfig.lastReleaseNotesSeen === "1.0.0-alpha.18") {
|
|
454086
454087
|
return;
|
|
454087
454088
|
}
|
|
454088
454089
|
saveGlobalConfig(_temp328);
|
|
@@ -454748,12 +454749,12 @@ function AgentOsPoster() {
|
|
|
454748
454749
|
});
|
|
454749
454750
|
}
|
|
454750
454751
|
function _temp328(current) {
|
|
454751
|
-
if (current.lastReleaseNotesSeen === "1.0.0-alpha.
|
|
454752
|
+
if (current.lastReleaseNotesSeen === "1.0.0-alpha.18") {
|
|
454752
454753
|
return current;
|
|
454753
454754
|
}
|
|
454754
454755
|
return {
|
|
454755
454756
|
...current,
|
|
454756
|
-
lastReleaseNotesSeen: "1.0.0-alpha.
|
|
454757
|
+
lastReleaseNotesSeen: "1.0.0-alpha.18"
|
|
454757
454758
|
};
|
|
454758
454759
|
}
|
|
454759
454760
|
function _temp245(s_0) {
|
|
@@ -481330,7 +481331,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
|
|
|
481330
481331
|
smapsRollup,
|
|
481331
481332
|
platform: process.platform,
|
|
481332
481333
|
nodeVersion: process.version,
|
|
481333
|
-
ccVersion: "1.0.0-alpha.
|
|
481334
|
+
ccVersion: "1.0.0-alpha.18"
|
|
481334
481335
|
};
|
|
481335
481336
|
}
|
|
481336
481337
|
async function performHeapDump(trigger = "manual", dumpNumber = 0) {
|
|
@@ -481903,7 +481904,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
481903
481904
|
var call58 = async () => {
|
|
481904
481905
|
return {
|
|
481905
481906
|
type: "text",
|
|
481906
|
-
value: `${"1.0.0-alpha.
|
|
481907
|
+
value: `${"1.0.0-alpha.18"} (built ${"2026-05-20T10:43:03Z"})`
|
|
481907
481908
|
};
|
|
481908
481909
|
}, version2, version_default;
|
|
481909
481910
|
var init_version = __esm(() => {
|
|
@@ -484810,7 +484811,8 @@ function addProvider(name, providerConfig, setAsDefault) {
|
|
|
484810
484811
|
addedAt: providerConfig.addedAt ?? config4.providers[name]?.addedAt ?? new Date().toISOString()
|
|
484811
484812
|
};
|
|
484812
484813
|
if (setAsDefault || !config4.default || Object.keys(config4.providers).length === 1) {
|
|
484813
|
-
const
|
|
484814
|
+
const configuredDefault = typeof providerConfig.defaultModel === "string" ? providerConfig.defaultModel.trim() : "";
|
|
484815
|
+
const model = configuredDefault || providerConfig.models?.[0] || name;
|
|
484814
484816
|
config4.default = `${name}/${model}`;
|
|
484815
484817
|
}
|
|
484816
484818
|
saveConfig2(config4);
|
|
@@ -484824,7 +484826,9 @@ function removeProvider(name) {
|
|
|
484824
484826
|
const remaining = Object.keys(config4.providers);
|
|
484825
484827
|
if (remaining.length > 0) {
|
|
484826
484828
|
const nextProvider = remaining[0];
|
|
484827
|
-
const
|
|
484829
|
+
const nextProviderConfig = config4.providers[nextProvider];
|
|
484830
|
+
const configuredDefault = typeof nextProviderConfig?.defaultModel === "string" ? nextProviderConfig.defaultModel.trim() : "";
|
|
484831
|
+
const nextModel = configuredDefault || nextProviderConfig?.models?.[0] || nextProvider;
|
|
484828
484832
|
config4.default = `${nextProvider}/${nextModel}`;
|
|
484829
484833
|
} else {
|
|
484830
484834
|
config4.default = "";
|
|
@@ -485004,6 +485008,7 @@ function ModelSetup({ onComplete, isFirstLaunch }) {
|
|
|
485004
485008
|
type: p2.type || (p2.name === "anthropic" ? "anthropic" : "openai-compatible"),
|
|
485005
485009
|
baseUrl: p2.baseUrl,
|
|
485006
485010
|
apiKey,
|
|
485011
|
+
defaultModel: p2.defaultModel,
|
|
485007
485012
|
models: p2.models
|
|
485008
485013
|
}, Boolean(isFirstLaunch));
|
|
485009
485014
|
}, [isFirstLaunch]);
|
|
@@ -485750,8 +485755,30 @@ function buildRouterModelOptions(router) {
|
|
|
485750
485755
|
}
|
|
485751
485756
|
];
|
|
485752
485757
|
}
|
|
485753
|
-
function
|
|
485754
|
-
|
|
485758
|
+
function resolveConfiguredRouterModel(router, spec) {
|
|
485759
|
+
const requested = spec.trim();
|
|
485760
|
+
const allSpecs = router.listAll().map((entry) => `${entry.provider}/${entry.model}`);
|
|
485761
|
+
if (allSpecs.includes(requested))
|
|
485762
|
+
return requested;
|
|
485763
|
+
const aliasByInput = {
|
|
485764
|
+
pro: "deepseek/deepseek-v4-pro",
|
|
485765
|
+
"v4-pro": "deepseek/deepseek-v4-pro",
|
|
485766
|
+
"deepseek-pro": "deepseek/deepseek-v4-pro",
|
|
485767
|
+
"ds-pro": "deepseek/deepseek-v4-pro",
|
|
485768
|
+
flash: "deepseek/deepseek-v4-flash",
|
|
485769
|
+
"v4-flash": "deepseek/deepseek-v4-flash",
|
|
485770
|
+
"deepseek-flash": "deepseek/deepseek-v4-flash",
|
|
485771
|
+
"ds-flash": "deepseek/deepseek-v4-flash"
|
|
485772
|
+
};
|
|
485773
|
+
const alias = aliasByInput[requested.toLowerCase()];
|
|
485774
|
+
if (alias && allSpecs.includes(alias))
|
|
485775
|
+
return alias;
|
|
485776
|
+
const suffixMatches = allSpecs.filter((candidate) => {
|
|
485777
|
+
const candidateLower = candidate.toLowerCase();
|
|
485778
|
+
const lower = requested.toLowerCase();
|
|
485779
|
+
return candidateLower.endsWith(`/${lower}`) || candidateLower.endsWith(`-${lower}`);
|
|
485780
|
+
});
|
|
485781
|
+
return suffixMatches.length === 1 ? suffixMatches[0] : null;
|
|
485755
485782
|
}
|
|
485756
485783
|
function renderModelLabel(model) {
|
|
485757
485784
|
const rendered = renderDefaultModelSetting(model ?? getDefaultMainLoopModelSetting());
|
|
@@ -485792,15 +485819,16 @@ var import_compiler_runtime253, React108, jsx_runtime329, ROUTER_ADD_MODEL_OPTIO
|
|
|
485792
485819
|
return;
|
|
485793
485820
|
}
|
|
485794
485821
|
if (args && args !== "?" && args !== "help") {
|
|
485795
|
-
|
|
485796
|
-
|
|
485822
|
+
const resolvedSpec = resolveConfiguredRouterModel(router, args);
|
|
485823
|
+
if (!resolvedSpec) {
|
|
485824
|
+
onDone(`Model '${args}' is not configured in model-router.json. Try /model, /model pro, or /model flash.`, { display: "system" });
|
|
485797
485825
|
return;
|
|
485798
485826
|
}
|
|
485799
|
-
router.setModelOverride(
|
|
485800
|
-
updateSettingsForSource("userSettings", { model:
|
|
485827
|
+
router.setModelOverride(resolvedSpec);
|
|
485828
|
+
updateSettingsForSource("userSettings", { model: resolvedSpec });
|
|
485801
485829
|
const current2 = router.getCurrentModel();
|
|
485802
485830
|
syncRuntimeModel(current2);
|
|
485803
|
-
onDone(`Set model to ${current2}`, { display: "system" });
|
|
485831
|
+
onDone(`Set model to ${current2} (manual override)`, { display: "system" });
|
|
485804
485832
|
return;
|
|
485805
485833
|
}
|
|
485806
485834
|
if (COMMON_INFO_ARGS.includes(args)) {
|
|
@@ -491368,7 +491396,7 @@ function generateHtmlReport(data, insights) {
|
|
|
491368
491396
|
</html>`;
|
|
491369
491397
|
}
|
|
491370
491398
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
491371
|
-
const version3 = typeof MACRO !== "undefined" ? "1.0.0-alpha.
|
|
491399
|
+
const version3 = typeof MACRO !== "undefined" ? "1.0.0-alpha.18" : "unknown";
|
|
491372
491400
|
const remote_hosts_collected = remoteStats?.hosts.filter((h3) => h3.sessionCount > 0).map((h3) => h3.name);
|
|
491373
491401
|
const facets_summary = {
|
|
491374
491402
|
total: facets.size,
|
|
@@ -512561,7 +512589,8 @@ class ModelRouter {
|
|
|
512561
512589
|
});
|
|
512562
512590
|
const startedAt = Date.now();
|
|
512563
512591
|
try {
|
|
512564
|
-
const
|
|
512592
|
+
const runtimeRequest = this.attachRuntimeSelectedModelContext(buff.request, providerName, buff.model);
|
|
512593
|
+
const result = await provider3.complete({ ...runtimeRequest, model: buff.model, stream: false });
|
|
512565
512594
|
recordDeepSeekBuffSample({
|
|
512566
512595
|
decision: buff.decision,
|
|
512567
512596
|
outcome: "success",
|
|
@@ -512601,7 +512630,8 @@ class ModelRouter {
|
|
|
512601
512630
|
const startedAt = Date.now();
|
|
512602
512631
|
let finalResult;
|
|
512603
512632
|
try {
|
|
512604
|
-
|
|
512633
|
+
const runtimeRequest = this.attachRuntimeSelectedModelContext(buff.request, providerName, buff.model);
|
|
512634
|
+
for await (const event of provider3.stream({ ...runtimeRequest, model: buff.model, stream: true })) {
|
|
512605
512635
|
if (event.type === "error") {
|
|
512606
512636
|
throw new Error(event.error || "unknown provider error");
|
|
512607
512637
|
}
|
|
@@ -512691,6 +512721,27 @@ class ModelRouter {
|
|
|
512691
512721
|
})
|
|
512692
512722
|
};
|
|
512693
512723
|
}
|
|
512724
|
+
attachRuntimeSelectedModelContext(request2, providerName, model) {
|
|
512725
|
+
const providerConfig = this.config.providers[providerName];
|
|
512726
|
+
if (!providerConfig || !isDeepSeekProviderConfig(providerName, providerConfig)) {
|
|
512727
|
+
return request2;
|
|
512728
|
+
}
|
|
512729
|
+
const selectedModel = `${providerName}/${model}`;
|
|
512730
|
+
return {
|
|
512731
|
+
...request2,
|
|
512732
|
+
messages: [
|
|
512733
|
+
{
|
|
512734
|
+
role: "system",
|
|
512735
|
+
content: `Agent-OS runtime selected model: ${selectedModel}. ` + "If the user asks which model is currently in use, answer with this selected model."
|
|
512736
|
+
},
|
|
512737
|
+
...request2.messages
|
|
512738
|
+
],
|
|
512739
|
+
providerExtras: {
|
|
512740
|
+
...request2.providerExtras,
|
|
512741
|
+
agentOsSelectedModel: selectedModel
|
|
512742
|
+
}
|
|
512743
|
+
};
|
|
512744
|
+
}
|
|
512694
512745
|
}
|
|
512695
512746
|
function normalizeModelSpec(value) {
|
|
512696
512747
|
if (typeof value !== "string") {
|
|
@@ -515543,7 +515594,7 @@ var init_filesystem = __esm(() => {
|
|
|
515543
515594
|
});
|
|
515544
515595
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
515545
515596
|
const nonce = randomBytes18(16).toString("hex");
|
|
515546
|
-
return join146(getClaudeTempDir(), "bundled-skills", "1.0.0-alpha.
|
|
515597
|
+
return join146(getClaudeTempDir(), "bundled-skills", "1.0.0-alpha.18", nonce);
|
|
515547
515598
|
});
|
|
515548
515599
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
515549
515600
|
});
|
|
@@ -521472,7 +521523,7 @@ function computeFingerprintFromMessages(messages) {
|
|
|
521472
521523
|
}
|
|
521473
521524
|
var AGENT_OS_VERSION5, FINGERPRINT_SALT = "59cf53e54c78";
|
|
521474
521525
|
var init_fingerprint = __esm(() => {
|
|
521475
|
-
AGENT_OS_VERSION5 = typeof MACRO !== "undefined" ? "1.0.0-alpha.
|
|
521526
|
+
AGENT_OS_VERSION5 = typeof MACRO !== "undefined" ? "1.0.0-alpha.18" : "dev";
|
|
521476
521527
|
});
|
|
521477
521528
|
|
|
521478
521529
|
// src/services/compact/apiMicrocompact.ts
|
|
@@ -523226,7 +523277,7 @@ async function sideQuery(opts) {
|
|
|
523226
523277
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
523227
523278
|
}
|
|
523228
523279
|
const messageText = extractFirstUserMessageText(messages);
|
|
523229
|
-
const fingerprint = computeFingerprint(messageText, "1.0.0-alpha.
|
|
523280
|
+
const fingerprint = computeFingerprint(messageText, "1.0.0-alpha.18");
|
|
523230
523281
|
const attributionHeader = getAttributionHeader(fingerprint);
|
|
523231
523282
|
const systemBlocks = [
|
|
523232
523283
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -525145,7 +525196,7 @@ function appendToLog(path24, message) {
|
|
|
525145
525196
|
cwd: getFsImplementation().cwd(),
|
|
525146
525197
|
userType: process.env.USER_TYPE,
|
|
525147
525198
|
sessionId: getSessionId(),
|
|
525148
|
-
version: "1.0.0-alpha.
|
|
525199
|
+
version: "1.0.0-alpha.18"
|
|
525149
525200
|
};
|
|
525150
525201
|
getLogWriter(path24).write(messageWithTimestamp);
|
|
525151
525202
|
}
|
|
@@ -528123,7 +528174,7 @@ function getTelemetryAttributes() {
|
|
|
528123
528174
|
attributes["session.id"] = sessionId;
|
|
528124
528175
|
}
|
|
528125
528176
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
528126
|
-
attributes["app.version"] = "1.0.0-alpha.
|
|
528177
|
+
attributes["app.version"] = "1.0.0-alpha.18";
|
|
528127
528178
|
}
|
|
528128
528179
|
if (envDynamic.terminal) {
|
|
528129
528180
|
attributes["terminal.type"] = envDynamic.terminal;
|
|
@@ -538267,7 +538318,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
538267
538318
|
slash_commands: inputs.commands.filter((c5) => c5.userInvocable !== false).map((c5) => c5.name),
|
|
538268
538319
|
apiKeySource: getAnthropicApiKeyWithSource().source,
|
|
538269
538320
|
betas: getSdkBetas(),
|
|
538270
|
-
claude_code_version: "1.0.0-alpha.
|
|
538321
|
+
claude_code_version: "1.0.0-alpha.18",
|
|
538271
538322
|
output_style: outputStyle2,
|
|
538272
538323
|
agents: inputs.agents.map((agent) => agent.agentType),
|
|
538273
538324
|
skills: inputs.skills.filter((s2) => s2.userInvocable !== false).map((skill) => skill.name),
|
|
@@ -560736,7 +560787,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
560736
560787
|
project_dir: getOriginalCwd(),
|
|
560737
560788
|
added_dirs: addedDirs
|
|
560738
560789
|
},
|
|
560739
|
-
version: "1.0.0-alpha.
|
|
560790
|
+
version: "1.0.0-alpha.18",
|
|
560740
560791
|
output_style: {
|
|
560741
560792
|
name: outputStyleName
|
|
560742
560793
|
},
|
|
@@ -584088,7 +584139,7 @@ function WelcomeV2() {
|
|
|
584088
584139
|
dimColor: true,
|
|
584089
584140
|
children: [
|
|
584090
584141
|
"v",
|
|
584091
|
-
"1.0.0-alpha.
|
|
584142
|
+
"1.0.0-alpha.18",
|
|
584092
584143
|
" "
|
|
584093
584144
|
]
|
|
584094
584145
|
})
|
|
@@ -584288,7 +584339,7 @@ function WelcomeV2() {
|
|
|
584288
584339
|
dimColor: true,
|
|
584289
584340
|
children: [
|
|
584290
584341
|
"v",
|
|
584291
|
-
"1.0.0-alpha.
|
|
584342
|
+
"1.0.0-alpha.18",
|
|
584292
584343
|
" "
|
|
584293
584344
|
]
|
|
584294
584345
|
})
|
|
@@ -584514,7 +584565,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
584514
584565
|
dimColor: true,
|
|
584515
584566
|
children: [
|
|
584516
584567
|
"v",
|
|
584517
|
-
"1.0.0-alpha.
|
|
584568
|
+
"1.0.0-alpha.18",
|
|
584518
584569
|
" "
|
|
584519
584570
|
]
|
|
584520
584571
|
});
|
|
@@ -584768,7 +584819,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
584768
584819
|
dimColor: true,
|
|
584769
584820
|
children: [
|
|
584770
584821
|
"v",
|
|
584771
|
-
"1.0.0-alpha.
|
|
584822
|
+
"1.0.0-alpha.18",
|
|
584772
584823
|
" "
|
|
584773
584824
|
]
|
|
584774
584825
|
});
|
|
@@ -586234,7 +586285,7 @@ function completeOnboarding() {
|
|
|
586234
586285
|
saveGlobalConfig((current) => ({
|
|
586235
586286
|
...current,
|
|
586236
586287
|
hasCompletedOnboarding: true,
|
|
586237
|
-
lastOnboardingVersion: "1.0.0-alpha.
|
|
586288
|
+
lastOnboardingVersion: "1.0.0-alpha.18"
|
|
586238
586289
|
}));
|
|
586239
586290
|
}
|
|
586240
586291
|
function showDialog(root3, renderer) {
|
|
@@ -594697,8 +594748,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
594697
594748
|
}
|
|
594698
594749
|
async function checkEnvLessBridgeMinVersion() {
|
|
594699
594750
|
const cfg = await getEnvLessBridgeConfig();
|
|
594700
|
-
if (cfg.min_version && lt("1.0.0-alpha.
|
|
594701
|
-
return `Your version of Agent-OS (${"1.0.0-alpha.
|
|
594751
|
+
if (cfg.min_version && lt("1.0.0-alpha.18", cfg.min_version)) {
|
|
594752
|
+
return `Your version of Agent-OS (${"1.0.0-alpha.18"}) is too old for Remote Control.
|
|
594702
594753
|
Version ${cfg.min_version} or higher is required. Run \`agent-os update\` to update.`;
|
|
594703
594754
|
}
|
|
594704
594755
|
return null;
|
|
@@ -595171,7 +595222,7 @@ async function initBridgeCore(params) {
|
|
|
595171
595222
|
const rawApi = createBridgeApiClient({
|
|
595172
595223
|
baseUrl,
|
|
595173
595224
|
getAccessToken,
|
|
595174
|
-
runnerVersion: "1.0.0-alpha.
|
|
595225
|
+
runnerVersion: "1.0.0-alpha.18",
|
|
595175
595226
|
onDebug: logForDebugging,
|
|
595176
595227
|
onAuth401,
|
|
595177
595228
|
getTrustedDeviceToken
|
|
@@ -600850,7 +600901,7 @@ async function startMCPServer(cwd3, debug2, verbose) {
|
|
|
600850
600901
|
setCwd(cwd3);
|
|
600851
600902
|
const server = new Server({
|
|
600852
600903
|
name: "claude/tengu",
|
|
600853
|
-
version: "1.0.0-alpha.
|
|
600904
|
+
version: "1.0.0-alpha.18"
|
|
600854
600905
|
}, {
|
|
600855
600906
|
capabilities: {
|
|
600856
600907
|
tools: {}
|
|
@@ -606361,7 +606412,7 @@ ${customInstructions}` : customInstructions;
|
|
|
606361
606412
|
}
|
|
606362
606413
|
}
|
|
606363
606414
|
logForDiagnosticsNoPII("info", "started", {
|
|
606364
|
-
version: "1.0.0-alpha.
|
|
606415
|
+
version: "1.0.0-alpha.18",
|
|
606365
606416
|
is_native_binary: isInBundledMode()
|
|
606366
606417
|
});
|
|
606367
606418
|
registerCleanup(async () => {
|
|
@@ -607153,7 +607204,7 @@ Usage: agent-os --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
607153
607204
|
pendingHookMessages
|
|
607154
607205
|
}, renderAndRun);
|
|
607155
607206
|
}
|
|
607156
|
-
}).version("1.0.0-alpha.
|
|
607207
|
+
}).version("1.0.0-alpha.18 (Agent-OS)", "-v, --version", "Output the version number");
|
|
607157
607208
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
607158
607209
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
607159
607210
|
if (canUserConfigureAdvisor()) {
|
|
@@ -608991,7 +609042,7 @@ if (false) {}
|
|
|
608991
609042
|
async function main2() {
|
|
608992
609043
|
const args = process.argv.slice(2);
|
|
608993
609044
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
608994
|
-
console.log(`${"1.0.0-alpha.
|
|
609045
|
+
console.log(`${"1.0.0-alpha.18"} (Agent-OS)`);
|
|
608995
609046
|
return;
|
|
608996
609047
|
}
|
|
608997
609048
|
const {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vionwilliams/agent-os",
|
|
3
|
-
"version": "1.0.0-alpha.
|
|
3
|
+
"version": "1.0.0-alpha.18",
|
|
4
4
|
"description": "Agent-OS — 智能任务通用工作系统:多模型路由、意图编排、多智能体协调、DataHub 与可编程面板。",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"private": false,
|
|
@@ -72,7 +72,6 @@
|
|
|
72
72
|
"dependencies": {
|
|
73
73
|
"@alcalzone/ansi-tokenize": "^0.1.0",
|
|
74
74
|
"@ant/claude-for-chrome-mcp": "file:./stubs/ant-claude-for-chrome-mcp",
|
|
75
|
-
"@anthropic-ai/claude-agent-sdk": "^0.2.87",
|
|
76
75
|
"@anthropic-ai/mcpb": "^2.1.2",
|
|
77
76
|
"@anthropic-ai/sdk": "^0.81.0",
|
|
78
77
|
"@aws-sdk/client-bedrock-runtime": "^3.700.0",
|