@chanlerdev/scorel 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/README.md +110 -0
  2. package/dist/index.js +6675 -0
  3. package/dist/index.js.map +7 -0
  4. package/docs/CHANGELOG.md +12 -0
  5. package/docs/README.md +116 -0
  6. package/docs/ROADMAP.md +669 -0
  7. package/docs/SHIP.md +242 -0
  8. package/docs/spec/channels.md +156 -0
  9. package/docs/spec/client.md +326 -0
  10. package/docs/spec/daemon.md +408 -0
  11. package/docs/spec/events.md +423 -0
  12. package/docs/spec/extensions.md +255 -0
  13. package/docs/spec/relay.md +391 -0
  14. package/docs/spec/runtime.md +251 -0
  15. package/docs/spec/session.md +380 -0
  16. package/docs/spec/ship/S0001-docs-baseline.md +41 -0
  17. package/docs/spec/ship/S0002-package-skeleton.md +56 -0
  18. package/docs/spec/ship/S0003-protocol-contracts.md +49 -0
  19. package/docs/spec/ship/S0004-session-core.md +50 -0
  20. package/docs/spec/ship/S0005-runtime-loop.md +48 -0
  21. package/docs/spec/ship/S0006-embedded-daemon-client.md +51 -0
  22. package/docs/spec/ship/S0007-cli-alpha.md +49 -0
  23. package/docs/spec/ship/S0008-coding-tools.md +107 -0
  24. package/docs/spec/ship/S0009-code-discovery-tools.md +82 -0
  25. package/docs/spec/ship/S0010-todo-tool-and-cli.md +81 -0
  26. package/docs/spec/ship/S0011-coding-agent-alpha-smoke.md +110 -0
  27. package/docs/spec/ship/S0012-coding-tools-maturity.md +143 -0
  28. package/docs/spec/ship/S0013-local-daemon-protocol.md +57 -0
  29. package/docs/spec/ship/S0014-local-daemon-lifecycle.md +64 -0
  30. package/docs/spec/ship/S0015-local-attach-and-broadcast.md +58 -0
  31. package/docs/spec/ship/S0016-local-daemon-resync-smoke.md +60 -0
  32. package/docs/spec/ship/S0017-grep-files-output-mode.md +49 -0
  33. package/docs/spec/ship/S0018-daemon-entrypoint-smoke.md +48 -0
  34. package/docs/spec/ship/S0019-remote-transport-contract.md +59 -0
  35. package/docs/spec/ship/S0020-remote-websocket-server.md +56 -0
  36. package/docs/spec/ship/S0021-remote-websocket-client-transport.md +55 -0
  37. package/docs/spec/ship/S0022-remote-daemon-cli-lifecycle.md +60 -0
  38. package/docs/spec/ship/S0023-remote-control-e2e-validation.md +66 -0
  39. package/docs/spec/ship/S0024-remote-attach-interactive-stream.md +49 -0
  40. package/docs/spec/ship/S0025-remote-attach-session-event-view.md +57 -0
  41. package/docs/spec/ship/S0026-attach-project-cache-and-dual-seq-reconnect.md +87 -0
  42. package/docs/spec/ship/S0027-session-diagnostics-log.md +77 -0
  43. package/docs/spec/ship/S0028-client-attach-diagnostics-log.md +70 -0
  44. package/docs/spec/ship/S0029-project-index-for-session-lookup.md +119 -0
  45. package/docs/spec/ship/S0030-webui-product-intent.md +73 -0
  46. package/docs/spec/ship/S0031-daemon-projectslug-rule.md +72 -0
  47. package/docs/spec/ship/S0032-daemon-protocol-completion.md +123 -0
  48. package/docs/spec/ship/S0033-webui-skeleton-routing.md +92 -0
  49. package/docs/spec/ship/S0034-webui-device-settings.md +121 -0
  50. package/docs/spec/ship/S0035-webui-device-handshake.md +83 -0
  51. package/docs/spec/ship/S0036-webui-project-session-sync.md +70 -0
  52. package/docs/spec/ship/S0037-webui-chatbox-v1.md +97 -0
  53. package/docs/spec/ship/S0038-webui-cancel-multiclient.md +65 -0
  54. package/docs/spec/ship/S0039-webui-e2e-newchat.md +74 -0
  55. package/docs/spec/ship/S0040-webui-codex-visual-tokens.md +227 -0
  56. package/docs/spec/ship/S0041-webui-markdown-and-tool-block.md +248 -0
  57. package/docs/spec/ship/S0042-webui-streaming-ux-autoscroll.md +130 -0
  58. package/docs/spec/ship/S0043-startup-ergonomics.md +278 -0
  59. package/docs/spec/ship/S0044-webui-chatbox-rebuild.md +556 -0
  60. package/docs/spec/ship/S0045-webui-card-sidebar-and-session-fixes.md +469 -0
  61. package/docs/spec/ship/S0046-webui-empty-composer-and-lazy-session.md +428 -0
  62. package/docs/spec/ship/S0047-webui-project-hover-newchat-and-dynamic-greeting.md +176 -0
  63. package/docs/spec/ship/S0048-device-level-host-project-registry.md +253 -0
  64. package/docs/spec/ship/S0049-webui-add-project-directory-browser.md +217 -0
  65. package/docs/spec/ship/S0050-instruction-snapshot-and-agents-assembly.md +338 -0
  66. package/docs/spec/ship/S0051-harness-item-and-system-reminder.md +190 -0
  67. package/docs/spec/ship/S0052-follow-up-queue-and-dual-loop.md +195 -0
  68. package/docs/spec/ship/S0053-skill-index-and-skill-tool.md +252 -0
  69. package/docs/spec/ship/S0054-webui-running-message-behavior.md +72 -0
  70. package/docs/spec/ship/S0055-webui-composer-acceptance-and-queue-strip.md +68 -0
  71. package/docs/spec/ship/S0056-relay-and-hosted-webui-contract.md +106 -0
  72. package/docs/spec/ship/S0057-relay-service-protocol-skeleton.md +161 -0
  73. package/docs/spec/ship/S0058-host-outbound-relay-and-pair-command.md +138 -0
  74. package/docs/spec/ship/S0059-relay-transport-and-hosted-webui-connector.md +140 -0
  75. package/docs/spec/ship/S0060-relay-hosted-webui-e2e-validation.md +132 -0
  76. package/docs/spec/ship/S0060-relay-hosted-webui-e2e-validation.verification.md +90 -0
  77. package/docs/spec/ship/S0061-hosted-defaults-and-cli-command-surface.md +208 -0
  78. package/docs/spec/ship/S0062-npm-package-and-release-workflow.md +166 -0
  79. package/docs/spec/tools.md +173 -0
  80. package/package.json +51 -0
package/README.md ADDED
@@ -0,0 +1,110 @@
1
+ # Scorel
2
+
3
+ Scorel 是一个面向项目型工作的 AI Agent 工作台。
4
+
5
+ 它不是套在 LLM Provider 外面的聊天界面,而是把 Agent 任务抽象为可持续管理的工作资产:任务绑定真实工作区,过程以事件流持久化,运行时由 daemon 统一调度,CLI、WebUI 等入口可以围绕同一个任务观察、接管和恢复。
6
+
7
+ Scorel 当前优先服务代码开发场景,但架构目标不局限于 coding。任何围绕项目目录、文件资产、工具调用和多轮协作展开的 Agent 任务,都应该能复用同一套 Session、Runtime、Host 和 Client 模型。
8
+
9
+ ## 快速上手指南
10
+
11
+ 安装依赖:
12
+
13
+ ```bash
14
+ pnpm install
15
+ ```
16
+
17
+ 在当前项目目录进入交互式会话:
18
+
19
+ ```bash
20
+ pnpm scorel
21
+ ```
22
+
23
+ 如果要使用 hosted WebUI,启动本机 Host:
24
+
25
+ ```bash
26
+ pnpm scorel host serve
27
+ ```
28
+
29
+ 打开 hosted WebUI:
30
+
31
+ ```text
32
+ https://scorel.chanler.dev
33
+ ```
34
+
35
+ WebUI 给出 pair code 后,在本机执行:
36
+
37
+ ```bash
38
+ pnpm scorel pair <pair-code>
39
+ ```
40
+
41
+ 第一次运行后,`~/.scorel/daemon.json` 会保存本机 Host 的连接信息。`scorel host serve` 默认连接官方 Relay;自部署时可以传 `--relay <url>`,离线或本地开发时可以传 `--no-relay`。
42
+
43
+ 运行检查:
44
+
45
+ ```bash
46
+ pnpm typecheck && pnpm test
47
+ ```
48
+
49
+ ## 架构
50
+
51
+ Scorel 采用 thin entry + daemon-owned 的分层架构。CLI、WebUI 只负责输入输出和交互呈现;会话写入、运行时调度、事件广播和恢复逻辑集中在 daemon 层。
52
+
53
+ ```text
54
+ apps/cli / apps/webui
55
+ |
56
+ v
57
+ @scorel/client
58
+ |
59
+ v
60
+ @scorel/daemon
61
+ |
62
+ v
63
+ @scorel/core
64
+ |
65
+ v
66
+ pi-ai providers
67
+ ```
68
+
69
+ 主要分层:
70
+
71
+ | 层 | 职责 |
72
+ |---|---|
73
+ | `@scorel/protocol` | 定义跨包共享的 ID、wire message、事件和 transport-safe contract。 |
74
+ | `@scorel/core` | 承载 Agent runtime loop、工具执行、配置、指令装配和 session 基础能力。 |
75
+ | `@scorel/daemon` | 管理 Host、Project registry、Session store、Runtime pool、事件持久化、广播和 resync。 |
76
+ | `@scorel/client` | 提供跨入口 SDK,处理 request/response、重连、resync 和 browser-safe transport。 |
77
+ | `apps/cli` | 终端入口,提供默认交互、Host lifecycle、pair、attach 和开发态 `scorel up`。 |
78
+ | `apps/webui` | 浏览器控制台,展示 Device、Project、Session、Transcript 和运行中交互。 |
79
+
80
+ ## 核心模型
81
+
82
+ Scorel 使用 Device -> Project -> Session 模型:
83
+
84
+ - **Device** 表示一台可运行 Agent 的设备。
85
+ - **Host** 是 Device 内的逻辑控制平面,拥有 Project、Session 和 Runtime 的权威状态。
86
+ - **Project** 把稳定的 `projectId` 绑定到真实工作目录。
87
+ - **Session** 保存 append-only JSONL 事件流,并通过 replay 还原上下文。
88
+ - **Runtime** 基于历史事件、项目指令、工具能力和 provider 响应执行一轮 Agent 任务。
89
+ - CLI 和 WebUI 都是 Host 的 client,不直接成为 Session writer。
90
+
91
+ 这个模型让工作区身份、任务恢复、多端 attach 和远程控制都收敛在 daemon 边界内,避免 UI 入口各自复制状态管理逻辑。
92
+
93
+ ## 当前能力
94
+
95
+ - 通过 daemon/client 主链路运行本地 Agent 会话。
96
+ - 使用 append-only JSONL 持久化 Session,并支持 replay。
97
+ - 支持本地和远程 daemon attach、断线重连和事件补偿。
98
+ - WebUI 支持 Device、Project、Session、transcript、tool output、prompt、cancel、follow-up 和 steer。
99
+ - Project registry 使用稳定 `projectId` 管理真实工作区。
100
+ - Runtime 支持 session-scoped instruction snapshot、`AGENTS.md` 装配、system reminder 和 Skill index。
101
+
102
+ ## 文档
103
+
104
+ 正式 source of truth 位于 `docs/`:
105
+
106
+ - [docs/README.md](docs/README.md) - 文档导航
107
+ - [docs/architecture.md](docs/architecture.md) - 系统架构与包边界
108
+ - [docs/ROADMAP.md](docs/ROADMAP.md) - 产品阶段路线图
109
+ - [docs/SHIP.md](docs/SHIP.md) - 实现、验证和提交协议
110
+ - [docs/spec](docs/spec) - 模块合同与编号 ship specs