@orion-agents/orion-code 0.1.0 → 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 +107 -67
- package/README.zh-CN.md +192 -217
- package/dist/cli.js +23 -21
- package/dist/cli.js.map +1 -1
- package/dist/commands/index.d.ts +1 -1
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +397 -212
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/target-command.d.ts.map +1 -1
- package/dist/commands/target-command.js +43 -9
- package/dist/commands/target-command.js.map +1 -1
- package/dist/commands/types.d.ts +33 -0
- package/dist/commands/types.d.ts.map +1 -1
- package/dist/commands/types.js +5 -1
- package/dist/commands/types.js.map +1 -1
- package/dist/core/agent.d.ts.map +1 -1
- package/dist/core/agent.js +2 -2
- package/dist/core/agent.js.map +1 -1
- package/dist/framework/external-assertion.d.ts +65 -0
- package/dist/framework/external-assertion.d.ts.map +1 -0
- package/dist/framework/external-assertion.js +571 -0
- package/dist/framework/external-assertion.js.map +1 -0
- package/dist/framework/index.d.ts +6 -4
- package/dist/framework/index.d.ts.map +1 -1
- package/dist/framework/index.js +4 -1
- package/dist/framework/index.js.map +1 -1
- package/dist/framework/query.d.ts +18 -1
- package/dist/framework/query.d.ts.map +1 -1
- package/dist/framework/query.js +65 -28
- package/dist/framework/query.js.map +1 -1
- package/dist/framework/tool-scheduler.d.ts +2 -0
- package/dist/framework/tool-scheduler.d.ts.map +1 -1
- package/dist/framework/tool-scheduler.js +23 -9
- package/dist/framework/tool-scheduler.js.map +1 -1
- package/dist/framework/tool-serializer.d.ts.map +1 -1
- package/dist/framework/tool-serializer.js +20 -4
- package/dist/framework/tool-serializer.js.map +1 -1
- package/dist/framework/tool.d.ts +11 -5
- package/dist/framework/tool.d.ts.map +1 -1
- package/dist/framework/tool.js.map +1 -1
- package/dist/harness/context-harness.d.ts.map +1 -1
- package/dist/harness/context-harness.js +4 -3
- package/dist/harness/context-harness.js.map +1 -1
- package/dist/harness/drift-guard.d.ts.map +1 -1
- package/dist/harness/drift-guard.js +14 -5
- package/dist/harness/drift-guard.js.map +1 -1
- package/dist/harness/safety.d.ts.map +1 -1
- package/dist/harness/safety.js +19 -3
- package/dist/harness/safety.js.map +1 -1
- package/dist/init.d.ts +1 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +115 -34
- package/dist/init.js.map +1 -1
- package/dist/ink-ui/screens/ReplScreen.d.ts.map +1 -1
- package/dist/ink-ui/screens/ReplScreen.js +4 -1
- package/dist/ink-ui/screens/ReplScreen.js.map +1 -1
- package/dist/memory/storage.d.ts.map +1 -1
- package/dist/memory/storage.js +1 -0
- package/dist/memory/storage.js.map +1 -1
- package/dist/memory/store.d.ts.map +1 -1
- package/dist/memory/store.js +11 -5
- package/dist/memory/store.js.map +1 -1
- package/dist/migration/command.d.ts.map +1 -1
- package/dist/migration/command.js +6 -1
- package/dist/migration/command.js.map +1 -1
- package/dist/migration/migrate.d.ts.map +1 -1
- package/dist/migration/migrate.js +4 -1
- package/dist/migration/migrate.js.map +1 -1
- package/dist/print-ui/launch.d.ts +4 -0
- package/dist/print-ui/launch.d.ts.map +1 -1
- package/dist/print-ui/launch.js +102 -9
- package/dist/print-ui/launch.js.map +1 -1
- package/dist/product/identity.d.ts +2 -2
- package/dist/product/identity.d.ts.map +1 -1
- package/dist/product/identity.js +2 -2
- package/dist/product/identity.js.map +1 -1
- package/dist/product/index.d.ts +2 -1
- package/dist/product/index.d.ts.map +1 -1
- package/dist/product/index.js +5 -1
- package/dist/product/index.js.map +1 -1
- package/dist/product/version.d.ts +12 -0
- package/dist/product/version.d.ts.map +1 -0
- package/dist/product/version.js +31 -0
- package/dist/product/version.js.map +1 -0
- package/dist/runtime/agent-runtime-controller.d.ts +49 -0
- package/dist/runtime/agent-runtime-controller.d.ts.map +1 -1
- package/dist/runtime/agent-runtime-controller.js +1048 -81
- package/dist/runtime/agent-runtime-controller.js.map +1 -1
- package/dist/runtime/agent-runtime-protocol.d.ts +14 -2
- package/dist/runtime/agent-runtime-protocol.d.ts.map +1 -1
- package/dist/runtime/agent-runtime-protocol.js +18 -0
- package/dist/runtime/agent-runtime-protocol.js.map +1 -1
- package/dist/runtime/chat-controller.d.ts +6 -0
- package/dist/runtime/chat-controller.d.ts.map +1 -1
- package/dist/runtime/chat-controller.js +226 -20
- package/dist/runtime/chat-controller.js.map +1 -1
- package/dist/runtime/goals/accounting.d.ts +28 -0
- package/dist/runtime/goals/accounting.d.ts.map +1 -1
- package/dist/runtime/goals/accounting.js +69 -0
- package/dist/runtime/goals/accounting.js.map +1 -1
- package/dist/runtime/goals/completion-audit.d.ts +13 -8
- package/dist/runtime/goals/completion-audit.d.ts.map +1 -1
- package/dist/runtime/goals/completion-audit.js +598 -16
- package/dist/runtime/goals/completion-audit.js.map +1 -1
- package/dist/runtime/goals/coordinator.d.ts +44 -5
- package/dist/runtime/goals/coordinator.d.ts.map +1 -1
- package/dist/runtime/goals/coordinator.js +1124 -58
- package/dist/runtime/goals/coordinator.js.map +1 -1
- package/dist/runtime/goals/evidence.d.ts +37 -0
- package/dist/runtime/goals/evidence.d.ts.map +1 -0
- package/dist/runtime/goals/evidence.js +300 -0
- package/dist/runtime/goals/evidence.js.map +1 -0
- package/dist/runtime/goals/presentation.d.ts +4 -0
- package/dist/runtime/goals/presentation.d.ts.map +1 -0
- package/dist/runtime/goals/presentation.js +50 -0
- package/dist/runtime/goals/presentation.js.map +1 -0
- package/dist/runtime/goals/prompt.d.ts.map +1 -1
- package/dist/runtime/goals/prompt.js +38 -8
- package/dist/runtime/goals/prompt.js.map +1 -1
- package/dist/runtime/goals/tools.d.ts +18 -1
- package/dist/runtime/goals/tools.d.ts.map +1 -1
- package/dist/runtime/goals/tools.js +308 -28
- package/dist/runtime/goals/tools.js.map +1 -1
- package/dist/runtime/goals/types.d.ts +241 -7
- package/dist/runtime/goals/types.d.ts.map +1 -1
- package/dist/runtime/goals/types.js +8 -2
- package/dist/runtime/goals/types.js.map +1 -1
- package/dist/runtime/subagents/child-executor-guard.d.ts +12 -4
- package/dist/runtime/subagents/child-executor-guard.d.ts.map +1 -1
- package/dist/runtime/subagents/child-executor-guard.js +397 -61
- package/dist/runtime/subagents/child-executor-guard.js.map +1 -1
- package/dist/runtime/subagents/presets.d.ts +4 -5
- package/dist/runtime/subagents/presets.d.ts.map +1 -1
- package/dist/runtime/subagents/presets.js +18 -33
- package/dist/runtime/subagents/presets.js.map +1 -1
- package/dist/runtime/subagents/production.d.ts +3 -1
- package/dist/runtime/subagents/production.d.ts.map +1 -1
- package/dist/runtime/subagents/production.js +37 -7
- package/dist/runtime/subagents/production.js.map +1 -1
- package/dist/runtime/subagents/runner.d.ts.map +1 -1
- package/dist/runtime/subagents/runner.js +24 -3
- package/dist/runtime/subagents/runner.js.map +1 -1
- package/dist/runtime/subagents/runtime-integration.d.ts +3 -0
- package/dist/runtime/subagents/runtime-integration.d.ts.map +1 -1
- package/dist/runtime/subagents/runtime-integration.js +18 -7
- package/dist/runtime/subagents/runtime-integration.js.map +1 -1
- package/dist/runtime/subagents/supervisor.d.ts +4 -4
- package/dist/runtime/subagents/supervisor.d.ts.map +1 -1
- package/dist/runtime/subagents/supervisor.js +39 -19
- package/dist/runtime/subagents/supervisor.js.map +1 -1
- package/dist/runtime/subagents/types.d.ts +7 -0
- package/dist/runtime/subagents/types.d.ts.map +1 -1
- package/dist/runtime/subagents/types.js +12 -1
- package/dist/runtime/subagents/types.js.map +1 -1
- package/dist/runtime/ui-events.d.ts +10 -0
- package/dist/runtime/ui-events.d.ts.map +1 -1
- package/dist/runtime/ui-events.js +5 -5
- package/dist/runtime/ui-events.js.map +1 -1
- package/dist/runtime/ui-view-model.d.ts +3 -3
- package/dist/runtime/ui-view-model.d.ts.map +1 -1
- package/dist/runtime/ui-view-model.js +11 -4
- package/dist/runtime/ui-view-model.js.map +1 -1
- package/dist/services/config.d.ts +18 -7
- package/dist/services/config.d.ts.map +1 -1
- package/dist/services/config.js +79 -57
- package/dist/services/config.js.map +1 -1
- package/dist/services/doctor.d.ts.map +1 -1
- package/dist/services/doctor.js +164 -18
- package/dist/services/doctor.js.map +1 -1
- package/dist/services/global-config.d.ts +1 -1
- package/dist/services/global-config.d.ts.map +1 -1
- package/dist/services/goal-storage.d.ts +9 -4
- package/dist/services/goal-storage.d.ts.map +1 -1
- package/dist/services/goal-storage.js +1113 -75
- package/dist/services/goal-storage.js.map +1 -1
- package/dist/services/llm.d.ts +19 -0
- package/dist/services/llm.d.ts.map +1 -1
- package/dist/services/llm.js +153 -20
- package/dist/services/llm.js.map +1 -1
- package/dist/services/model-registry.d.ts +1 -1
- package/dist/services/model-registry.d.ts.map +1 -1
- package/dist/services/model-registry.js +69 -19
- package/dist/services/model-registry.js.map +1 -1
- package/dist/services/provider-resilience/coordinator.d.ts +2 -1
- package/dist/services/provider-resilience/coordinator.d.ts.map +1 -1
- package/dist/services/provider-resilience/coordinator.js +7 -6
- package/dist/services/provider-resilience/coordinator.js.map +1 -1
- package/dist/services/provider-resilience/error-classifier.d.ts.map +1 -1
- package/dist/services/provider-resilience/error-classifier.js +67 -17
- package/dist/services/provider-resilience/error-classifier.js.map +1 -1
- package/dist/services/provider-resilience/types.d.ts +1 -1
- package/dist/services/provider-resilience/types.d.ts.map +1 -1
- package/dist/services/provider-resilience/types.js.map +1 -1
- package/dist/services/redaction.d.ts.map +1 -1
- package/dist/services/redaction.js +9 -1
- package/dist/services/redaction.js.map +1 -1
- package/dist/services/session-storage.d.ts +12 -1
- package/dist/services/session-storage.d.ts.map +1 -1
- package/dist/services/session-storage.js +23 -7
- package/dist/services/session-storage.js.map +1 -1
- package/dist/services/storage-maintenance.d.ts +73 -3
- package/dist/services/storage-maintenance.d.ts.map +1 -1
- package/dist/services/storage-maintenance.js +771 -104
- package/dist/services/storage-maintenance.js.map +1 -1
- package/dist/services/task-manager.d.ts.map +1 -1
- package/dist/services/task-manager.js +2 -2
- package/dist/services/task-manager.js.map +1 -1
- package/dist/services/web-search-adapters.d.ts.map +1 -1
- package/dist/services/web-search-adapters.js +89 -49
- package/dist/services/web-search-adapters.js.map +1 -1
- package/dist/services/web-search-mcp.d.ts.map +1 -1
- package/dist/services/web-search-mcp.js +34 -37
- package/dist/services/web-search-mcp.js.map +1 -1
- package/dist/services/workspace-state.d.ts +4 -0
- package/dist/services/workspace-state.d.ts.map +1 -1
- package/dist/services/workspace-state.js +30 -9
- package/dist/services/workspace-state.js.map +1 -1
- package/dist/terminal-ui/completion.js +1 -1
- package/dist/terminal-ui/completion.js.map +1 -1
- package/dist/terminal-ui/launch.d.ts +3 -0
- package/dist/terminal-ui/launch.d.ts.map +1 -1
- package/dist/terminal-ui/launch.js +26 -98
- package/dist/terminal-ui/launch.js.map +1 -1
- package/dist/tools/git.d.ts.map +1 -1
- package/dist/tools/git.js +275 -27
- package/dist/tools/git.js.map +1 -1
- package/dist/tools/index.d.ts +2 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +29 -10
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/mcp.d.ts.map +1 -1
- package/dist/tools/mcp.js +20 -12
- package/dist/tools/mcp.js.map +1 -1
- package/dist/tools/web.d.ts.map +1 -1
- package/dist/tools/web.js +38 -14
- package/dist/tools/web.js.map +1 -1
- package/dist/tui-ui/layout.d.ts.map +1 -1
- package/dist/tui-ui/layout.js +36 -23
- package/dist/tui-ui/layout.js.map +1 -1
- package/dist/tui-ui/pickers.d.ts.map +1 -1
- package/dist/tui-ui/pickers.js +5 -4
- package/dist/tui-ui/pickers.js.map +1 -1
- package/dist/tui-ui/runner.d.ts +1 -0
- package/dist/tui-ui/runner.d.ts.map +1 -1
- package/dist/tui-ui/runner.js +15 -17
- package/dist/tui-ui/runner.js.map +1 -1
- package/dist/tui-ui/state.d.ts +6 -0
- package/dist/tui-ui/state.d.ts.map +1 -1
- package/dist/tui-ui/state.js +61 -30
- package/dist/tui-ui/state.js.map +1 -1
- package/package.json +14 -9
package/README.zh-CN.md
CHANGED
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
> **Orion Code — 通用 Agent 驾驭框架**
|
|
4
4
|
> 一个 CLI 驱动的编码 Agent,具备安全边界、工具编排、记忆系统和上下文管理。
|
|
5
|
+
>
|
|
6
|
+
> v0.1.2 — Goal 连续性与证据审计
|
|
5
7
|
|
|
6
8
|
[](LICENSE)
|
|
7
|
-
[](https://nodejs.org)
|
|
8
10
|
[](https://www.typescriptlang.org)
|
|
9
11
|
[](https://www.npmjs.com/package/@orion-agents/orion-code)
|
|
10
12
|
|
|
@@ -20,34 +22,37 @@
|
|
|
20
22
|
|
|
21
23
|
### 核心理念
|
|
22
24
|
|
|
23
|
-
| 维度
|
|
24
|
-
|
|
25
|
-
| **AI 如马**
|
|
26
|
-
| **Orion Code 如缰** | 精准控制方向,防止跑偏失控
|
|
27
|
-
| **Harness 系统**
|
|
28
|
-
| **工具调用**
|
|
29
|
-
| **记忆系统**
|
|
30
|
-
| **MCP 协议**
|
|
25
|
+
| 维度 | 说明 |
|
|
26
|
+
| ------------------- | --------------------------------------- |
|
|
27
|
+
| **AI 如马** | 强大的模型需要引导和约束 |
|
|
28
|
+
| **Orion Code 如缰** | 精准控制方向,防止跑偏失控 |
|
|
29
|
+
| **Harness 系统** | 安全边界、任务约束、结果验证 |
|
|
30
|
+
| **工具调用** | LLM 自动调用工具完成任务 |
|
|
31
|
+
| **记忆系统** | 分层记忆:工作 / 短期 / 长期 / 语义搜索 |
|
|
32
|
+
| **MCP 协议** | 支持连接外部 MCP Server |
|
|
31
33
|
|
|
32
34
|
---
|
|
33
35
|
|
|
34
36
|
## 核心特性
|
|
35
37
|
|
|
36
|
-
| 特性
|
|
37
|
-
|
|
38
|
-
| **工具编排**
|
|
39
|
-
| **多模型支持**
|
|
40
|
-
| **上下文感知**
|
|
41
|
-
| **动态发现**
|
|
42
|
-
| **MCP 协议**
|
|
43
|
-
| **记忆系统**
|
|
44
|
-
| **会话管理**
|
|
45
|
-
|
|
|
46
|
-
|
|
|
47
|
-
|
|
|
48
|
-
| **
|
|
49
|
-
|
|
|
50
|
-
|
|
|
38
|
+
| 特性 | 说明 |
|
|
39
|
+
| --------------- | -------------------------------------------------------------------------- |
|
|
40
|
+
| **工具编排** | 29 个内置工具:文件读写、Shell、网页、记忆、Git、LSP、Goal 和计划 |
|
|
41
|
+
| **多模型支持** | OpenAI、Claude、DashScope(GLM/Qwen/Kimi)、自定义端点 |
|
|
42
|
+
| **上下文感知** | 每个模型独立的上下文窗口,95% 自动压缩 |
|
|
43
|
+
| **动态发现** | 启动时自动通过 `/models` 端点发现模型信息 |
|
|
44
|
+
| **MCP 协议** | 完整 MCP 支持,心跳检测 + 指数退避重连 |
|
|
45
|
+
| **记忆系统** | 用户 / 项目 / 会话记忆,支持语义搜索 |
|
|
46
|
+
| **会话管理** | 会话持久化、历史恢复、摘要生成 |
|
|
47
|
+
| **持久 Goal** | typed 多轮 continuation、安全 restart/resume、逐项证据审计 |
|
|
48
|
+
| **安全边界** | Bash 安全检查、审计日志、权限模式 |
|
|
49
|
+
| **流式输出** | 实时 LLM 响应,Markdown 渲染 |
|
|
50
|
+
| **TUI** | 默认且面向公众的主产品界面;支持 transcript、inspector、CJK 输入和工具输出 |
|
|
51
|
+
| **terminal-ui** | 仅用于 runtime 验证、诊断、兼容性排查和必要回退的技术版本 |
|
|
52
|
+
| **Ink** | 已废弃,不再承接新功能,计划在 v0.2.0 删除 |
|
|
53
|
+
| **Print Mode** | 实验性 `-p/--print` 一次性入口,用于后续自动化/remote UI 验证 |
|
|
54
|
+
| **状态栏** | 实时显示 Token 用量、成本、模型、上下文百分比 |
|
|
55
|
+
| **模型配置** | `providers + models` profile,可显式绑定端点、协议和上下文能力 |
|
|
51
56
|
|
|
52
57
|
---
|
|
53
58
|
|
|
@@ -55,7 +60,7 @@
|
|
|
55
60
|
|
|
56
61
|
### 环境要求
|
|
57
62
|
|
|
58
|
-
- Node.js >=
|
|
63
|
+
- Node.js >= 20.0
|
|
59
64
|
- npm >= 9.0
|
|
60
65
|
|
|
61
66
|
### 安装运行
|
|
@@ -78,14 +83,19 @@ export ORION_CODE_API_KEY=your-api-key
|
|
|
78
83
|
# 方式 2: .env 文件
|
|
79
84
|
cp .env.example .env
|
|
80
85
|
|
|
81
|
-
# 方式 3: ~/.orion-code/orion
|
|
86
|
+
# 方式 3: ~/.orion-code/orion.json(推荐)
|
|
82
87
|
# 首次运行时自动创建
|
|
83
88
|
|
|
84
|
-
#
|
|
89
|
+
# 启动默认公众产品 TUI
|
|
85
90
|
npm start
|
|
86
91
|
|
|
87
|
-
#
|
|
92
|
+
# 显式启动 TUI
|
|
88
93
|
npm start -- --ui tui
|
|
94
|
+
|
|
95
|
+
# 技术诊断/兼容回退
|
|
96
|
+
npm start -- --ui terminal
|
|
97
|
+
|
|
98
|
+
# 已废弃的兼容 renderer(v0.2.0 删除)
|
|
89
99
|
npm start -- --ui ink
|
|
90
100
|
|
|
91
101
|
# 尝试早期实验性的非交互入口
|
|
@@ -94,63 +104,87 @@ npm start -- --print "review the current git diff"
|
|
|
94
104
|
|
|
95
105
|
### 全局安装
|
|
96
106
|
|
|
107
|
+
固定安装 v0.1.2:
|
|
108
|
+
|
|
97
109
|
```bash
|
|
98
|
-
npm
|
|
110
|
+
npm install -g @orion-agents/orion-code@0.1.2
|
|
99
111
|
# 任意目录运行
|
|
100
|
-
orion
|
|
112
|
+
orion
|
|
101
113
|
```
|
|
102
114
|
|
|
115
|
+
也可以在源码工作树中使用 `npm ci && npm run build && npm start`。
|
|
116
|
+
|
|
117
|
+
公众体验、交互优化和新增工作流优先落在 TUI。`terminal-ui` 不作为与
|
|
118
|
+
TUI 并行发展的公众产品;Ink 只保留迁移期兼容,不再增加产品能力。
|
|
119
|
+
|
|
120
|
+
### 持久 Goal 安全契约
|
|
121
|
+
|
|
122
|
+
`/target <目标>` 在当前 session 创建唯一 Active Goal。自动 continuation 是结构化 runtime
|
|
123
|
+
请求,不会伪装成用户输入,也不会写入 transcript。进程重启或 `/resume` 后,原 Active Goal
|
|
124
|
+
会以可见的 paused 恢复态加载;用户必须显式执行 `/target resume` 才会继续。
|
|
125
|
+
|
|
126
|
+
模型只能请求 `complete` 或 `blocked`,不能直接写入终态。Orion 会记录真实工具/runtime
|
|
127
|
+
证据并逐项审计 success criterion;缺失、失败、未映射、类型不匹配、过期或 stale 证据都会让 Goal 保持未完成。
|
|
128
|
+
需要人工验收的 criterion 只能由用户执行 `/target confirm <criterion-id>` 生成可信的 `user`
|
|
129
|
+
evidence,模型工具不能伪造该确认。
|
|
130
|
+
v0.1.2 只覆盖单 Session、单 Active Goal,不承诺多 Goal 调度或无人值守后台执行。
|
|
131
|
+
|
|
103
132
|
---
|
|
104
133
|
|
|
105
134
|
## 配置
|
|
106
135
|
|
|
107
|
-
### 用户配置 (`~/.orion-code/orion
|
|
136
|
+
### 用户配置 (`~/.orion-code/orion.json`)
|
|
108
137
|
|
|
109
|
-
|
|
138
|
+
当前推荐使用 `providers + models` 格式。旧的
|
|
139
|
+
`apiKey/apiBaseUrl/defaultModel/fallbackModel` 四字段格式仍可兼容读取,但启动时会提示迁移:
|
|
110
140
|
|
|
111
141
|
```json
|
|
112
142
|
{
|
|
113
|
-
"
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
143
|
+
"providers": [
|
|
144
|
+
{
|
|
145
|
+
"id": "my-provider",
|
|
146
|
+
"baseUrl": "https://api.example.com/v1",
|
|
147
|
+
"apiKey": "$MY_API_KEY",
|
|
148
|
+
"protocol": "openai-completions"
|
|
149
|
+
}
|
|
150
|
+
],
|
|
151
|
+
"models": [
|
|
152
|
+
{
|
|
153
|
+
"id": "my-model",
|
|
154
|
+
"provider": "my-provider",
|
|
155
|
+
"model": "model-name",
|
|
156
|
+
"contextWindow": 200000,
|
|
157
|
+
"maxOutputTokens": 64000
|
|
158
|
+
}
|
|
159
|
+
],
|
|
160
|
+
"defaultModel": "my-model",
|
|
161
|
+
"toolConfirmation": "deny",
|
|
162
|
+
"subagents": { "mode": "auto", "maxParallel": 3 }
|
|
117
163
|
}
|
|
118
164
|
```
|
|
119
165
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
| `apiBaseUrl` | 否 | API 端点 URL |
|
|
124
|
-
| `defaultModel` | 否 | 默认模型(`glm-5`) |
|
|
125
|
-
| `fallbackModel` | 否 | 失败时的降级模型 |
|
|
126
|
-
|
|
127
|
-
### Agent 内部参数
|
|
128
|
-
|
|
129
|
-
| 参数 | 默认值 | 说明 |
|
|
130
|
-
|------|--------|------|
|
|
131
|
-
| `maxTokens` | 8192 | 最大输出 Token 数 |
|
|
132
|
-
| `temperature` | 0.1 | 采样温度 |
|
|
133
|
-
| `maxRetries` | 3 | 失败重试次数 |
|
|
134
|
-
| `retryBaseDelay` | 1000ms | 重试基础延迟 |
|
|
166
|
+
`provider.apiKey` 支持 `$ENV_VAR` 引用;模型上下文和最大输出应按实际 Provider
|
|
167
|
+
能力填写。renderer 不从配置文件持久化读取:直接运行 `orion` 使用默认 TUI,
|
|
168
|
+
`--ui terminal` 只用于技术诊断和兼容回退。
|
|
135
169
|
|
|
136
170
|
### 配置优先级
|
|
137
171
|
|
|
138
172
|
```
|
|
139
|
-
CLI 参数 > ~/.orion-code/orion
|
|
173
|
+
CLI 参数 > ~/.orion-code/orion.json > 环境变量 > 内部默认
|
|
140
174
|
```
|
|
141
175
|
|
|
142
176
|
### 环境变量
|
|
143
177
|
|
|
144
|
-
| 变量
|
|
145
|
-
|
|
146
|
-
| `ORION_CODE_API_KEY`
|
|
147
|
-
| `ORION_CODE_API_BASE_URL`
|
|
148
|
-
| `ORION_CODE_MODEL`
|
|
149
|
-
| `ORION_CODE_MODE`
|
|
150
|
-
| `ORION_CODE_LOG_LEVEL`
|
|
151
|
-
| `ORION_CODE_EMBEDDING_PROVIDER` | -
|
|
178
|
+
| 变量 | 默认值 | 说明 |
|
|
179
|
+
| ------------------------------- | ------------- | ------------------------------- |
|
|
180
|
+
| `ORION_CODE_API_KEY` | - | LLM API 密钥 |
|
|
181
|
+
| `ORION_CODE_API_BASE_URL` | - | API 基础 URL |
|
|
182
|
+
| `ORION_CODE_MODEL` | `gpt-4o` | 默认模型 |
|
|
183
|
+
| `ORION_CODE_MODE` | `development` | 运行模式 |
|
|
184
|
+
| `ORION_CODE_LOG_LEVEL` | `info` | 日志级别 |
|
|
185
|
+
| `ORION_CODE_EMBEDDING_PROVIDER` | - | Embedding 服务(ollama/openai) |
|
|
152
186
|
|
|
153
|
-
|
|
187
|
+
运行 `/config` 可查看当前生效配置,`orion --help` 可查看 CLI 级覆盖方式。
|
|
154
188
|
|
|
155
189
|
---
|
|
156
190
|
|
|
@@ -158,26 +192,26 @@ CLI 参数 > ~/.orion-code/orion-code.json > 环境变量 > 内部默认
|
|
|
158
192
|
|
|
159
193
|
### 模型家族
|
|
160
194
|
|
|
161
|
-
| 服务商
|
|
162
|
-
|
|
163
|
-
| **GLM(智谱)**
|
|
195
|
+
| 服务商 | 模型 | 端点 |
|
|
196
|
+
| ---------------- | -------------------------------------------------- | ---------------- |
|
|
197
|
+
| **GLM(智谱)** | `glm-5`, `glm-4` | DashScope coding |
|
|
164
198
|
| **Qwen(通义)** | `qwen-turbo`, `qwen-plus`, `qwen-max`, `qwen-long` | DashScope coding |
|
|
165
|
-
| **OpenAI**
|
|
166
|
-
| **Claude**
|
|
167
|
-
| **DeepSeek**
|
|
199
|
+
| **OpenAI** | `gpt-4o`, `gpt-4o-mini`, `gpt-4` | OpenAI API |
|
|
200
|
+
| **Claude** | `claude-sonnet-4-6`, `claude-opus-4-8` | Anthropic API |
|
|
201
|
+
| **DeepSeek** | `deepseek-chat`, `deepseek-reasoner` | DeepSeek API |
|
|
168
202
|
|
|
169
203
|
### 上下文窗口
|
|
170
204
|
|
|
171
205
|
Orion Code 跟踪每个模型的上下文窗口,在 **95% 用量时自动压缩**:
|
|
172
206
|
|
|
173
|
-
| 模型
|
|
174
|
-
|
|
175
|
-
| `glm-5`
|
|
176
|
-
| `qwen-long`
|
|
177
|
-
| `qwen-plus`
|
|
178
|
-
| `gpt-4o`
|
|
179
|
-
| `claude-sonnet-4-6` | 200,000
|
|
180
|
-
| `claude-opus-4-8`
|
|
207
|
+
| 模型 | 上下文 | 最大输出 |
|
|
208
|
+
| ------------------- | --------- | -------- |
|
|
209
|
+
| `glm-5` | 202,752 | 8,192 |
|
|
210
|
+
| `qwen-long` | 1,000,000 | 8,192 |
|
|
211
|
+
| `qwen-plus` | 131,072 | 8,192 |
|
|
212
|
+
| `gpt-4o` | 128,000 | 16,384 |
|
|
213
|
+
| `claude-sonnet-4-6` | 200,000 | 16,000 |
|
|
214
|
+
| `claude-opus-4-8` | 200,000 | 32,000 |
|
|
181
215
|
|
|
182
216
|
未知模型默认使用 **128,000** 上下文。
|
|
183
217
|
|
|
@@ -199,43 +233,43 @@ Orion Code 跟踪每个模型的上下文窗口,在 **95% 用量时自动压
|
|
|
199
233
|
|
|
200
234
|
### 文件操作
|
|
201
235
|
|
|
202
|
-
| 工具
|
|
203
|
-
|
|
204
|
-
| `read_file`
|
|
205
|
-
| `write_file` | 写入文件
|
|
206
|
-
| `edit_file`
|
|
207
|
-
| `list_files` | 列出目录内容
|
|
208
|
-
| `glob`
|
|
209
|
-
| `grep`
|
|
236
|
+
| 工具 | 说明 |
|
|
237
|
+
| ------------ | ------------------ |
|
|
238
|
+
| `read_file` | 读取文件内容 |
|
|
239
|
+
| `write_file` | 写入文件 |
|
|
240
|
+
| `edit_file` | 编辑文件(行替换) |
|
|
241
|
+
| `list_files` | 列出目录内容 |
|
|
242
|
+
| `glob` | Glob 模式搜索文件 |
|
|
243
|
+
| `grep` | 正则搜索文件内容 |
|
|
210
244
|
|
|
211
245
|
### Shell 执行
|
|
212
246
|
|
|
213
|
-
| 工具
|
|
214
|
-
|
|
247
|
+
| 工具 | 说明 |
|
|
248
|
+
| -------------- | ----------------------------- |
|
|
215
249
|
| `exec_command` | 执行 Shell 命令(带安全检查) |
|
|
216
250
|
|
|
217
251
|
### 网络工具
|
|
218
252
|
|
|
219
|
-
| 工具
|
|
220
|
-
|
|
221
|
-
| `web_fetch`
|
|
222
|
-
| `web_search` | 网络搜索
|
|
253
|
+
| 工具 | 说明 |
|
|
254
|
+
| ------------ | ------------ |
|
|
255
|
+
| `web_fetch` | 抓取网页内容 |
|
|
256
|
+
| `web_search` | 网络搜索 |
|
|
223
257
|
|
|
224
258
|
### 记忆系统
|
|
225
259
|
|
|
226
|
-
| 工具
|
|
227
|
-
|
|
228
|
-
| `memory_save`
|
|
260
|
+
| 工具 | 说明 |
|
|
261
|
+
| --------------- | -------- |
|
|
262
|
+
| `memory_save` | 保存记忆 |
|
|
229
263
|
| `memory_recall` | 搜索记忆 |
|
|
230
264
|
| `memory_forget` | 删除记忆 |
|
|
231
265
|
|
|
232
266
|
### 任务管理
|
|
233
267
|
|
|
234
|
-
| 工具
|
|
235
|
-
|
|
236
|
-
| `todo_write`
|
|
237
|
-
| `enter_plan_mode` | 进入计划模式
|
|
238
|
-
| `exit_plan_mode`
|
|
268
|
+
| 工具 | 说明 |
|
|
269
|
+
| ----------------- | ----------------- |
|
|
270
|
+
| `todo_write` | 创建/更新任务列表 |
|
|
271
|
+
| `enter_plan_mode` | 进入计划模式 |
|
|
272
|
+
| `exit_plan_mode` | 退出计划模式 |
|
|
239
273
|
|
|
240
274
|
---
|
|
241
275
|
|
|
@@ -304,29 +338,32 @@ ctxPercent = (promptTokens / 模型上下文窗口) × 100
|
|
|
304
338
|
|
|
305
339
|
---
|
|
306
340
|
|
|
307
|
-
##
|
|
308
|
-
|
|
309
|
-
| 命令
|
|
310
|
-
|
|
311
|
-
| `/help`
|
|
312
|
-
| `/
|
|
313
|
-
| `/
|
|
314
|
-
| `/
|
|
315
|
-
| `/
|
|
316
|
-
| `/
|
|
317
|
-
| `/
|
|
318
|
-
| `/
|
|
319
|
-
| `/
|
|
320
|
-
| `/memory
|
|
321
|
-
| `/skills`
|
|
322
|
-
| `/
|
|
323
|
-
| `/
|
|
324
|
-
| `/
|
|
325
|
-
| `/
|
|
326
|
-
| `/
|
|
327
|
-
| `/clear` |
|
|
328
|
-
| `/clear
|
|
329
|
-
| `/exit`
|
|
341
|
+
## 常用交互命令
|
|
342
|
+
|
|
343
|
+
| 命令 | 说明 |
|
|
344
|
+
| ---------------------- | --------------------------------------------------- |
|
|
345
|
+
| `/help` | 显示当前 renderer 可用的完整命令列表 |
|
|
346
|
+
| `/target`(`/goal`) | 创建、查看、暂停、恢复、替换或清除持久 Goal |
|
|
347
|
+
| `/status` | 系统状态总览 |
|
|
348
|
+
| `/model` | 查看或切换模型 |
|
|
349
|
+
| `/config` | 显示当前生效配置 |
|
|
350
|
+
| `/usage` | 显示详细 Token 用量和成本 |
|
|
351
|
+
| `/compact` | 手动触发上下文压缩 |
|
|
352
|
+
| `/sessions` | 列出或搜索最近会话 |
|
|
353
|
+
| `/resume` | 恢复已有会话 |
|
|
354
|
+
| `/memory` | 查看记忆状态;`/memory reindex` 重建语义索引 |
|
|
355
|
+
| `/skills` | 列出已加载技能 |
|
|
356
|
+
| `/tools` | 列出内置和 MCP 工具 |
|
|
357
|
+
| `/mcp` | 查看 MCP Server 状态 |
|
|
358
|
+
| `/doctor` | 运行配置、工具、MCP、Skill、Session 和 Harness 诊断 |
|
|
359
|
+
| `/diff` | 只读汇总当前 Git 工作区改动 |
|
|
360
|
+
| `/commit` | 生成只读 commit 计划和建议消息 |
|
|
361
|
+
| `/context-clear --yes` | 清除当前内存中的模型上下文,保留已保存 session |
|
|
362
|
+
| `/clear` | 只清理当前视图,不删除 session 数据 |
|
|
363
|
+
| `/exit` | 安全关闭并退出 |
|
|
364
|
+
|
|
365
|
+
完整列表及 renderer 范围以 `/help` 为准。`/cost` 是 `/usage` 的废弃兼容入口;
|
|
366
|
+
`/task`、`/run`、`/clear-history` 仅保留为隐藏的迁移兼容命令,不属于公开工作流。
|
|
330
367
|
|
|
331
368
|
---
|
|
332
369
|
|
|
@@ -335,70 +372,25 @@ ctxPercent = (promptTokens / 模型上下文窗口) × 100
|
|
|
335
372
|
```
|
|
336
373
|
orion-code/
|
|
337
374
|
├── bin/
|
|
338
|
-
│ └── orion
|
|
375
|
+
│ └── orion # npm 全局命令入口
|
|
339
376
|
├── src/
|
|
340
|
-
│ ├── cli.ts
|
|
341
|
-
│ ├── commands/
|
|
342
|
-
│
|
|
343
|
-
│
|
|
344
|
-
│
|
|
345
|
-
│ ├──
|
|
346
|
-
│
|
|
347
|
-
│
|
|
348
|
-
│
|
|
349
|
-
│ ├──
|
|
350
|
-
│
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
│
|
|
355
|
-
│
|
|
356
|
-
│
|
|
357
|
-
│ ├── harness/ # 安全与约束
|
|
358
|
-
│ │ ├── safety.ts # 安全检查
|
|
359
|
-
│ │ └── bash-safety.ts # Bash 命令安全
|
|
360
|
-
│ ├── memory/ # 记忆系统
|
|
361
|
-
│ │ ├── storage.ts # 记忆存储
|
|
362
|
-
│ │ ├── semantic-search.ts # 语义搜索
|
|
363
|
-
│ │ ├── embeddings.ts # Embedding 生成
|
|
364
|
-
│ │ └── vector-store.ts # 向量存储(SQLite vec0)
|
|
365
|
-
│ ├── skills/ # 技能系统
|
|
366
|
-
│ │ ├── loader.ts # 技能加载器
|
|
367
|
-
│ │ └── registry.ts # 技能注册表
|
|
368
|
-
│ ├── services/
|
|
369
|
-
│ │ ├── llm.ts # LLM 服务(重试/降级)
|
|
370
|
-
│ │ ├── config.ts # 配置加载
|
|
371
|
-
│ │ ├── global-config.ts # 全局配置
|
|
372
|
-
│ │ ├── model-context.ts # 模型上下文数据库 + 发现
|
|
373
|
-
│ │ ├── session-storage.ts # 会话持久化
|
|
374
|
-
│ │ ├── atomic-write.ts # 原子写入
|
|
375
|
-
│ │ ├── agent-runner.ts # Agent 执行器
|
|
376
|
-
│ │ ├── task-manager.ts # 任务管理器
|
|
377
|
-
│ │ └── file-glob.ts # 文件匹配
|
|
378
|
-
│ ├── services/compact/ # 上下文压缩
|
|
379
|
-
│ │ ├── auto-compact.ts # 基于 Token 的自动压缩
|
|
380
|
-
│ │ ├── compact.ts # 压缩实现
|
|
381
|
-
│ │ └── summary-generator.ts # 摘要生成
|
|
382
|
-
│ ├── tools/ # 工具实现
|
|
383
|
-
│ │ ├── index.ts # 工具注册表
|
|
384
|
-
│ │ ├── mcp.ts # MCP 客户端
|
|
385
|
-
│ │ ├── todo.ts # 任务工具
|
|
386
|
-
│ │ ├── plan.ts # 计划工具
|
|
387
|
-
│ │ ├── web.ts # 网页工具
|
|
388
|
-
│ │ └── memory.ts # 记忆工具
|
|
389
|
-
│ └── ui/ # UI 组件
|
|
390
|
-
│ ├── box.ts # UI 框
|
|
391
|
-
│ ├── markdown.ts # Markdown 渲染
|
|
392
|
-
│ ├── status-bar.ts # 状态栏
|
|
393
|
-
│ ├── stream-markdown.ts # 流式 Markdown
|
|
394
|
-
│ ├── tool-preview.ts # 工具预览卡片
|
|
395
|
-
│ └── suggestions.ts # 命令建议
|
|
396
|
-
├── tests/ # 测试套件
|
|
397
|
-
├── docs/ # 文档
|
|
398
|
-
│ ├── version/ # 版本发布说明
|
|
399
|
-
│ ├── roadmap/ # 版本路线图
|
|
400
|
-
│ └── config.md # 配置指南
|
|
401
|
-
├── .env.example # 环境变量模板
|
|
377
|
+
│ ├── cli.ts # CLI 入口和 renderer 选择
|
|
378
|
+
│ ├── commands/ # 斜杠命令注册表与处理器
|
|
379
|
+
│ ├── core/ # Agent 核心状态
|
|
380
|
+
│ ├── framework/ # Query 与 Tool 抽象
|
|
381
|
+
│ ├── runtime/ # Shared runtime、Goal、事件与 Subagent
|
|
382
|
+
│ ├── services/ # 配置、LLM、Session、Storage、MCP
|
|
383
|
+
│ ├── tools/ # 内置工具
|
|
384
|
+
│ ├── tui-ui/ # 默认公众 TUI
|
|
385
|
+
│ ├── terminal-ui/ # 技术诊断 renderer
|
|
386
|
+
│ ├── print-ui/ # 实验性 Print/Text 与 Print/JSON
|
|
387
|
+
│ └── skills/ # 内置 Skill
|
|
388
|
+
├── tests/ # Jest 测试套件
|
|
389
|
+
├── test-runtime/ # 运行时 smoke 脚本
|
|
390
|
+
├── docs/
|
|
391
|
+
│ ├── goals/ # 项目 Goal、证据与恢复说明
|
|
392
|
+
│ ├── mvp/ # 版本计划与发布说明
|
|
393
|
+
│ └── plan/ # 执行计划与准出报告
|
|
402
394
|
├── package.json
|
|
403
395
|
└── tsconfig.json
|
|
404
396
|
```
|
|
@@ -407,37 +399,23 @@ orion-code/
|
|
|
407
399
|
|
|
408
400
|
## 版本历史
|
|
409
401
|
|
|
410
|
-
### v0.1.
|
|
411
|
-
|
|
412
|
-
- **基于 Token 的自动压缩** — 95% 上下文使用量触发(替代消息数量阈值)
|
|
413
|
-
- **模型上下文感知** — 每个模型独立的上下文窗口(15+ 已知模型)
|
|
414
|
-
- **动态模型发现** — 启动时查询 `/models` 端点
|
|
415
|
-
- **精简用户配置** — 仅 4 个字段:`apiKey`、`apiBaseUrl`、`defaultModel`、`fallbackModel`
|
|
416
|
-
- **Agent 内部管理** — `maxTokens`、`temperature`、`retries` 由 Agent 内部控制
|
|
417
|
-
- **用户可配置 Fallback 模型**
|
|
418
|
-
- **命令面板渲染优化**
|
|
419
|
-
- **上下文编排工作流** — 多 Agent 上下文管理
|
|
420
|
-
|
|
421
|
-
### v0.1.15
|
|
422
|
-
|
|
423
|
-
- **完整 Markdown 流式渲染** — 语法高亮
|
|
424
|
-
- **CJK 文本宽度计算修复** — 终端显示
|
|
425
|
-
- **命令面板输入清除优化**
|
|
426
|
-
- 表格渲染移除(改为原始透传)
|
|
427
|
-
|
|
428
|
-
### v0.1.14
|
|
402
|
+
### v0.1.2(当前版本)
|
|
429
403
|
|
|
430
|
-
-
|
|
404
|
+
- 单 Session、单 Active Goal 的 typed continuation;
|
|
405
|
+
- restart/resume 后安全暂停,必须显式恢复;
|
|
406
|
+
- runtime evidence ledger、逐 criterion completion audit 与精确 stop reason;
|
|
407
|
+
- TUI 主产品体验和 terminal-ui/Print 事件语义一致。
|
|
431
408
|
|
|
432
|
-
### v0.1.
|
|
409
|
+
### v0.1.1(已发布)
|
|
433
410
|
|
|
434
|
-
-
|
|
411
|
+
- 命令契约、TUI 默认路径、OpenHorse 迁移和数据安全收敛;
|
|
412
|
+
- terminal-ui 定位为技术诊断版本,Ink 正式废弃。
|
|
435
413
|
|
|
436
|
-
### v0.1.
|
|
414
|
+
### v0.1.0(已发布)
|
|
437
415
|
|
|
438
|
-
-
|
|
416
|
+
- Orion Code 首个公开基线版本。
|
|
439
417
|
|
|
440
|
-
详见 `docs/
|
|
418
|
+
详见 `docs/mvp/` 和 `docs/plan/`。
|
|
441
419
|
|
|
442
420
|
---
|
|
443
421
|
|
|
@@ -467,15 +445,12 @@ npm run format
|
|
|
467
445
|
|
|
468
446
|
## Roadmap
|
|
469
447
|
|
|
470
|
-
| 版本
|
|
471
|
-
|
|
472
|
-
| v0.1.
|
|
473
|
-
| v0.
|
|
474
|
-
| v0.1.18 | 插件/Hook 系统 |
|
|
475
|
-
| v0.1.19 | VS Code 扩展 |
|
|
476
|
-
| v0.1.20 | Web UI 面板 |
|
|
448
|
+
| 版本 | 目标 |
|
|
449
|
+
| ------ | --------------------------------------------------- |
|
|
450
|
+
| v0.1.2 | Goal 连续性、证据审计、恢复与发布可信度 |
|
|
451
|
+
| v0.2.0 | 在项目级 Goal 约束下评估多目标等非 patch 兼容性能力 |
|
|
477
452
|
|
|
478
|
-
详见
|
|
453
|
+
详见[项目级目标](https://github.com/orion-agents/orion-code/blob/main/docs/goals/orion-code-项目级目标.md)。
|
|
479
454
|
|
|
480
455
|
---
|
|
481
456
|
|
|
@@ -493,4 +468,4 @@ MIT License — 详见 [LICENSE](LICENSE)
|
|
|
493
468
|
|
|
494
469
|
**Orion Code — Universal Agent Harness Framework.**
|
|
495
470
|
|
|
496
|
-
|
|
471
|
+
_"AI 如马,Orion Code 如缰。"_
|