@arrislink/axon 1.0.2 โ 1.0.4
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 +30 -22
- package/README.zh-CN.md +31 -23
- package/dist/index.js +23 -5
- package/package.json +3 -3
- package/dist/ax +0 -0
package/README.md
CHANGED
|
@@ -195,29 +195,37 @@ safety:
|
|
|
195
195
|
|
|
196
196
|
## ๐๏ธ Architecture
|
|
197
197
|
|
|
198
|
+
Axon is built on a modular architecture that separates requirement definition, task planning, and agentic execution.
|
|
199
|
+
|
|
200
|
+
```mermaid
|
|
201
|
+
graph TD
|
|
202
|
+
User([User CLI]) --> Commands[Axon Commands: init, spec, plan, work]
|
|
203
|
+
|
|
204
|
+
subgraph "Axon Engine"
|
|
205
|
+
Commands --> Spec[OpenSpec Manager]
|
|
206
|
+
Spec --> Beads[Beads Engine: Graph Gen & Execution]
|
|
207
|
+
Beads --> Skills[Skills Library: Matching & Injection]
|
|
208
|
+
Skills --> Orch[Agent Orchestrator]
|
|
209
|
+
end
|
|
210
|
+
|
|
211
|
+
subgraph "LLM Layer"
|
|
212
|
+
Orch --> LLMInt[Unified LLM Interface]
|
|
213
|
+
LLMInt --> OMO[OhMyOpenCode Registry]
|
|
214
|
+
OMO --> Providers[Providers: Anthropic, OpenAI, Antigrav, etc.]
|
|
215
|
+
end
|
|
198
216
|
```
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
212
|
-
โ OhMyOpenCode Provider System (Optional) โ
|
|
213
|
-
โ โโโโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโโ โ
|
|
214
|
-
โ โAnthropic โAntigrav โ OpenAI โ Google โ โ
|
|
215
|
-
โ โโโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโโ โ
|
|
216
|
-
โ โข Unified config (~/.omo/providers.yaml) โ
|
|
217
|
-
โ โข Auto failover โ
|
|
218
|
-
โ โข Cost optimization โ
|
|
219
|
-
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
220
|
-
```
|
|
217
|
+
|
|
218
|
+
### Core Components:
|
|
219
|
+
|
|
220
|
+
1. **OpenSpec Manager**: Parses and manages the specification (`.openspec/spec.md`). It ensures the AI always has a "Source of Truth" for requirements.
|
|
221
|
+
2. **Beads Engine**:
|
|
222
|
+
* **Planning**: Converts specifications into a Directed Acyclic Graph (DAG) of atomic tasks.
|
|
223
|
+
* **Execution**: Manages task dependencies, state persistence (`graph.json`), and sequential execution.
|
|
224
|
+
3. **Skills Library**: A repository of reusable code patterns. It automatically matches relevant skills to tasks and injects them into the agent's context.
|
|
225
|
+
4. **Agent Orchestrator**: Coordinates specialized AI agents (like the general-purpose "Sisyphus") to execute specific beads.
|
|
226
|
+
5. **Unified LLM Interface**: A vendor-neutral abstraction layer that integrates with **OhMyOpenCode** to provide multi-provider failover and consistent API access.
|
|
227
|
+
|
|
228
|
+
---
|
|
221
229
|
|
|
222
230
|
## ๐งช Development
|
|
223
231
|
|
package/README.zh-CN.md
CHANGED
|
@@ -193,31 +193,39 @@ safety:
|
|
|
193
193
|
auto_pause_on_error: true
|
|
194
194
|
```
|
|
195
195
|
|
|
196
|
-
## ๐๏ธ
|
|
196
|
+
## ๐๏ธ ๆถๆ่ฎพ่ฎก
|
|
197
197
|
|
|
198
|
+
Axon ๅบไบๆจกๅๅๆถๆๆๅปบ๏ผๅฐ้ๆฑๅฎไนใไปปๅก่งๅๅไปฃ็ๆง่กๆธ
ๆฐๅ็ฆปใ
|
|
199
|
+
|
|
200
|
+
```mermaid
|
|
201
|
+
graph TD
|
|
202
|
+
User([็จๆท CLI]) --> Commands[Axon ๅฝไปค: init, spec, plan, work]
|
|
203
|
+
|
|
204
|
+
subgraph "Axon ๆ ธๅฟๅผๆ"
|
|
205
|
+
Commands --> Spec[OpenSpec ็ฎก็ๅจ]
|
|
206
|
+
Spec --> Beads[Beads ๅผๆ: ๅพ็ๆไธๆง่ก]
|
|
207
|
+
Beads --> Skills[ๆ่ฝๅบ: ๅน้
ไธๆณจๅ
ฅ]
|
|
208
|
+
Skills --> Orch[ไปปๅก็ผๆๅจ]
|
|
209
|
+
end
|
|
210
|
+
|
|
211
|
+
subgraph "LLM ๅฑ"
|
|
212
|
+
Orch --> LLMInt[็ปไธ LLM ๆฅๅฃ]
|
|
213
|
+
LLMInt --> OMO[OhMyOpenCode ๆณจๅ่กจ]
|
|
214
|
+
OMO --> Providers[ๅนณๅฐ: Anthropic, OpenAI, Antigrav ็ญ]
|
|
215
|
+
end
|
|
198
216
|
```
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
212
|
-
โ OhMyOpenCode Provider ็ณป็ป (ๅฏ้) โ
|
|
213
|
-
โ โโโโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโโ โ
|
|
214
|
-
โ โAnthropic โAntigrav โ OpenAI โ Google โ โ
|
|
215
|
-
โ โโโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโโ โ
|
|
216
|
-
โ โข ็ปไธ้
็ฝฎ (~/.omo/providers.yaml) โ
|
|
217
|
-
โ โข ่ชๅจ failover โ
|
|
218
|
-
โ โข ๆๆฌไผๅ โ
|
|
219
|
-
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
220
|
-
```
|
|
217
|
+
|
|
218
|
+
### ๆ ธๅฟ็ปไปถ่ฏดๆ๏ผ
|
|
219
|
+
|
|
220
|
+
1. **OpenSpec ็ฎก็ๅจ**: ่งฃๆๅนถ็ฎก็่งๆ ผ่ฏดๆ (`.openspec/spec.md`)๏ผ็กฎไฟ AI ๅง็ปๆฅๆ้ๆฑ็โๅไธ็็ๆฅๆบโใ
|
|
221
|
+
2. **Beads ๅผๆ**:
|
|
222
|
+
* **่งๅ (Planning)**: ๅฐ่งๆ ผ่ฏดๆ่ฝฌๆขไธบ็ฑๅๅญไปปๅก็ปๆ็ๆๅๆ ็ฏๅพ (DAG)ใ
|
|
223
|
+
* **ๆง่ก (Execution)**: ็ฎก็ไปปๅกไพ่ตใ็ถๆๆไน
ๅ (`graph.json`) ไปฅๅ้กบๅบๆง่กๆต็จใ
|
|
224
|
+
3. **ๆ่ฝๅบ (Skills Library)**: ๅฏๅค็จไปฃ็ ๆจกๅผ็ไปๅบใ็ณป็ปไผ่ชๅจๅน้
็ธๅ
ณๆ่ฝๅนถๅฐๅ
ถๆณจๅ
ฅๅฐ AI ๆบ่ฝไฝ็ไธไธๆไธญใ
|
|
225
|
+
4. **ไปปๅก็ผๆๅจ (Agent Orchestrator)**: ๅ่ฐไธ้จ็ AI ไปฃ็๏ผๅฆ้็จๅ็ "Sisyphus"๏ผๆฅๆง่กๅ
ทไฝ็ไปปๅก็ ๅญใ
|
|
226
|
+
5. **็ปไธ LLM ๆฅๅฃ**: ๅๅไธญ็ซ็ๆฝ่ฑกๅฑใๅฎ้ๆไบ **OhMyOpenCode**๏ผๆไพๅคไพๅบๅๆ
้่ฝฌ็งปๅไธ่ด็ API ่ฎฟ้ฎใ
|
|
227
|
+
|
|
228
|
+
---
|
|
221
229
|
|
|
222
230
|
## ๐งช ๅผๅ
|
|
223
231
|
|
package/dist/index.js
CHANGED
|
@@ -16471,10 +16471,19 @@ class OpenCodeLLMClient {
|
|
|
16471
16471
|
continue;
|
|
16472
16472
|
try {
|
|
16473
16473
|
const event = JSON.parse(line);
|
|
16474
|
+
if (event.type === "config" && event.part?.model) {
|
|
16475
|
+
metadata.model = event.part.model;
|
|
16476
|
+
} else if (event.model && metadata.model === "unknown") {
|
|
16477
|
+
metadata.model = event.model;
|
|
16478
|
+
}
|
|
16474
16479
|
if (event.type === "text" && event.part?.text) {
|
|
16475
16480
|
const text = event.part.text;
|
|
16476
16481
|
fullResponse += text;
|
|
16477
16482
|
yield text;
|
|
16483
|
+
} else if (event.type === "content" && event.part?.content) {
|
|
16484
|
+
const text = event.part.content;
|
|
16485
|
+
fullResponse += text;
|
|
16486
|
+
yield text;
|
|
16478
16487
|
} else if (event.type === "step_finish") {
|
|
16479
16488
|
if (event.part?.snapshot) {}
|
|
16480
16489
|
if (event.part?.tokens) {
|
|
@@ -16888,11 +16897,20 @@ class SpecGenerator {
|
|
|
16888
16897
|
7. \u67B6\u6784\u51B3\u7B56\u8BB0\u5F55 (ADR)
|
|
16889
16898
|
|
|
16890
16899
|
\u786E\u4FDD\u6587\u6863\u6E05\u6670\u3001\u53EF\u6267\u884C\uFF0C\u4FBF\u4E8E\u540E\u7EED\u4EFB\u52A1\u62C6\u89E3\u3002`;
|
|
16891
|
-
|
|
16892
|
-
|
|
16893
|
-
|
|
16894
|
-
|
|
16895
|
-
|
|
16900
|
+
try {
|
|
16901
|
+
const response = await this.llm.chat([{ role: "user", content: prompt }], {
|
|
16902
|
+
temperature: 0.7,
|
|
16903
|
+
maxTokens: 4000
|
|
16904
|
+
});
|
|
16905
|
+
if (response.content && response.content.trim().length > 100) {
|
|
16906
|
+
return response.content;
|
|
16907
|
+
}
|
|
16908
|
+
console.warn("\u26A0\uFE0F AI \u751F\u6210\u5185\u5BB9\u8FC7\u77ED\u6216\u4E3A\u7A7A\uFF0C\u5C06\u4F7F\u7528\u6A21\u677F\u751F\u6210\u4F5C\u4E3A\u56DE\u9000\u3002");
|
|
16909
|
+
return this.generateFromTemplate(collected);
|
|
16910
|
+
} catch (error) {
|
|
16911
|
+
console.warn(`\u26A0\uFE0F AI \u751F\u6210\u5931\u8D25: ${error.message}\u3002\u5C06\u4F7F\u7528\u6A21\u677F\u751F\u6210\u4F5C\u4E3A\u56DE\u9000\u3002`);
|
|
16912
|
+
return this.generateFromTemplate(collected);
|
|
16913
|
+
}
|
|
16896
16914
|
}
|
|
16897
16915
|
generateFromTemplate(collected) {
|
|
16898
16916
|
const techStackNames = {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arrislink/axon",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"description": "AI-Powered Development Operating System with unified LLM provider support",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"registry": "https://registry.npmjs.org/"
|
|
13
13
|
},
|
|
14
14
|
"files": [
|
|
15
|
-
"dist",
|
|
15
|
+
"dist/index.js",
|
|
16
16
|
"templates",
|
|
17
17
|
"README.md",
|
|
18
18
|
"README.zh-CN.md",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"format": "bunx @biomejs/biome format --write .",
|
|
28
28
|
"type-check": "tsc --noEmit",
|
|
29
29
|
"clean": "rm -rf dist",
|
|
30
|
-
"prepublishOnly": "
|
|
30
|
+
"prepublishOnly": "npm run clean && npm run build:js"
|
|
31
31
|
},
|
|
32
32
|
"keywords": [
|
|
33
33
|
"ai",
|
package/dist/ax
DELETED
|
Binary file
|