@orion-agents/orion-code 0.1.1 → 0.1.3

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.
Files changed (643) hide show
  1. package/README.md +165 -68
  2. package/README.zh-CN.md +252 -212
  3. package/dist/cli.js +13 -17
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/index.d.ts.map +1 -1
  6. package/dist/commands/index.js +381 -168
  7. package/dist/commands/index.js.map +1 -1
  8. package/dist/commands/target-command.d.ts.map +1 -1
  9. package/dist/commands/target-command.js +42 -8
  10. package/dist/commands/target-command.js.map +1 -1
  11. package/dist/commands/types.d.ts +3 -1
  12. package/dist/commands/types.d.ts.map +1 -1
  13. package/dist/commands/types.js.map +1 -1
  14. package/dist/core/agent.d.ts.map +1 -1
  15. package/dist/core/agent.js +2 -2
  16. package/dist/core/agent.js.map +1 -1
  17. package/dist/framework/external-assertion.d.ts +65 -0
  18. package/dist/framework/external-assertion.d.ts.map +1 -0
  19. package/dist/framework/external-assertion.js +571 -0
  20. package/dist/framework/external-assertion.js.map +1 -0
  21. package/dist/framework/index.d.ts +6 -4
  22. package/dist/framework/index.d.ts.map +1 -1
  23. package/dist/framework/index.js +4 -1
  24. package/dist/framework/index.js.map +1 -1
  25. package/dist/framework/query.d.ts +18 -1
  26. package/dist/framework/query.d.ts.map +1 -1
  27. package/dist/framework/query.js +43 -23
  28. package/dist/framework/query.js.map +1 -1
  29. package/dist/framework/tool-scheduler.d.ts +63 -1
  30. package/dist/framework/tool-scheduler.d.ts.map +1 -1
  31. package/dist/framework/tool-scheduler.js +183 -51
  32. package/dist/framework/tool-scheduler.js.map +1 -1
  33. package/dist/framework/tool-serializer.d.ts.map +1 -1
  34. package/dist/framework/tool-serializer.js +20 -4
  35. package/dist/framework/tool-serializer.js.map +1 -1
  36. package/dist/framework/tool.d.ts +17 -5
  37. package/dist/framework/tool.d.ts.map +1 -1
  38. package/dist/framework/tool.js +2 -0
  39. package/dist/framework/tool.js.map +1 -1
  40. package/dist/harness/safety.d.ts.map +1 -1
  41. package/dist/harness/safety.js +19 -3
  42. package/dist/harness/safety.js.map +1 -1
  43. package/dist/init.d.ts +1 -1
  44. package/dist/init.d.ts.map +1 -1
  45. package/dist/init.js +115 -34
  46. package/dist/init.js.map +1 -1
  47. package/dist/ink-ui/screens/ReplScreen.d.ts +2 -1
  48. package/dist/ink-ui/screens/ReplScreen.d.ts.map +1 -1
  49. package/dist/ink-ui/screens/ReplScreen.js +65 -0
  50. package/dist/ink-ui/screens/ReplScreen.js.map +1 -1
  51. package/dist/memory/storage.d.ts.map +1 -1
  52. package/dist/memory/storage.js +1 -0
  53. package/dist/memory/storage.js.map +1 -1
  54. package/dist/memory/store.d.ts.map +1 -1
  55. package/dist/memory/store.js +11 -5
  56. package/dist/memory/store.js.map +1 -1
  57. package/dist/print-ui/launch.d.ts +6 -1
  58. package/dist/print-ui/launch.d.ts.map +1 -1
  59. package/dist/print-ui/launch.js +109 -9
  60. package/dist/print-ui/launch.js.map +1 -1
  61. package/dist/product/identity.d.ts +2 -2
  62. package/dist/product/identity.d.ts.map +1 -1
  63. package/dist/product/identity.js +2 -2
  64. package/dist/product/identity.js.map +1 -1
  65. package/dist/product/index.d.ts +2 -1
  66. package/dist/product/index.d.ts.map +1 -1
  67. package/dist/product/index.js +5 -1
  68. package/dist/product/index.js.map +1 -1
  69. package/dist/product/version.d.ts +12 -0
  70. package/dist/product/version.d.ts.map +1 -0
  71. package/dist/product/version.js +31 -0
  72. package/dist/product/version.js.map +1 -0
  73. package/dist/runtime/agent-runtime-controller.d.ts +35 -0
  74. package/dist/runtime/agent-runtime-controller.d.ts.map +1 -1
  75. package/dist/runtime/agent-runtime-controller.js +975 -149
  76. package/dist/runtime/agent-runtime-controller.js.map +1 -1
  77. package/dist/runtime/agent-runtime-protocol.d.ts +20 -3
  78. package/dist/runtime/agent-runtime-protocol.d.ts.map +1 -1
  79. package/dist/runtime/agent-runtime-protocol.js +12 -0
  80. package/dist/runtime/agent-runtime-protocol.js.map +1 -1
  81. package/dist/runtime/chat-controller.d.ts +12 -0
  82. package/dist/runtime/chat-controller.d.ts.map +1 -1
  83. package/dist/runtime/chat-controller.js +213 -19
  84. package/dist/runtime/chat-controller.js.map +1 -1
  85. package/dist/runtime/goals/accounting.d.ts +28 -0
  86. package/dist/runtime/goals/accounting.d.ts.map +1 -1
  87. package/dist/runtime/goals/accounting.js +69 -0
  88. package/dist/runtime/goals/accounting.js.map +1 -1
  89. package/dist/runtime/goals/completion-audit.d.ts +13 -8
  90. package/dist/runtime/goals/completion-audit.d.ts.map +1 -1
  91. package/dist/runtime/goals/completion-audit.js +598 -16
  92. package/dist/runtime/goals/completion-audit.js.map +1 -1
  93. package/dist/runtime/goals/coordinator.d.ts +44 -5
  94. package/dist/runtime/goals/coordinator.d.ts.map +1 -1
  95. package/dist/runtime/goals/coordinator.js +1124 -58
  96. package/dist/runtime/goals/coordinator.js.map +1 -1
  97. package/dist/runtime/goals/evidence.d.ts +37 -0
  98. package/dist/runtime/goals/evidence.d.ts.map +1 -0
  99. package/dist/runtime/goals/evidence.js +300 -0
  100. package/dist/runtime/goals/evidence.js.map +1 -0
  101. package/dist/runtime/goals/presentation.d.ts +4 -0
  102. package/dist/runtime/goals/presentation.d.ts.map +1 -0
  103. package/dist/runtime/goals/presentation.js +50 -0
  104. package/dist/runtime/goals/presentation.js.map +1 -0
  105. package/dist/runtime/goals/prompt.d.ts.map +1 -1
  106. package/dist/runtime/goals/prompt.js +38 -8
  107. package/dist/runtime/goals/prompt.js.map +1 -1
  108. package/dist/runtime/goals/tools.d.ts +18 -1
  109. package/dist/runtime/goals/tools.d.ts.map +1 -1
  110. package/dist/runtime/goals/tools.js +310 -30
  111. package/dist/runtime/goals/tools.js.map +1 -1
  112. package/dist/runtime/goals/types.d.ts +247 -7
  113. package/dist/runtime/goals/types.d.ts.map +1 -1
  114. package/dist/runtime/goals/types.js +8 -2
  115. package/dist/runtime/goals/types.js.map +1 -1
  116. package/dist/runtime/subagents/child-executor-guard.d.ts +12 -4
  117. package/dist/runtime/subagents/child-executor-guard.d.ts.map +1 -1
  118. package/dist/runtime/subagents/child-executor-guard.js +397 -61
  119. package/dist/runtime/subagents/child-executor-guard.js.map +1 -1
  120. package/dist/runtime/subagents/presets.d.ts +4 -5
  121. package/dist/runtime/subagents/presets.d.ts.map +1 -1
  122. package/dist/runtime/subagents/presets.js +18 -33
  123. package/dist/runtime/subagents/presets.js.map +1 -1
  124. package/dist/runtime/subagents/production.d.ts +3 -1
  125. package/dist/runtime/subagents/production.d.ts.map +1 -1
  126. package/dist/runtime/subagents/production.js +37 -7
  127. package/dist/runtime/subagents/production.js.map +1 -1
  128. package/dist/runtime/subagents/runner.d.ts.map +1 -1
  129. package/dist/runtime/subagents/runner.js +24 -3
  130. package/dist/runtime/subagents/runner.js.map +1 -1
  131. package/dist/runtime/subagents/runtime-integration.d.ts +3 -0
  132. package/dist/runtime/subagents/runtime-integration.d.ts.map +1 -1
  133. package/dist/runtime/subagents/runtime-integration.js +18 -7
  134. package/dist/runtime/subagents/runtime-integration.js.map +1 -1
  135. package/dist/runtime/subagents/supervisor.d.ts +4 -4
  136. package/dist/runtime/subagents/supervisor.d.ts.map +1 -1
  137. package/dist/runtime/subagents/supervisor.js +39 -19
  138. package/dist/runtime/subagents/supervisor.js.map +1 -1
  139. package/dist/runtime/subagents/types.d.ts +7 -0
  140. package/dist/runtime/subagents/types.d.ts.map +1 -1
  141. package/dist/runtime/subagents/types.js +12 -1
  142. package/dist/runtime/subagents/types.js.map +1 -1
  143. package/dist/runtime/turn-controller.d.ts.map +1 -1
  144. package/dist/runtime/turn-controller.js +3 -1
  145. package/dist/runtime/turn-controller.js.map +1 -1
  146. package/dist/runtime/ui-events.d.ts +23 -0
  147. package/dist/runtime/ui-events.d.ts.map +1 -1
  148. package/dist/runtime/ui-events.js +5 -5
  149. package/dist/runtime/ui-events.js.map +1 -1
  150. package/dist/services/config.d.ts +1 -1
  151. package/dist/services/config.d.ts.map +1 -1
  152. package/dist/services/config.js +55 -49
  153. package/dist/services/config.js.map +1 -1
  154. package/dist/services/doctor.d.ts.map +1 -1
  155. package/dist/services/doctor.js +163 -17
  156. package/dist/services/doctor.js.map +1 -1
  157. package/dist/services/global-config.d.ts +31 -0
  158. package/dist/services/global-config.d.ts.map +1 -1
  159. package/dist/services/global-config.js.map +1 -1
  160. package/dist/services/goal-storage.d.ts +9 -4
  161. package/dist/services/goal-storage.d.ts.map +1 -1
  162. package/dist/services/goal-storage.js +1113 -75
  163. package/dist/services/goal-storage.js.map +1 -1
  164. package/dist/services/llm.d.ts +19 -0
  165. package/dist/services/llm.d.ts.map +1 -1
  166. package/dist/services/llm.js +153 -20
  167. package/dist/services/llm.js.map +1 -1
  168. package/dist/services/model-catalog.d.ts +2 -0
  169. package/dist/services/model-catalog.d.ts.map +1 -1
  170. package/dist/services/model-catalog.js +25 -15
  171. package/dist/services/model-catalog.js.map +1 -1
  172. package/dist/services/model-context.d.ts.map +1 -1
  173. package/dist/services/model-context.js +36 -0
  174. package/dist/services/model-context.js.map +1 -1
  175. package/dist/services/model-registry.d.ts +1 -1
  176. package/dist/services/model-registry.d.ts.map +1 -1
  177. package/dist/services/model-registry.js +101 -19
  178. package/dist/services/model-registry.js.map +1 -1
  179. package/dist/services/provider-resilience/coordinator.d.ts +2 -1
  180. package/dist/services/provider-resilience/coordinator.d.ts.map +1 -1
  181. package/dist/services/provider-resilience/coordinator.js +7 -6
  182. package/dist/services/provider-resilience/coordinator.js.map +1 -1
  183. package/dist/services/provider-resilience/error-classifier.d.ts.map +1 -1
  184. package/dist/services/provider-resilience/error-classifier.js +67 -17
  185. package/dist/services/provider-resilience/error-classifier.js.map +1 -1
  186. package/dist/services/provider-resilience/types.d.ts +1 -1
  187. package/dist/services/provider-resilience/types.d.ts.map +1 -1
  188. package/dist/services/provider-resilience/types.js.map +1 -1
  189. package/dist/services/redaction.d.ts.map +1 -1
  190. package/dist/services/redaction.js +9 -1
  191. package/dist/services/redaction.js.map +1 -1
  192. package/dist/services/session-storage.d.ts +12 -1
  193. package/dist/services/session-storage.d.ts.map +1 -1
  194. package/dist/services/session-storage.js +23 -7
  195. package/dist/services/session-storage.js.map +1 -1
  196. package/dist/services/storage-maintenance.d.ts +73 -3
  197. package/dist/services/storage-maintenance.d.ts.map +1 -1
  198. package/dist/services/storage-maintenance.js +771 -104
  199. package/dist/services/storage-maintenance.js.map +1 -1
  200. package/dist/services/task-manager.d.ts.map +1 -1
  201. package/dist/services/task-manager.js +2 -2
  202. package/dist/services/task-manager.js.map +1 -1
  203. package/dist/services/tool-allowlist.d.ts +100 -0
  204. package/dist/services/tool-allowlist.d.ts.map +1 -0
  205. package/dist/services/tool-allowlist.js +250 -0
  206. package/dist/services/tool-allowlist.js.map +1 -0
  207. package/dist/services/web-search-adapters.d.ts.map +1 -1
  208. package/dist/services/web-search-adapters.js +89 -49
  209. package/dist/services/web-search-adapters.js.map +1 -1
  210. package/dist/services/web-search-mcp.d.ts.map +1 -1
  211. package/dist/services/web-search-mcp.js +34 -37
  212. package/dist/services/web-search-mcp.js.map +1 -1
  213. package/dist/services/workspace-state.d.ts +4 -0
  214. package/dist/services/workspace-state.d.ts.map +1 -1
  215. package/dist/services/workspace-state.js +30 -9
  216. package/dist/services/workspace-state.js.map +1 -1
  217. package/dist/terminal-ui/launch.d.ts +24 -2
  218. package/dist/terminal-ui/launch.d.ts.map +1 -1
  219. package/dist/terminal-ui/launch.js +166 -8
  220. package/dist/terminal-ui/launch.js.map +1 -1
  221. package/dist/tools/git.d.ts +4 -0
  222. package/dist/tools/git.d.ts.map +1 -1
  223. package/dist/tools/git.js +585 -30
  224. package/dist/tools/git.js.map +1 -1
  225. package/dist/tools/index.d.ts.map +1 -1
  226. package/dist/tools/index.js +79 -11
  227. package/dist/tools/index.js.map +1 -1
  228. package/dist/tools/mcp.d.ts.map +1 -1
  229. package/dist/tools/mcp.js +20 -12
  230. package/dist/tools/mcp.js.map +1 -1
  231. package/dist/tools/sandbox.d.ts +139 -0
  232. package/dist/tools/sandbox.d.ts.map +1 -0
  233. package/dist/tools/sandbox.js +485 -0
  234. package/dist/tools/sandbox.js.map +1 -0
  235. package/dist/tools/web.d.ts.map +1 -1
  236. package/dist/tools/web.js +149 -54
  237. package/dist/tools/web.js.map +1 -1
  238. package/dist/tui-ui/launch.d.ts.map +1 -1
  239. package/dist/tui-ui/launch.js +46 -8
  240. package/dist/tui-ui/launch.js.map +1 -1
  241. package/dist/tui-ui/layout.d.ts.map +1 -1
  242. package/dist/tui-ui/layout.js +98 -23
  243. package/dist/tui-ui/layout.js.map +1 -1
  244. package/dist/tui-ui/pickers.d.ts.map +1 -1
  245. package/dist/tui-ui/pickers.js +4 -3
  246. package/dist/tui-ui/pickers.js.map +1 -1
  247. package/dist/tui-ui/runner.d.ts +7 -0
  248. package/dist/tui-ui/runner.d.ts.map +1 -1
  249. package/dist/tui-ui/runner.js +95 -1
  250. package/dist/tui-ui/runner.js.map +1 -1
  251. package/dist/tui-ui/state.d.ts +25 -1
  252. package/dist/tui-ui/state.d.ts.map +1 -1
  253. package/dist/tui-ui/state.js +95 -37
  254. package/dist/tui-ui/state.js.map +1 -1
  255. package/dist/tui-ui/terminal-image.d.ts +3 -13
  256. package/dist/tui-ui/terminal-image.d.ts.map +1 -1
  257. package/dist/tui-ui/terminal-image.js +5 -160
  258. package/dist/tui-ui/terminal-image.js.map +1 -1
  259. package/dist/utils/mask.d.ts +28 -0
  260. package/dist/utils/mask.d.ts.map +1 -0
  261. package/dist/utils/mask.js +54 -0
  262. package/dist/utils/mask.js.map +1 -0
  263. package/package.json +14 -9
  264. package/dist/core/state.d.ts +0 -94
  265. package/dist/core/state.d.ts.map +0 -1
  266. package/dist/core/state.js +0 -178
  267. package/dist/core/state.js.map +0 -1
  268. package/dist/ink/bidi.d.ts +0 -16
  269. package/dist/ink/bidi.d.ts.map +0 -1
  270. package/dist/ink/bidi.js +0 -124
  271. package/dist/ink/bidi.js.map +0 -1
  272. package/dist/ink/clearTerminal.d.ts +0 -14
  273. package/dist/ink/clearTerminal.d.ts.map +0 -1
  274. package/dist/ink/clearTerminal.js +0 -63
  275. package/dist/ink/clearTerminal.js.map +0 -1
  276. package/dist/ink/colorize.d.ts +0 -17
  277. package/dist/ink/colorize.d.ts.map +0 -1
  278. package/dist/ink/colorize.js +0 -208
  279. package/dist/ink/colorize.js.map +0 -1
  280. package/dist/ink/components/App.d.ts +0 -73
  281. package/dist/ink/components/App.d.ts.map +0 -1
  282. package/dist/ink/components/App.js +0 -646
  283. package/dist/ink/components/App.js.map +0 -1
  284. package/dist/ink/components/AppContext.d.ts +0 -12
  285. package/dist/ink/components/AppContext.d.ts.map +0 -1
  286. package/dist/ink/components/AppContext.js +0 -14
  287. package/dist/ink/components/AppContext.js.map +0 -1
  288. package/dist/ink/components/Box.d.ts +0 -44
  289. package/dist/ink/components/Box.d.ts.map +0 -1
  290. package/dist/ink/components/Box.js +0 -191
  291. package/dist/ink/components/Box.js.map +0 -1
  292. package/dist/ink/components/ClockContext.d.ts +0 -9
  293. package/dist/ink/components/ClockContext.d.ts.map +0 -1
  294. package/dist/ink/components/ClockContext.js +0 -146
  295. package/dist/ink/components/ClockContext.js.map +0 -1
  296. package/dist/ink/components/CursorDeclarationContext.d.ts +0 -23
  297. package/dist/ink/components/CursorDeclarationContext.d.ts.map +0 -1
  298. package/dist/ink/components/CursorDeclarationContext.js +0 -6
  299. package/dist/ink/components/CursorDeclarationContext.js.map +0 -1
  300. package/dist/ink/components/ErrorOverview.d.ts +0 -6
  301. package/dist/ink/components/ErrorOverview.d.ts.map +0 -1
  302. package/dist/ink/components/ErrorOverview.js +0 -27
  303. package/dist/ink/components/ErrorOverview.js.map +0 -1
  304. package/dist/ink/components/Newline.d.ts +0 -13
  305. package/dist/ink/components/Newline.d.ts.map +0 -1
  306. package/dist/ink/components/Newline.js +0 -36
  307. package/dist/ink/components/Newline.js.map +0 -1
  308. package/dist/ink/components/NoSelect.d.ts +0 -20
  309. package/dist/ink/components/NoSelect.d.ts.map +0 -1
  310. package/dist/ink/components/NoSelect.js +0 -63
  311. package/dist/ink/components/NoSelect.js.map +0 -1
  312. package/dist/ink/components/RawAnsi.d.ts +0 -17
  313. package/dist/ink/components/RawAnsi.d.ts.map +0 -1
  314. package/dist/ink/components/RawAnsi.js +0 -52
  315. package/dist/ink/components/RawAnsi.js.map +0 -1
  316. package/dist/ink/components/Spacer.d.ts +0 -6
  317. package/dist/ink/components/Spacer.d.ts.map +0 -1
  318. package/dist/ink/components/Spacer.js +0 -26
  319. package/dist/ink/components/Spacer.js.map +0 -1
  320. package/dist/ink/components/StdinContext.d.ts +0 -28
  321. package/dist/ink/components/StdinContext.d.ts.map +0 -1
  322. package/dist/ink/components/StdinContext.js +0 -19
  323. package/dist/ink/components/StdinContext.js.map +0 -1
  324. package/dist/ink/components/TerminalFocusContext.d.ts +0 -10
  325. package/dist/ink/components/TerminalFocusContext.d.ts.map +0 -1
  326. package/dist/ink/components/TerminalFocusContext.js +0 -81
  327. package/dist/ink/components/TerminalFocusContext.js.map +0 -1
  328. package/dist/ink/components/TerminalSizeContext.d.ts +0 -6
  329. package/dist/ink/components/TerminalSizeContext.d.ts.map +0 -1
  330. package/dist/ink/components/TerminalSizeContext.js +0 -6
  331. package/dist/ink/components/TerminalSizeContext.js.map +0 -1
  332. package/dist/ink/components/Text.d.ts +0 -56
  333. package/dist/ink/components/Text.d.ts.map +0 -1
  334. package/dist/ink/components/Text.js +0 -201
  335. package/dist/ink/components/Text.js.map +0 -1
  336. package/dist/ink/constants.d.ts +0 -2
  337. package/dist/ink/constants.d.ts.map +0 -1
  338. package/dist/ink/constants.js +0 -6
  339. package/dist/ink/constants.js.map +0 -1
  340. package/dist/ink/devtools.d.ts +0 -3
  341. package/dist/ink/devtools.d.ts.map +0 -1
  342. package/dist/ink/devtools.js +0 -5
  343. package/dist/ink/devtools.js.map +0 -1
  344. package/dist/ink/dom.d.ts +0 -77
  345. package/dist/ink/dom.d.ts.map +0 -1
  346. package/dist/ink/dom.js +0 -322
  347. package/dist/ink/dom.js.map +0 -1
  348. package/dist/ink/events/click-event.d.ts +0 -32
  349. package/dist/ink/events/click-event.d.ts.map +0 -1
  350. package/dist/ink/events/click-event.js +0 -30
  351. package/dist/ink/events/click-event.js.map +0 -1
  352. package/dist/ink/events/dispatcher.d.ts +0 -41
  353. package/dist/ink/events/dispatcher.d.ts.map +0 -1
  354. package/dist/ink/events/dispatcher.js +0 -181
  355. package/dist/ink/events/dispatcher.js.map +0 -1
  356. package/dist/ink/events/emitter.d.ts +0 -6
  357. package/dist/ink/events/emitter.d.ts.map +0 -1
  358. package/dist/ink/events/emitter.js +0 -36
  359. package/dist/ink/events/emitter.js.map +0 -1
  360. package/dist/ink/events/event-handlers.d.ts +0 -47
  361. package/dist/ink/events/event-handlers.d.ts.map +0 -1
  362. package/dist/ink/events/event-handlers.js +0 -34
  363. package/dist/ink/events/event-handlers.js.map +0 -1
  364. package/dist/ink/events/event.d.ts +0 -6
  365. package/dist/ink/events/event.d.ts.map +0 -1
  366. package/dist/ink/events/event.js +0 -16
  367. package/dist/ink/events/event.js.map +0 -1
  368. package/dist/ink/events/focus-event.d.ts +0 -14
  369. package/dist/ink/events/focus-event.d.ts.map +0 -1
  370. package/dist/ink/events/focus-event.js +0 -20
  371. package/dist/ink/events/focus-event.js.map +0 -1
  372. package/dist/ink/events/input-event.d.ts +0 -31
  373. package/dist/ink/events/input-event.d.ts.map +0 -1
  374. package/dist/ink/events/input-event.js +0 -163
  375. package/dist/ink/events/input-event.js.map +0 -1
  376. package/dist/ink/events/keyboard-event.d.ts +0 -20
  377. package/dist/ink/events/keyboard-event.d.ts.map +0 -1
  378. package/dist/ink/events/keyboard-event.js +0 -44
  379. package/dist/ink/events/keyboard-event.js.map +0 -1
  380. package/dist/ink/events/terminal-event.d.ts +0 -55
  381. package/dist/ink/events/terminal-event.d.ts.map +0 -1
  382. package/dist/ink/events/terminal-event.js +0 -79
  383. package/dist/ink/events/terminal-event.js.map +0 -1
  384. package/dist/ink/events/terminal-focus-event.d.ts +0 -14
  385. package/dist/ink/events/terminal-focus-event.d.ts.map +0 -1
  386. package/dist/ink/events/terminal-focus-event.js +0 -19
  387. package/dist/ink/events/terminal-focus-event.js.map +0 -1
  388. package/dist/ink/focus.d.ts +0 -44
  389. package/dist/ink/focus.d.ts.map +0 -1
  390. package/dist/ink/focus.js +0 -164
  391. package/dist/ink/focus.js.map +0 -1
  392. package/dist/ink/frame.d.ts +0 -95
  393. package/dist/ink/frame.d.ts.map +0 -1
  394. package/dist/ink/frame.js +0 -35
  395. package/dist/ink/frame.js.map +0 -1
  396. package/dist/ink/get-max-width.d.ts +0 -18
  397. package/dist/ink/get-max-width.d.ts.map +0 -1
  398. package/dist/ink/get-max-width.js +0 -26
  399. package/dist/ink/get-max-width.js.map +0 -1
  400. package/dist/ink/hit-test.d.ts +0 -34
  401. package/dist/ink/hit-test.d.ts.map +0 -1
  402. package/dist/ink/hit-test.js +0 -119
  403. package/dist/ink/hit-test.js.map +0 -1
  404. package/dist/ink/hooks/use-animation-frame.d.ts +0 -27
  405. package/dist/ink/hooks/use-animation-frame.d.ts.map +0 -1
  406. package/dist/ink/hooks/use-animation-frame.js +0 -52
  407. package/dist/ink/hooks/use-animation-frame.js.map +0 -1
  408. package/dist/ink/hooks/use-app.d.ts +0 -6
  409. package/dist/ink/hooks/use-app.d.ts.map +0 -1
  410. package/dist/ink/hooks/use-app.js +0 -13
  411. package/dist/ink/hooks/use-app.js.map +0 -1
  412. package/dist/ink/hooks/use-declared-cursor.d.ts +0 -27
  413. package/dist/ink/hooks/use-declared-cursor.d.ts.map +0 -1
  414. package/dist/ink/hooks/use-declared-cursor.js +0 -67
  415. package/dist/ink/hooks/use-declared-cursor.js.map +0 -1
  416. package/dist/ink/hooks/use-input.d.ts +0 -38
  417. package/dist/ink/hooks/use-input.d.ts.map +0 -1
  418. package/dist/ink/hooks/use-input.js +0 -86
  419. package/dist/ink/hooks/use-input.js.map +0 -1
  420. package/dist/ink/hooks/use-interval.d.ts +0 -19
  421. package/dist/ink/hooks/use-interval.d.ts.map +0 -1
  422. package/dist/ink/hooks/use-interval.js +0 -59
  423. package/dist/ink/hooks/use-interval.js.map +0 -1
  424. package/dist/ink/hooks/use-search-highlight.d.ts +0 -31
  425. package/dist/ink/hooks/use-search-highlight.d.ts.map +0 -1
  426. package/dist/ink/hooks/use-search-highlight.js +0 -39
  427. package/dist/ink/hooks/use-search-highlight.js.map +0 -1
  428. package/dist/ink/hooks/use-selection.d.ts +0 -40
  429. package/dist/ink/hooks/use-selection.d.ts.map +0 -1
  430. package/dist/ink/hooks/use-selection.js +0 -68
  431. package/dist/ink/hooks/use-selection.js.map +0 -1
  432. package/dist/ink/hooks/use-stdin.d.ts +0 -6
  433. package/dist/ink/hooks/use-stdin.d.ts.map +0 -1
  434. package/dist/ink/hooks/use-stdin.js +0 -13
  435. package/dist/ink/hooks/use-stdin.js.map +0 -1
  436. package/dist/ink/hooks/use-tab-status.d.ts +0 -14
  437. package/dist/ink/hooks/use-tab-status.d.ts.map +0 -1
  438. package/dist/ink/hooks/use-tab-status.js +0 -61
  439. package/dist/ink/hooks/use-tab-status.js.map +0 -1
  440. package/dist/ink/hooks/use-terminal-focus.d.ts +0 -11
  441. package/dist/ink/hooks/use-terminal-focus.d.ts.map +0 -1
  442. package/dist/ink/hooks/use-terminal-focus.js +0 -22
  443. package/dist/ink/hooks/use-terminal-focus.js.map +0 -1
  444. package/dist/ink/hooks/use-terminal-title.d.ts +0 -13
  445. package/dist/ink/hooks/use-terminal-title.d.ts.map +0 -1
  446. package/dist/ink/hooks/use-terminal-title.js +0 -36
  447. package/dist/ink/hooks/use-terminal-title.js.map +0 -1
  448. package/dist/ink/hooks/use-terminal-viewport.d.ts +0 -30
  449. package/dist/ink/hooks/use-terminal-viewport.d.ts.map +0 -1
  450. package/dist/ink/hooks/use-terminal-viewport.js +0 -81
  451. package/dist/ink/hooks/use-terminal-viewport.js.map +0 -1
  452. package/dist/ink/ink.d.ts +0 -371
  453. package/dist/ink/ink.d.ts.map +0 -1
  454. package/dist/ink/ink.js +0 -1686
  455. package/dist/ink/ink.js.map +0 -1
  456. package/dist/ink/instances.d.ts +0 -4
  457. package/dist/ink/instances.d.ts.map +0 -1
  458. package/dist/ink/instances.js +0 -10
  459. package/dist/ink/instances.js.map +0 -1
  460. package/dist/ink/line-width-cache.d.ts +0 -2
  461. package/dist/ink/line-width-cache.d.ts.map +0 -1
  462. package/dist/ink/line-width-cache.js +0 -23
  463. package/dist/ink/line-width-cache.js.map +0 -1
  464. package/dist/ink/log-update.d.ts +0 -18
  465. package/dist/ink/log-update.d.ts.map +0 -1
  466. package/dist/ink/log-update.js +0 -637
  467. package/dist/ink/log-update.js.map +0 -1
  468. package/dist/ink/measure-element.d.ts +0 -17
  469. package/dist/ink/measure-element.d.ts.map +0 -1
  470. package/dist/ink/measure-element.js +0 -11
  471. package/dist/ink/measure-element.js.map +0 -1
  472. package/dist/ink/measure-text.d.ts +0 -7
  473. package/dist/ink/measure-text.d.ts.map +0 -1
  474. package/dist/ink/measure-text.js +0 -38
  475. package/dist/ink/measure-text.js.map +0 -1
  476. package/dist/ink/node-cache.d.ts +0 -21
  477. package/dist/ink/node-cache.d.ts.map +0 -1
  478. package/dist/ink/node-cache.js +0 -36
  479. package/dist/ink/node-cache.js.map +0 -1
  480. package/dist/ink/optimizer.d.ts +0 -16
  481. package/dist/ink/optimizer.d.ts.map +0 -1
  482. package/dist/ink/optimizer.js +0 -85
  483. package/dist/ink/optimizer.js.map +0 -1
  484. package/dist/ink/output.d.ts +0 -120
  485. package/dist/ink/output.d.ts.map +0 -1
  486. package/dist/ink/output.js +0 -559
  487. package/dist/ink/output.js.map +0 -1
  488. package/dist/ink/parse-keypress.d.ts +0 -112
  489. package/dist/ink/parse-keypress.d.ts.map +0 -1
  490. package/dist/ink/parse-keypress.js +0 -719
  491. package/dist/ink/parse-keypress.js.map +0 -1
  492. package/dist/ink/parse-keypress.test.d.ts +0 -2
  493. package/dist/ink/parse-keypress.test.d.ts.map +0 -1
  494. package/dist/ink/parse-keypress.test.js +0 -37
  495. package/dist/ink/parse-keypress.test.js.map +0 -1
  496. package/dist/ink/reconciler.d.ts +0 -12
  497. package/dist/ink/reconciler.d.ts.map +0 -1
  498. package/dist/ink/reconciler.js +0 -456
  499. package/dist/ink/reconciler.js.map +0 -1
  500. package/dist/ink/render-border.d.ts +0 -25
  501. package/dist/ink/render-border.d.ts.map +0 -1
  502. package/dist/ink/render-border.js +0 -141
  503. package/dist/ink/render-border.js.map +0 -1
  504. package/dist/ink/render-node-to-output.d.ts +0 -46
  505. package/dist/ink/render-node-to-output.d.ts.map +0 -1
  506. package/dist/ink/render-node-to-output.js +0 -1257
  507. package/dist/ink/render-node-to-output.js.map +0 -1
  508. package/dist/ink/render-to-screen.d.ts +0 -47
  509. package/dist/ink/render-to-screen.d.ts.map +0 -1
  510. package/dist/ink/render-to-screen.js +0 -213
  511. package/dist/ink/render-to-screen.js.map +0 -1
  512. package/dist/ink/renderer.d.ts +0 -15
  513. package/dist/ink/renderer.d.ts.map +0 -1
  514. package/dist/ink/renderer.js +0 -169
  515. package/dist/ink/renderer.js.map +0 -1
  516. package/dist/ink/root.d.ts +0 -75
  517. package/dist/ink/root.d.ts.map +0 -1
  518. package/dist/ink/root.js +0 -89
  519. package/dist/ink/root.js.map +0 -1
  520. package/dist/ink/screen.d.ts +0 -270
  521. package/dist/ink/screen.d.ts.map +0 -1
  522. package/dist/ink/screen.js +0 -1194
  523. package/dist/ink/screen.js.map +0 -1
  524. package/dist/ink/searchHighlight.d.ts +0 -21
  525. package/dist/ink/searchHighlight.d.ts.map +0 -1
  526. package/dist/ink/searchHighlight.js +0 -82
  527. package/dist/ink/searchHighlight.js.map +0 -1
  528. package/dist/ink/selection.d.ts +0 -230
  529. package/dist/ink/selection.d.ts.map +0 -1
  530. package/dist/ink/selection.js +0 -814
  531. package/dist/ink/selection.js.map +0 -1
  532. package/dist/ink/squash-text-nodes.d.ts +0 -23
  533. package/dist/ink/squash-text-nodes.d.ts.map +0 -1
  534. package/dist/ink/squash-text-nodes.js +0 -60
  535. package/dist/ink/squash-text-nodes.js.map +0 -1
  536. package/dist/ink/stringWidth.d.ts +0 -2
  537. package/dist/ink/stringWidth.d.ts.map +0 -1
  538. package/dist/ink/stringWidth.js +0 -207
  539. package/dist/ink/stringWidth.js.map +0 -1
  540. package/dist/ink/styles.d.ts +0 -307
  541. package/dist/ink/styles.d.ts.map +0 -1
  542. package/dist/ink/styles.js +0 -302
  543. package/dist/ink/styles.js.map +0 -1
  544. package/dist/ink/supports-hyperlinks.d.ts +0 -14
  545. package/dist/ink/supports-hyperlinks.d.ts.map +0 -1
  546. package/dist/ink/supports-hyperlinks.js +0 -48
  547. package/dist/ink/supports-hyperlinks.js.map +0 -1
  548. package/dist/ink/tabstops.d.ts +0 -2
  549. package/dist/ink/tabstops.d.ts.map +0 -1
  550. package/dist/ink/tabstops.js +0 -43
  551. package/dist/ink/tabstops.js.map +0 -1
  552. package/dist/ink/terminal-focus-state.d.ts +0 -7
  553. package/dist/ink/terminal-focus-state.d.ts.map +0 -1
  554. package/dist/ink/terminal-focus-state.js +0 -43
  555. package/dist/ink/terminal-focus-state.js.map +0 -1
  556. package/dist/ink/terminal-querier.d.ts +0 -130
  557. package/dist/ink/terminal-querier.d.ts.map +0 -1
  558. package/dist/ink/terminal-querier.js +0 -184
  559. package/dist/ink/terminal-querier.js.map +0 -1
  560. package/dist/ink/terminal.d.ts +0 -56
  561. package/dist/ink/terminal.d.ts.map +0 -1
  562. package/dist/ink/terminal.js +0 -249
  563. package/dist/ink/terminal.js.map +0 -1
  564. package/dist/ink/termio/csi.d.ts +0 -166
  565. package/dist/ink/termio/csi.d.ts.map +0 -1
  566. package/dist/ink/termio/csi.js +0 -285
  567. package/dist/ink/termio/csi.js.map +0 -1
  568. package/dist/ink/termio/dec.d.ts +0 -38
  569. package/dist/ink/termio/dec.d.ts.map +0 -1
  570. package/dist/ink/termio/dec.js +0 -59
  571. package/dist/ink/termio/dec.js.map +0 -1
  572. package/dist/ink/termio.d.ts +0 -25
  573. package/dist/ink/termio.d.ts.map +0 -1
  574. package/dist/ink/termio.js +0 -32
  575. package/dist/ink/termio.js.map +0 -1
  576. package/dist/ink/useTerminalNotification.d.ts +0 -27
  577. package/dist/ink/useTerminalNotification.d.ts.map +0 -1
  578. package/dist/ink/useTerminalNotification.js +0 -62
  579. package/dist/ink/useTerminalNotification.js.map +0 -1
  580. package/dist/ink/warn.d.ts +0 -2
  581. package/dist/ink/warn.d.ts.map +0 -1
  582. package/dist/ink/warn.js +0 -14
  583. package/dist/ink/warn.js.map +0 -1
  584. package/dist/ink/widest-line.d.ts +0 -2
  585. package/dist/ink/widest-line.d.ts.map +0 -1
  586. package/dist/ink/widest-line.js +0 -18
  587. package/dist/ink/widest-line.js.map +0 -1
  588. package/dist/ink/wrap-text.d.ts +0 -3
  589. package/dist/ink/wrap-text.d.ts.map +0 -1
  590. package/dist/ink/wrap-text.js +0 -61
  591. package/dist/ink/wrap-text.js.map +0 -1
  592. package/dist/ink/wrapAnsi.d.ts +0 -8
  593. package/dist/ink/wrapAnsi.d.ts.map +0 -1
  594. package/dist/ink/wrapAnsi.js +0 -13
  595. package/dist/ink/wrapAnsi.js.map +0 -1
  596. package/dist/ink-ui/components/TerminalCursor.d.ts +0 -15
  597. package/dist/ink-ui/components/TerminalCursor.d.ts.map +0 -1
  598. package/dist/ink-ui/components/TerminalCursor.js +0 -49
  599. package/dist/ink-ui/components/TerminalCursor.js.map +0 -1
  600. package/dist/ink-ui/runtime/stdout.d.ts +0 -11
  601. package/dist/ink-ui/runtime/stdout.d.ts.map +0 -1
  602. package/dist/ink-ui/runtime/stdout.js +0 -82
  603. package/dist/ink-ui/runtime/stdout.js.map +0 -1
  604. package/dist/runtime/goal-coordinator.d.ts +0 -66
  605. package/dist/runtime/goal-coordinator.d.ts.map +0 -1
  606. package/dist/runtime/goal-coordinator.js +0 -200
  607. package/dist/runtime/goal-coordinator.js.map +0 -1
  608. package/dist/screens/REPL.d.ts +0 -21
  609. package/dist/screens/REPL.d.ts.map +0 -1
  610. package/dist/screens/REPL.js +0 -139
  611. package/dist/screens/REPL.js.map +0 -1
  612. package/dist/services/goal-sidecar.d.ts +0 -96
  613. package/dist/services/goal-sidecar.d.ts.map +0 -1
  614. package/dist/services/goal-sidecar.js +0 -145
  615. package/dist/services/goal-sidecar.js.map +0 -1
  616. package/dist/tools/goal.d.ts +0 -17
  617. package/dist/tools/goal.d.ts.map +0 -1
  618. package/dist/tools/goal.js +0 -191
  619. package/dist/tools/goal.js.map +0 -1
  620. package/dist/ui/ink/components/App.d.ts +0 -6
  621. package/dist/ui/ink/components/App.d.ts.map +0 -1
  622. package/dist/ui/ink/components/App.js +0 -38
  623. package/dist/ui/ink/components/App.js.map +0 -1
  624. package/dist/ui/ink/components/CommandPanel.d.ts +0 -13
  625. package/dist/ui/ink/components/CommandPanel.d.ts.map +0 -1
  626. package/dist/ui/ink/components/CommandPanel.js +0 -41
  627. package/dist/ui/ink/components/CommandPanel.js.map +0 -1
  628. package/dist/ui/ink/components/InputLine.d.ts +0 -8
  629. package/dist/ui/ink/components/InputLine.d.ts.map +0 -1
  630. package/dist/ui/ink/components/InputLine.js +0 -15
  631. package/dist/ui/ink/components/InputLine.js.map +0 -1
  632. package/dist/ui/ink/components/StatusBar.d.ts +0 -9
  633. package/dist/ui/ink/components/StatusBar.d.ts.map +0 -1
  634. package/dist/ui/ink/components/StatusBar.js +0 -18
  635. package/dist/ui/ink/components/StatusBar.js.map +0 -1
  636. package/dist/ui/ink/components/index.d.ts +0 -5
  637. package/dist/ui/ink/components/index.d.ts.map +0 -1
  638. package/dist/ui/ink/components/index.js +0 -5
  639. package/dist/ui/ink/components/index.js.map +0 -1
  640. package/dist/utils/chalk.d.ts +0 -9
  641. package/dist/utils/chalk.d.ts.map +0 -1
  642. package/dist/utils/chalk.js +0 -16
  643. package/dist/utils/chalk.js.map +0 -1
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.3 — Goal 连续性、模型配置与命令沙箱 POC
5
7
 
