Projects / myAgent

CASE 01 / AGENT

myAgent

本地 Deep Agent 工作台(TUI + Web)

角色
独立设计与实现
时间
2026
状态
进行中
TypeScriptDeep AgentsLangGraphHonoReactInkSQLite

Context

本地调试 Agent 时,常见路径是一次性脚本:会话丢了、设置散落在环境变量、skills 没有统一发现入口。需要的是可重复打开的工作台,而不是又一个 demo notebook。

Role & Scope

个人项目,独立完成 monorepo 分层、会话持久化、TUI/Web 双入口与 skills 加载。

Approach

  • core 与 UI 分离@myagent/core 承载 agent、SQLite、settings、skills;CLI / server / web 只消费 core。
  • 双表面同一后端:Web 走 Hono + SSE;TUI 用 Ink;避免两套业务逻辑。
  • skills 分层发现:全局与项目级、.myagent.agents 约定并存,后者覆盖同名 skill。

Implementation

包结构:

packages/core    agent · db · skills · settings
packages/server  Hono API · SSE · 静态托管
packages/web     React 聊天与设置
packages/cli     citty 入口 · Ink TUI · settings/skills 命令

关键依赖与机制:deepagents@langchain/langgraph、SQLite checkpointer(better-sqlite3)、Anthropic 兼容 API 配置。数据目录默认 ~/.myagent/

Outcome

  • 一条工作区命令可并行起 Web + API,或单独进入 TUI。
  • 会话与设置可持久化;skills 可列表与按目录挂载。
  • 仓库含 core 单测、server 集成测与 CLI PTY e2e 脚本(以仓库 test 脚本为准)。

Learnings

把「能跑的 agent 脚本」收成产品形态时,边界在 状态(会话/设置)多入口复用同一 runtime,而不是再包一层聊天 UI。