Projects / myAgent
CASE 01 / AGENT
myAgent
本地 Deep Agent 工作台(TUI + Web)
- 角色
- 独立设计与实现
- 时间
- 2026
- 状态
- 进行中
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。