6
8
  [![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
7
- [![Node.js](https://img.shields.io/badge/node-%3E%3D18.0-green.svg)](https://nodejs.org)
9
+ [![Node.js](https://img.shields.io/badge/node-%3E%3D20.0-green.svg)](https://nodejs.org)
8
10
  [![TypeScript](https://img.shields.io/badge/typescript-5.0-blue.svg)](https://www.typescriptlang.org)
9
11
  [![npm](https://img.shields.io/npm/v/%40orion-agents%2Forion-code.svg)](https://www.npmjs.com/package/@orion-agents/orion-code)
10
12
 
@@ -20,36 +22,37 @@
20
22
 
21
23
  ### 核心理念
22
24
 
23
- | 维度 | 说明 |
24
- |------|------|
25
- | **AI 如马** | 强大的模型需要引导和约束 |
26
- | **Orion Code 如缰** | 精准控制方向,防止跑偏失控 |
27
- | **Harness 系统** | 安全边界、任务约束、结果验证 |
28
- | **工具调用** | LLM 自动调用工具完成任务 |
29
- | **记忆系统** | 分层记忆:工作 / 短期 / 长期 / 语义搜索 |
30
- | **MCP 协议** | 支持连接外部 MCP Server |
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
- | **工具编排** | 20+ 内置工具:文件读写、搜索、Shell、网页、记忆、任务、计划 |
39
- | **多模型支持** | OpenAI、Claude、DashScope(GLM/Qwen/Kimi)、自定义端点 |
40
- | **上下文感知** | 每个模型独立的上下文窗口,95% 自动压缩 |
41
- | **动态发现** | 启动时自动通过 `/models` 端点发现模型信息 |
42
- | **MCP 协议** | 完整 MCP 支持,心跳检测 + 指数退避重连 |
43
- | **记忆系统** | 用户 / 项目 / 会话记忆,支持语义搜索 |
44
- | **会话管理** | 会话持久化、历史恢复、摘要生成 |
45
- | **安全边界** | Bash 安全检查、审计日志、权限模式 |
46
- | **流式输出** | 实时 LLM 响应,Markdown 渲染 |
47
- | **TUI** | 默认且面向公众的主产品界面;支持 transcript、inspector、CJK 输入和工具输出 |
48
- | **terminal-ui** | 仅用于 runtime 验证、诊断、兼容性排查和必要回退的技术版本 |
49
- | **Ink** | 已废弃,不再承接新功能,计划在 v0.2.0 删除 |
50
- | **Print Mode** | 实验性 `-p/--print` 一次性入口,用于后续自动化/remote UI 验证 |
51
- | **状态栏** | 实时显示 Token 用量、成本、模型、上下文百分比 |
52
- | **精简配置** | 4 个用户字段,其余由 Agent 内部管理 |
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,可显式绑定端点、协议和上下文能力 |
53
56
 
54
57
  ---
55
58
 
@@ -57,7 +60,7 @@
57
60
 
58
61
  ### 环境要求
59
62
 
60
- - Node.js >= 18.0
63
+ - Node.js >= 20.0
61
64
  - npm >= 9.0
62
65
 
63
66
  ### 安装运行
@@ -80,7 +83,7 @@ export ORION_CODE_API_KEY=your-api-key
80
83
  # 方式 2: .env 文件
81
84
  cp .env.example .env
82
85
 
83
- # 方式 3: ~/.orion-code/orion-code.json(推荐)
86
+ # 方式 3: ~/.orion-code/orion.json(推荐)
84
87
  # 首次运行时自动创建
85
88
 
86
89
  # 启动默认公众产品 TUI
@@ -101,66 +104,150 @@ npm start -- --print "review the current git diff"
101
104
 
102
105
  ### 全局安装
103
106
 
107
+ 固定安装 v0.1.3:
108
+
104
109
  ```bash
105
- npm link
110
+ npm install -g @orion-agents/orion-code@0.1.3
106
111
  # 任意目录运行
107
112
  orion
108
113
  ```
109
114
 
115
+ 也可以在源码工作树中使用 `npm ci && npm run build && npm start`。
116
+
110
117
  公众体验、交互优化和新增工作流优先落在 TUI。`terminal-ui` 不作为与
111
118
  TUI 并行发展的公众产品;Ink 只保留迁移期兼容,不再增加产品能力。
112
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
+
113
132
  ---
114
133
 
115
134
  ## 配置
116
135
 
117
- ### 用户配置 (`~/.orion-code/orion-code.json`)
136
+ ### 用户配置 (`~/.orion-code/orion.json`)
118
137
 
119
- **4 个字段** 对用户开放,其余由 Agent 内部管理:
138
+ 当前推荐使用 `providers + models` 格式。旧的
139
+ `apiKey/apiBaseUrl/defaultModel/fallbackModel` 四字段格式仍可兼容读取,但启动时会提示迁移:
120
140
 
121
141
  ```json
122
142
  {
123
- "apiKey": "sk-xxx",
124
- "apiBaseUrl": "https://coding.dashscope.aliyuncs.com/v1",
125
- "defaultModel": "glm-5",
126
- "fallbackModel": "qwen-plus"
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 }
127
163
  }
128
164
  ```
129
165
 
130
- | 字段 | 必填 | 说明 |
131
- |------|------|------|
132
- | `apiKey` | 是 | LLM API 密钥 |
133
- | `apiBaseUrl` | 否 | API 端点 URL |
134
- | `defaultModel` | 否 | 默认模型(`glm-5`) |
135
- | `fallbackModel` | 否 | 失败时的降级模型 |
166
+ `provider.apiKey` 支持 `$ENV_VAR` 引用;模型上下文和最大输出应按实际 Provider
167
+ 能力填写。renderer 不从配置文件持久化读取:直接运行 `orion` 使用默认 TUI,
168
+ `--ui terminal` 只用于技术诊断和兼容回退。
136
169
 
137
- ### Agent 内部参数
170
+ ### 配置优先级
138
171
 
139
- | 参数 | 默认值 | 说明 |
140
- |------|--------|------|
141
- | `maxTokens` | 8192 | 最大输出 Token 数 |
142
- | `temperature` | 0.1 | 采样温度 |
143
- | `maxRetries` | 3 | 失败重试次数 |
144
- | `retryBaseDelay` | 1000ms | 重试基础延迟 |
172
+ ```
173
+ CLI 参数 > ~/.orion-code/orion.json > 环境变量 > 内部默认
174
+ ```
145
175
 
146
- ### 配置优先级
176
+ ### 项目级工具规则(`allowedTools`)
147
177
 
178
+ 权限规则写在 `projects["<项目绝对路径>"].allowedTools`,只作用于该仓库。规则叠加在
179
+ 工具自身的权限策略之上:**只能收紧,不能放宽**。
180
+
181
+ ```json
182
+ {
183
+ "projects": {
184
+ "/Users/me/work/api": {
185
+ "allowedTools": [
186
+ "exec_command(git status*)",
187
+ "exec_command(npm test*)",
188
+ "ask:exec_command(git push*)",
189
+ "deny:read_file(*.env)"
190
+ ]
191
+ }
192
+ }
193
+ }
148
194
  ```
149
- CLI 参数 > ~/.orion-code/orion-code.json > 环境变量 > 内部默认
195
+
196
+ - 语法:`[allow|ask|deny:]工具名[(参数通配)]`;`*` 匹配任意字符串,`?` 匹配单个字符,
197
+ 工具名写 `*` 表示匹配所有工具。
198
+ - 参数通配匹配的是调用参数中的 `command` / `file_path` / `path` / `url` / `pattern` /
199
+ `query`(按此顺序取第一个非空字符串)。
200
+ - 冲突时按“最严格优先”解析:`deny` > `ask` > `allow`,与书写顺序无关。
201
+ - `allow` 仅用于免去交互确认,**不会**覆盖工具自身的 `deny`、**不会**突破 plan 模式的
202
+ 只读约束,也**不会**自动放行破坏性调用。
203
+ - 无法解析的条目会被忽略而不是静默放行,可通过 `/config` 查看解析结果与非法条目。
204
+
205
+ ### 命令执行沙箱(`sandbox`)
206
+
207
+ `exec_command` 可在操作系统级沙箱内执行。这是**安全 POC**:后端在运行
208
+ 时实测探测,已配置但不可用的沙箱会**fail closed**(拒绝执行),而不会静默降级为
209
+ 无沙箱执行。
210
+
211
+ ```json
212
+ {
213
+ "sandbox": {
214
+ "profile": "none",
215
+ "backend": "auto",
216
+ "allowNetwork": false,
217
+ "writableRoots": [],
218
+ "image": "alpine:latest"
219
+ }
220
+ }
150
221
  ```
151
222
 
223
+ - **归属** — `sandbox` 位于全局配置(`~/.orion-code/orion.json`),并可在项目级
224
+ `projects["<项目绝对路径>"].sandbox` 覆盖。项目级按 key 单独覆盖,缺省 key 继承全局。
225
+ - **`profile`** — `none`(默认,不隔离,等价于旧版 `sh -c`)、`read-only`(任何位置不可写、无网络)、
226
+ `workspace-write`(写权限限定在工作区与临时目录,除非 `allowNetwork: true` 否则仍禁网)。
227
+ 未知取值(如新版 Orion 写入的更严格值)一律硬失败,绝不降级为 `none`。
228
+ - **`backend`** — `auto`(默认,自动选首个可用后端)、`seatbelt`(macOS `sandbox-exec`)、
229
+ `bubblewrap`(Linux `bwrap`)或 `docker`。每个后端都用真实执行探针校验,从不靠 `which` 推断。
230
+ - **`image`** — 仅 `docker` 需要,指定运行所用的容器镜像。
231
+ - **`writableRoots`** — `workspace-write` 可写入的额外宿主根目录(除工作区与临时目录外)。
232
+ 非字符串 / 空项会被丢弃。
233
+ - **迁移 / 回滚** — 新增 `sandbox` 完全向后兼容:默认 `profile: "none"` 与旧行为完全一致。
234
+ 删除该 key(或回退到沙箱前的版本)是安全回滚;旧版 Orion 会忽略该未知字段。不涉及任何敏感信息,无需脱敏。
235
+ - **已知限制** — `seatbelt` 不能嵌套在另一沙箱内(例如 Orion 自身运行在应用沙箱中时);
236
+ `docker` 在独立进程树中运行命令,只约束被 bind-mount 的部分(镜像根文件系统已通过 `--read-only` 设为只读);
237
+ 各后端均不限制 CPU / 内存。
238
+
152
239
  ### 环境变量
153
240
 
154
- | 变量 | 默认值 | 说明 |
155
- |------|--------|------|
156
- | `ORION_CODE_API_KEY` | - | LLM API 密钥 |
157
- | `ORION_CODE_API_BASE_URL` | - | API 基础 URL |
158
- | `ORION_CODE_MODEL` | `glm-5` | 默认模型 |
159
- | `ORION_CODE_MODE` | `development` | 运行模式 |
160
- | `ORION_CODE_LOG_LEVEL` | `info` | 日志级别 |
161
- | `ORION_CODE_EMBEDDING_PROVIDER` | - | Embedding 服务(ollama/openai) |
241
+ | 变量 | 默认值 | 说明 |
242
+ | ------------------------------- | ------------- | ------------------------------- |
243
+ | `ORION_CODE_API_KEY` | - | LLM API 密钥 |
244
+ | `ORION_CODE_API_BASE_URL` | - | API 基础 URL |
245
+ | `ORION_CODE_MODEL` | `gpt-4o` | 默认模型 |
246
+ | `ORION_CODE_MODE` | `development` | 运行模式 |
247
+ | `ORION_CODE_LOG_LEVEL` | `info` | 日志级别 |
248
+ | `ORION_CODE_EMBEDDING_PROVIDER` | - | Embedding 服务(ollama/openai) |
162
249
 
163
- 详见 [docs/config.md](docs/config.md)。
250
+ 运行 `/config` 可查看当前生效配置,`orion --help` 可查看 CLI 级覆盖方式。
164
251
 
165
252
  ---
166
253
 
@@ -168,26 +255,26 @@ CLI 参数 > ~/.orion-code/orion-code.json > 环境变量 > 内部默认
168
255
 
169
256
  ### 模型家族
170
257
 
171
- | 服务商 | 模型 | 端点 |
172
- |--------|------|------|
173
- | **GLM(智谱)** | `glm-5`, `glm-4` | DashScope coding |
258
+ | 服务商 | 模型 | 端点 |
259
+ | ---------------- | -------------------------------------------------- | ---------------- |
260
+ | **GLM(智谱)** | `glm-5`, `glm-4` | DashScope coding |
174
261
  | **Qwen(通义)** | `qwen-turbo`, `qwen-plus`, `qwen-max`, `qwen-long` | DashScope coding |
175
- | **OpenAI** | `gpt-4o`, `gpt-4o-mini`, `gpt-4` | OpenAI API |
176
- | **Claude** | `claude-sonnet-4-6`, `claude-opus-4-8` | Anthropic API |
177
- | **DeepSeek** | `deepseek-chat`, `deepseek-reasoner` | DeepSeek API |
262
+ | **OpenAI** | `gpt-4o`, `gpt-4o-mini`, `gpt-4` | OpenAI API |
263
+ | **Claude** | `claude-sonnet-4-6`, `claude-opus-4-8` | Anthropic API |
264
+ | **DeepSeek** | `deepseek-chat`, `deepseek-reasoner` | DeepSeek API |
178
265
 
179
266
  ### 上下文窗口
180
267
 
181
268
  Orion Code 跟踪每个模型的上下文窗口,在 **95% 用量时自动压缩**:
182
269
 
183
- | 模型 | 上下文 | 最大输出 |
184
- |------|--------|----------|
185
- | `glm-5` | 202,752 | 8,192 |
186
- | `qwen-long` | 1,000,000 | 8,192 |
187
- | `qwen-plus` | 131,072 | 8,192 |
188
- | `gpt-4o` | 128,000 | 16,384 |
189
- | `claude-sonnet-4-6` | 200,000 | 16,000 |
190
- | `claude-opus-4-8` | 200,000 | 32,000 |
270
+ | 模型 | 上下文 | 最大输出 |
271
+ | ------------------- | --------- | -------- |
272
+ | `glm-5` | 202,752 | 8,192 |
273
+ | `qwen-long` | 1,000,000 | 8,192 |
274
+ | `qwen-plus` | 131,072 | 8,192 |
275
+ | `gpt-4o` | 128,000 | 16,384 |
276
+ | `claude-sonnet-4-6` | 200,000 | 16,000 |
277
+ | `claude-opus-4-8` | 200,000 | 32,000 |
191
278
 
192
279
  未知模型默认使用 **128,000** 上下文。
193
280
 
@@ -209,43 +296,43 @@ Orion Code 跟踪每个模型的上下文窗口,在 **95% 用量时自动压
209
296
 
210
297
  ### 文件操作
211
298
 
212
- | 工具 | 说明 |
213
- |------|------|
214
- | `read_file` | 读取文件内容 |
215
- | `write_file` | 写入文件 |
216
- | `edit_file` | 编辑文件(行替换) |
217
- | `list_files` | 列出目录内容 |
218
- | `glob` | Glob 模式搜索文件 |
219
- | `grep` | 正则搜索文件内容 |
299
+ | 工具 | 说明 |
300
+ | ------------ | ------------------ |
301
+ | `read_file` | 读取文件内容 |
302
+ | `write_file` | 写入文件 |
303
+ | `edit_file` | 编辑文件(行替换) |
304
+ | `list_files` | 列出目录内容 |
305
+ | `glob` | Glob 模式搜索文件 |
306
+ | `grep` | 正则搜索文件内容 |
220
307
 
221
308
  ### Shell 执行
222
309
 
223
- | 工具 | 说明 |
224
- |------|------|
310
+ | 工具 | 说明 |
311
+ | -------------- | ----------------------------- |
225
312
  | `exec_command` | 执行 Shell 命令(带安全检查) |
226
313
 
227
314
  ### 网络工具
228
315
 
229
- | 工具 | 说明 |
230
- |------|------|
231
- | `web_fetch` | 抓取网页内容 |
232
- | `web_search` | 网络搜索 |
316
+ | 工具 | 说明 |
317
+ | ------------ | ------------ |
318
+ | `web_fetch` | 抓取网页内容 |
319
+ | `web_search` | 网络搜索 |
233
320
 
234
321
  ### 记忆系统
235
322
 
236
- | 工具 | 说明 |
237
- |------|------|
238
- | `memory_save` | 保存记忆 |
323
+ | 工具 | 说明 |
324
+ | --------------- | -------- |
325
+ | `memory_save` | 保存记忆 |
239
326
  | `memory_recall` | 搜索记忆 |
240
327
  | `memory_forget` | 删除记忆 |
241
328
 
242
329
  ### 任务管理
243
330
 
244
- | 工具 | 说明 |
245
- |------|------|
246
- | `todo_write` | 创建/更新任务列表 |
247
- | `enter_plan_mode` | 进入计划模式 |
248
- | `exit_plan_mode` | 退出计划模式 |
331
+ | 工具 | 说明 |
332
+ | ----------------- | ----------------- |
333
+ | `todo_write` | 创建/更新任务列表 |
334
+ | `enter_plan_mode` | 进入计划模式 |
335
+ | `exit_plan_mode` | 退出计划模式 |
249
336
 
250
337
  ---
251
338
 
@@ -314,29 +401,32 @@ ctxPercent = (promptTokens / 模型上下文窗口) × 100
314
401
 
315
402
  ---
316
403
 
317
- ## 交互命令
318
-
319
- | 命令 | 别名 | 说明 |
320
- |------|------|------|
321
- | `/help` | `/h` | 显示帮助信息 |
322
- | `/status` | `/s` | 系统状态总览 |
323
- | `/model` | - | 查看或切换模型 |
324
- | `/config` | - | 显示当前配置 |
325
- | `/cost` | - | 显示 Token 用量和成本 |
326
- | `/compact` | - | 手动触发上下文压缩 |
327
- | `/sessions` | - | 列出最近会话 |
328
- | `/resume` | - | 恢复上次会话 |
329
- | `/memory` | - | 记忆系统状态 |
330
- | `/memory reindex` | - | 重建语义搜索索引 |
331
- | `/skills` | - | 列出已加载技能 |
332
- | `/mcp` | - | MCP Server 状态 |
333
- | `/agents` | - | Agent 列表 |
334
- | `/safety` | - | 安全检查配置 |
335
- | `/task` | - | 任务管理 |
336
- | `/run` | - | 通过 Agent 执行任务 |
337
- | `/clear` | - | 清屏 |
338
- | `/clear-history` | `/reset` | 清除对话历史 |
339
- | `/exit` | `/q` | 退出 |
404
+ ## 常用交互命令
405
+
406
+ | 命令 | 说明 |
407
+ | ---------------------- | --------------------------------------------------- |
408
+ | `/help` | 显示当前 renderer 可用的完整命令列表 |
409
+ | `/target`(`/goal`) | 创建、查看、暂停、恢复、替换或清除持久 Goal |
410
+ | `/status` | 系统状态总览 |
411
+ | `/model` | 查看或切换模型 |
412
+ | `/config` | 显示当前生效配置 |
413
+ | `/usage` | 显示详细 Token 用量和成本 |
414
+ | `/compact` | 手动触发上下文压缩 |
415
+ | `/sessions` | 列出或搜索最近会话 |
416
+ | `/resume` | 恢复已有会话 |
417
+ | `/memory` | 查看记忆状态;`/memory reindex` 重建语义索引 |
418
+ | `/skills` | 列出已加载技能 |
419
+ | `/tools` | 列出内置和 MCP 工具 |
420
+ | `/mcp` | 查看 MCP Server 状态 |
421
+ | `/doctor` | 运行配置、工具、MCP、Skill、Session Harness 诊断 |
422
+ | `/diff` | 只读汇总当前 Git 工作区改动 |
423
+ | `/commit` | 生成只读 commit 计划和建议消息 |
424
+ | `/context-clear --yes` | 清除当前内存中的模型上下文,保留已保存 session |
425
+ | `/clear` | 只清理当前视图,不删除 session 数据 |
426
+ | `/exit` | 安全关闭并退出 |
427
+
428
+ 完整列表及 renderer 范围以 `/help` 为准。`/cost` 是 `/usage` 的废弃兼容入口;
429
+ `/task`、`/run`、`/clear-history` 仅保留为隐藏的迁移兼容命令,不属于公开工作流。
340
430
 
341
431
  ---
342
432
 
@@ -345,70 +435,25 @@ ctxPercent = (promptTokens / 模型上下文窗口) × 100
345
435
  ```
346
436
  orion-code/
347
437
  ├── bin/
348
- │ └── orion-code # CLI 入口
438
+ │ └── orion # npm 全局命令入口
349
439
  ├── src/
350
- │ ├── cli.ts # CLI 交互入口
351
- │ ├── commands/ # 斜杠命令
352
- ├── index.ts # 命令注册表
353
- ├── parser.ts # 输入解析器
354
- │ └── types.ts # 命令类型
355
- │ ├── core/ # 核心逻辑
356
- ├── agent.ts # Agent 基类
357
- ├── brain.ts # 决策引擎
358
- │ └── strategy-tracker.ts # 策略追踪
359
- │ ├── agents/ # Agent 实现
360
- │ ├── leader.ts # 协调者 Agent
361
- │ │ ├── coder.ts # 编码 Agent
362
- │ │ └── router.ts # Agent 路由
363
- ├── framework/
364
- ├── store.ts # 状态管理
365
- ├── query.ts # 查询引擎(异步生成器)
366
- └── tool-state.ts # 工具状态
367
- │ ├── harness/ # 安全与约束
368
- │ │ ├── safety.ts # 安全检查
369
- │ │ └── bash-safety.ts # Bash 命令安全
370
- │ ├── memory/ # 记忆系统
371
- │ │ ├── storage.ts # 记忆存储
372
- │ │ ├── semantic-search.ts # 语义搜索
373
- │ │ ├── embeddings.ts # Embedding 生成
374
- │ │ └── vector-store.ts # 向量存储(SQLite vec0)
375
- │ ├── skills/ # 技能系统
376
- │ │ ├── loader.ts # 技能加载器
377
- │ │ └── registry.ts # 技能注册表
378
- │ ├── services/
379
- │ │ ├── llm.ts # LLM 服务(重试/降级)
380
- │ │ ├── config.ts # 配置加载
381
- │ │ ├── global-config.ts # 全局配置
382
- │ │ ├── model-context.ts # 模型上下文数据库 + 发现
383
- │ │ ├── session-storage.ts # 会话持久化
384
- │ │ ├── atomic-write.ts # 原子写入
385
- │ │ ├── agent-runner.ts # Agent 执行器
386
- │ │ ├── task-manager.ts # 任务管理器
387
- │ │ └── file-glob.ts # 文件匹配
388
- │ ├── services/compact/ # 上下文压缩
389
- │ │ ├── auto-compact.ts # 基于 Token 的自动压缩
390
- │ │ ├── compact.ts # 压缩实现
391
- │ │ └── summary-generator.ts # 摘要生成
392
- │ ├── tools/ # 工具实现
393
- │ │ ├── index.ts # 工具注册表
394
- │ │ ├── mcp.ts # MCP 客户端
395
- │ │ ├── todo.ts # 任务工具
396
- │ │ ├── plan.ts # 计划工具
397
- │ │ ├── web.ts # 网页工具
398
- │ │ └── memory.ts # 记忆工具
399
- │ └── ui/ # UI 组件
400
- │ ├── box.ts # UI 框
401
- │ ├── markdown.ts # Markdown 渲染
402
- │ ├── status-bar.ts # 状态栏
403
- │ ├── stream-markdown.ts # 流式 Markdown
404
- │ ├── tool-preview.ts # 工具预览卡片
405
- │ └── suggestions.ts # 命令建议
406
- ├── tests/ # 测试套件
407
- ├── docs/ # 文档
408
- │ ├── version/ # 版本发布说明
409
- │ ├── roadmap/ # 版本路线图
410
- │ └── config.md # 配置指南
411
- ├── .env.example # 环境变量模板
440
+ │ ├── cli.ts # CLI 入口和 renderer 选择
441
+ │ ├── commands/ # 斜杠命令注册表与处理器
442
+ │ ├── core/ # Agent 核心状态
443
+ │ ├── framework/ # Query 与 Tool 抽象
444
+ ├── runtime/ # Shared runtime、Goal、事件与 Subagent
445
+ │ ├── services/ # 配置、LLM、Session、Storage、MCP
446
+ │ ├── tools/ # 内置工具
447
+ │ ├── tui-ui/ # 默认公众 TUI
448
+ ├── terminal-ui/ # 技术诊断 renderer
449
+ │ ├── print-ui/ # 实验性 Print/Text 与 Print/JSON
450
+ └── skills/ # 内置 Skill
451
+ ├── tests/ # Jest 测试套件
452
+ ├── test-runtime/ # 运行时 smoke 脚本
453
+ ├── docs/
454
+ │ ├── goals/ # 项目 Goal、证据与恢复说明
455
+ │ ├── mvp/ # 版本计划与发布说明
456
+ │ └── plan/ # 执行计划与准出报告
412
457
  ├── package.json
413
458
  └── tsconfig.json
414
459
  ```
@@ -417,37 +462,32 @@ orion-code/
417
462
 
418
463
  ## 版本历史
419
464
 
420
- ### v0.1.16(当前开发中)
421
-
422
- - **基于 Token 的自动压缩** — 95% 上下文使用量触发(替代消息数量阈值)
423
- - **模型上下文感知** — 每个模型独立的上下文窗口(15+ 已知模型)
424
- - **动态模型发现** — 启动时查询 `/models` 端点
425
- - **精简用户配置** — 仅 4 个字段:`apiKey`、`apiBaseUrl`、`defaultModel`、`fallbackModel`
426
- - **Agent 内部管理** — `maxTokens`、`temperature`、`retries` 由 Agent 内部控制
427
- - **用户可配置 Fallback 模型**
428
- - **命令面板渲染优化**
429
- - **上下文编排工作流** — 多 Agent 上下文管理
465
+ ### v0.1.3(当前版本)
430
466
 
431
- ### v0.1.15
467
+ - `/model` 与 `/models` 拆分:`/model` 只显示当前模型信息,`/models` 承接交互式切换;
468
+ - `modelRegistry` 成为模型展示与切换的唯一事实源,静态 catalog 退为 legacy fallback;
469
+ - 内置 catalog 补全(火山方舟 / xf-yun / deepseek 等),未配置上下文时正确回退;
470
+ - 命令沙箱 POC、只读 Git 工具与工具 allowlist 的安全基线。
432
471
 
433
- - **完整 Markdown 流式渲染** 语法高亮
434
- - **CJK 文本宽度计算修复** — 终端显示
435
- - **命令面板输入清除优化**
436
- - 表格渲染移除(改为原始透传)
472
+ > 完整变更与交付状态(已发布 / 已合并 / 候选)以 `CHANGELOG.md` 为准。
437
473
 
438
- ### v0.1.14
474
+ ### v0.1.2(已发布)
439
475
 
440
- - LSP 崩溃修复、紧凑 UI、精简 Agent 输出
476
+ - Session、单 Active Goal 的 typed continuation;
477
+ - restart/resume 后安全暂停,必须显式恢复;
478
+ - runtime evidence ledger、逐 criterion completion audit 与精确 stop reason;
479
+ - TUI 主产品体验和 terminal-ui/Print 事件语义一致。
441
480
 
442
- ### v0.1.10 — v0.1.13
481
+ ### v0.1.1(已发布)
443
482
 
444
- - MCP 客户端(心跳/重连)、语义搜索、技能系统、原子写入、模型别名、存储修复
483
+ - 命令契约、TUI 默认路径、OpenHorse 迁移和数据安全收敛;
484
+ - terminal-ui 定位为技术诊断版本,Ink 正式废弃。
445
485
 
446
- ### v0.1.1 — v0.1.9
486
+ ### v0.1.0(已发布)
447
487
 
448
- - CLI 框架、Harness 系统、记忆系统、会话管理、工具编排
488
+ - Orion Code 首个公开基线版本。
449
489
 
450
- 详见 `docs/version/` 目录。
490
+ 详见 `docs/mvp/` 和 `docs/plan/`。
451
491
 
452
492
  ---
453
493
 
@@ -471,21 +511,21 @@ npm run lint
471
511
 
472
512
  # 格式化
473
513
  npm run format
514
+
515
+ # 发布前只读检查(不会 tag / push / publish)
516
+ npm run release:check
474
517
  ```
475
518
 
476
519
  ---
477
520
 
478
521
  ## Roadmap
479
522
 
480
- | 版本 | 目标 |
481
- |------|------|
482
- | v0.1.16 | 上下文感知、自动压缩、配置精简 |
483
- | v0.1.17 | Agent 生命周期增强、工具编排优化 |
484
- | v0.1.18 | 插件/Hook 系统 |
485
- | v0.1.19 | VS Code 扩展 |
486
- | v0.1.20 | Web UI 面板 |
523
+ | 版本 | 目标 |
524
+ | ------ | --------------------------------------------------- |
525
+ | v0.1.2 | Goal 连续性、证据审计、恢复与发布可信度 |
526
+ | v0.2.0 | 在项目级 Goal 约束下评估多目标等非 patch 兼容性能力 |
487
527
 
488
- 详见 `docs/roadmap/` 目录。
528
+ 详见[项目级目标](https://github.com/orion-agents/orion-code/blob/main/docs/goals/orion-code-项目级目标.md)。
489
529
 
490
530
  ---
491
531
 
@@ -503,4 +543,4 @@ MIT License — 详见 [LICENSE](LICENSE)
503
543
 
504
544
  **Orion Code — Universal Agent Harness Framework.**
505
545
 
506
- *"AI 如马,Orion Code 如缰。"*
546
+ _"AI 如马,Orion Code 如缰。"_