Skip to content

[PALN] 开发导向与思路(Core/Tools 优先) #8

@minorcell

Description

@minorcell

目标:以 Core/Tools 为中心,形成可复用的 Agent 能力层,UI 只是薄壳。后续 CLI(Ink/React)、桌面(Electron)、Web/REST 都复用同一核心能力,避免重复造轮子。

核心原则

  • 协议与契约先行:优先完善 Core 的接口(Session/Turn、事件、工具协议、token 预算、hook)和 Tools 契约,UI 仅消费这些接口。
  • 无 UI 耦合:Core 不依赖 stdin/stdout/DOM,只暴露纯函数/事件流;Tools 也保持无 UI 偏好。
  • 可观察性优先:统一 JSONL 事件(assistant/action/observation/final/turn/session),便于任意前端/后端复用日志、调试。
  • 安全与确定性:工具输入校验、路径规范化、外部依赖前置检测(如 rg),避免 UI 层重做防护。

接口/契约要点

  • Session API:createAgentSession(deps, options) -> { runTurn, close, history };事件统一 JSONL 字段。
  • 工具注册表:ToolRegistry(名称 -> ToolFn),输入为字符串(JSON),输出短文本。
  • Prompt/Parser:保持可替换(XML 现行版本),为后续 JSON 工具协议预留切换点。
  • 配置注入:模型参数、tokenizer、预算、工具开关通过 options/deps 注入,不写死在 Core。

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions