Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,10 @@ MODEL=LongCat-Flash-Chat
# OPENAI_API_KEY=your-openai-api-key
# OPENAI_BASE_URL=
# MODEL=gpt-4o-mini

# 日志配置
# JOJO_CODE_LOG_LEVEL=INFO # DEBUG, INFO, WARNING, ERROR
# JOJO_CODE_LOG_FILE=server.log # 日志文件路径
# JOJO_CODE_LOG_FORMAT=json # json 或 text
# JOJO_CODE_LOG_MAX_BYTES=10485760 # 单文件最大 10MB
# JOJO_CODE_LOG_BACKUP_COUNT=5 # 保留 5 个备份文件
28 changes: 0 additions & 28 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,34 +54,6 @@ jobs:
files: ./coverage.xml
fail_ci_if_error: false

typescript-tests:
name: 🎨 TypeScript Tests
runs-on: ubuntu-latest

steps:
- name: 📥 Checkout repository
uses: actions/checkout@v4

- name: 📦 Setup pnpm
uses: pnpm/action-setup@v2
with:
version: 9

- name: 🐍 Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'pnpm'

- name: 📦 Install dependencies
run: pnpm install

- name: 🔍 Run TypeScript tests
run: cd packages/cli && pnpm test -- --run

- name: 🔍 Type check
run: cd packages/cli && pnpm typecheck

build:
name: 🏗️ Build package
runs-on: ubuntu-latest
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ Thumbs.db

# Project-specific
.jojo-code/
server.log*

# Node.js
node_modules/
Expand Down
99 changes: 70 additions & 29 deletions docs/CLAUDE_CODE_REFERENCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,16 +69,18 @@ Claude Code (TypeScript)

| 模块 | jojo-code | Claude Code | 差距 |
|------|-----------|-------------|------|
| **状态机** | LangGraph (简单) | LangGraph + Task状态机 | |
| **工具数量** | ~20 | 44 | |
| **权限系统** | 基础 (3级) | 精细 (auto/manual/bypass + 规则引擎) | |
| **状态机** | LangGraph + Task 框架 | LangGraph + Task状态机 | |
| **工具数量** | ✅ 20+ 工具 | 44 | |
| **权限系统** | ✅ 5级模式 + 规则引擎 | 精细 (auto/manual/bypass + 规则引擎) | |
| **任务系统** | ✅ 6种任务类型 | 7种任务类型 | 小 |
| **子 Agent** | ✅ SubAgent | AgentTool | 小 |
| **Skills** | ✅ Skills 系统 | SkillTool | 小 |
| **MCP 支持** | ✅ MCP 客户端 | 完整支持 | 中 |
| **TUI** | ✅ Textual TUI | Ink (React) | 小 |
| **插件系统** | ✅ 基础版 (hook) | 完整插件生态 | 大 |
| **会话记忆** | 基础 | SessionMemory 服务 | 中 |
| **TUI** | ✅ Textual TUI (Claude Code 风格) | Ink (React) | 小 |
| **插件系统** | ✅ Hook 系统 + 权限控制 | 完整插件生态 | 中 |
| **会话记忆** | ✅ 短期+长期+检索 | SessionMemory 服务 | 小 |
| **AgentOps** | ✅ 追踪/指标/评估/报告 | LangSmith 集成 | 小 |
| **API Server** | ✅ REST + WebSocket + SSE | 云端 API | 小 |

---

Expand Down Expand Up @@ -509,8 +511,7 @@ class SkillTool(BaseTool):
├── MCP 工具发现
└── MCP 资源管理

[T2-2b] MCP Server 支持 3天 T2-2 ⬜
└── MCP Server 实现
[T2-2b] MCP Server 支持 3天 T2-2 ⬜ (移至 T5-4)

[T2-3] 工具扩展 (+20 工具) 3天 T0-3 ✅ 完成
├── WebFetchTool (网页抓取)
Expand Down Expand Up @@ -570,11 +571,38 @@ class SkillTool(BaseTool):
├── CodeReviewPlugin (安全/质量/风格检查)
└── TestGeneratorPlugin (测试生成)

[T4-3] API Server 增强 3天 T3-1
├── RESTful API
├── WebSocket
[T4-3] API Server 增强 3天 T3-1 ✅ 完成
├── RESTful API (aiohttp)
├── WebSocket (FastAPI)
└── SSE 事件流

══════════════════════════════════════════════════════════════════════════════
阶段 4.5: AgentOps 监控 (进行中)
══════════════════════════════════════════════════════════════════════════════

任务 时间 依赖 状态
────────────────────────────────────────────────────────────────────────────
[T4-4] AgentOps 基础追踪 3天 T3-1 ✅ 完成
├── Trace/Span 数据结构 (models.py)
├── Collector 收集器 (collector.py)
└── JSON 格式导出 (exporter.py)

[T4-5] AgentOps 指标统计 2天 T4-4 ✅ 完成
├── MetricsEngine 指标引擎 (metrics.py)
├── 多维度统计
└── Dashboard CLI 面板 (dashboard.py)

[T4-6] AgentOps 自动评估 3天 T4-4 ✅ 完成
├── PlanningEvaluator (规则评估)
├── TestCaseEvaluator (测试用例)
├── PerformanceEvaluator (性能评估)
├── CompositeEvaluator (组合评估)
└── ReportGenerator 报告生成 (report.py)

[T4-7] E2E 测试框架 2天 T3-1 ✅ 完成
├── 18 个用户旅程测试 (test_e2e/)
└── 端到端场景覆盖

══════════════════════════════════════════════════════════════════════════════
阶段 5: 高级功能 (可选)
══════════════════════════════════════════════════════════════════════════════
Expand All @@ -595,20 +623,24 @@ class SkillTool(BaseTool):
├── 共享记忆
└── 协作任务

[T5-4] MCP Server 支持 3天 T2-2 ⬜
└── MCP Server 实现 (对外暴露工具)

══════════════════════════════════════════════════════════════════════════════
总工期估算
══════════════════════════════════════════════════════════════════════════════

阶段 时间 累计
─────────────────────────────────
阶段 0 0.5 周 0.5 周
阶段 1 1.5 周 2.0 周
阶段 2 2.5 周 4.5 周
阶段 3 2.0 周 6.5 周
阶段 4 1.5 周 8.0 周
阶段 5 1.5 周 9.5 周

实际工期: 约 10 周 (2.5 个月)
阶段 时间 累计 状态
─────────────────────────────────────────────
阶段 0 0.5 周 0.5 周 ✅ 完成
阶段 1 1.5 周 2.0 周 ✅ 完成
阶段 2 2.5 周 4.5 周 ✅ 完成
阶段 3 2.0 周 6.5 周 ✅ 完成
阶段 4 1.5 周 8.0 周 ✅ 完成
阶段 4.5 1.0 周 9.0 周 ✅ 完成
阶段 5 1.5 周 10.5 周 ⬜ 待开发

实际工期: 约 10.5 周 (2.6 个月)
可根据优先级调整顺序

══════════════════════════════════════════════════════════════════════════════
Expand All @@ -618,7 +650,8 @@ class SkillTool(BaseTool):
M1 (Week 2) - 权限系统 + 任务框架完成 → 可用性提升 ✅
M2 (Week 5) - 子 Agent + MCP + 工具扩展 → 能力对齐 Claude Code ✅
M3 (Week 7) - TUI + Skills + 会话记忆 → 体验完善 ✅
M4 (Week 10) - 插件系统 + 生态集成 → 可发布版本 (进行中)
M4 (Week 10) - 插件系统 + 生态集成 + AgentOps → 可发布版本 ✅
M5 (Future) - 高级功能: Computer Use / 多模态 / 团队协作

══════════════════════════════════════════════════════════════════════════════

Expand Down Expand Up @@ -653,10 +686,18 @@ Claude Code 的权限系统非常值得学习:

## 六、总结

jojo-code 当前架构简洁,适合快速开发。参考 Claude Code 可以:

1. **短期**: 提升权限系统和任务管理能力
2. **中期**: 扩展子 Agent 和 MCP 支持
3. **长期**: 构建完整的开发者工具生态

建议按优先级逐步推进,避免一次性大改。
jojo-code 已完成核心功能开发,具备完整的 AI 编码助手能力:

**已完成 (阶段 0-4.5)**:
- LangGraph 状态机 + 权限系统 + 任务框架
- 子 Agent + MCP 客户端 + 20+ 工具
- Textual TUI (Claude Code 风格) + Skills + 会话记忆
- 多模型支持 + 插件系统 + API Server (REST/WebSocket/SSE)
- AgentOps 监控体系 (追踪/指标/评估/报告)
- E2E 测试框架 (18 个用户旅程)

**待开发 (阶段 5)**:
- Computer Use (截图/鼠标/键盘)
- 多模态支持 (图片/文件理解)
- 团队协作 (共享记忆/协作任务)
- MCP Server (对外暴露工具)
24 changes: 12 additions & 12 deletions docs/agentops-feature-design.md
Original file line number Diff line number Diff line change
Expand Up @@ -304,27 +304,27 @@ jojo-code evaluate --test-cases tests/eval/

### Phase 1: 基础追踪 (MVP)

- [ ] Trace/Span 数据结构
- [ ] 在 Agent 循环中埋点
- [ ] JSON 格式导出
- [ ] CLI 基础指标显示
- [x] Trace/Span 数据结构
- [x] 在 Agent 循环中埋点
- [x] JSON 格式导出
- [x] CLI 基础指标显示

### Phase 2: 指标统计

- [ ] 指标计算引擎
- [ ] 多维度统计
- [ ] Markdown 报告生成
- [x] 指标计算引擎
- [x] 多维度统计
- [x] Markdown 报告生成

### Phase 3: 自动评估

- [ ] Test Case 框架
- [ ] 规则评估器
- [ ] LLM 评估器
- [ ] 评估报告
- [x] Test Case 框架
- [x] 规则评估器
- [x] LLM 评估器
- [x] 评估报告

### Phase 4: 监控面板

- [ ] CLI 实时监控
- [x] CLI 实时监控
- [ ] Web Dashboard(可选)
- [ ] Prometheus 集成(可选)

Expand Down
13 changes: 6 additions & 7 deletions docs/agentops-system-design.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,14 @@
```
src/jojo_code/ops/
├── __init__.py # 模块入口
├── trace.py # Trace/Span 数据结构
├── models.py # Trace/Span 数据结构
├── collector.py # 数据收集器
├── metrics.py # 指标计算引擎
├── evaluator.py # 评估引擎
├── exporter.py # 数据导出
├── dashboard.py # 监控面板
└── config.py # 配置管理
├── config.py # 配置管理
└── report.py # 报告生成
```

### 1.2 架构图
Expand Down Expand Up @@ -937,12 +938,10 @@ src/jojo_code/ops/
├── exporter.py # 导出器实现
├── dashboard.py # Dashboard 实现
├── config.py # 配置管理
└── utils.py # 工具函数
└── report.py # 报告生成

tests/ops/
├── test_models.py # 数据结构测试
├── test_collector.py # Collector 测试
├── test_metrics.py # Metrics 测试
├── test_ops.py # 核心功能测试
├── test_evaluator.py # Evaluator 测试
└── test_integration.py # 集成测试
└── test_report.py # 报告生成测试
```
111 changes: 0 additions & 111 deletions docs/implementation-plan.md

This file was deleted.

Loading
Loading