Skip to content
Conduit

skill

LY-AI-coder

ly-ai-coder — 个人 AI 编程助手

liuy821/LY-AI-codercommunitylistedunreviewed

Set up

Skills are installed by placing their folder where your agent loads skills.

The download comes from github.com/liuy821/LY-AI-coder itself, not from our server, so what you get is exactly what its author published.

Install instructions come from the README

Skills do not use an MCP config. Follow the steps in the README below.

README

synced Oct 26, 2026

🤖 ly-ai-coder

个人 AI 编程助手 — 从零实现的类 Claude Code Agent

v0.3.0 | 8673 行 Python | 49 个模块 | 6 个外部依赖


✨ 特性

🧠 多 Provider 支持

Anthropic / OpenAI / DeepSeek / 任何 OpenAI 兼容接口,通过 -p 参数切换

🔧 丰富工具集

工具说明
read_file读取文件(支持偏移和行数限制)
write_file写入/创建文件
patch精确编辑文件(查找替换,不覆盖整个文件)
run_shell执行 Shell 命令(60s 超时,输出截断)
list_files列出目录文件(支持 glob 过滤)
search_content正则搜索文件内容(优先 grep)
web_searchBing 搜索(国内可访问,无需 API Key)
web_fetch网页抓取转 Markdown

🛡️ 安全增强

  • 参数校验 — 自动补全默认值、类型转换、缺失参数检测
  • 路径安全检查 — 防止路径逃逸(../ 拦截)
  • 工具调用熔断 — 超时控制 + 指数退避重试 + 自动熔断

📐 上下文窗口管理

  • Token 预算跟踪(默认 32000 窗口 + 4000 输出预留)
  • 自动裁剪策略(FIFO / 重要性保留 / 摘要压缩)
  • 实时使用率统计

🧠 记忆系统 v2

  • 三层分层检索: 关键词 → 向量(TF-IDF) → LLM 精确选择
  • 中文语义检索: jieba 分词 + numpy TF-IDF + 余弦相似度
  • 重要性评分: 访问频率 + 时间衰减 + 类型权重 + 用户评分
  • TTL 过期: 自动遗忘低价值记忆(7~180 天按类型配置)
  • 自动清理: 一键清理过期/低分记忆

💬 对话持久化

  • 退出自动保存,--continue 恢复上次对话
  • 会话管理命令:/sessions /save /load /delete
  • 自动清理旧会话(默认保留最近 50 个)

📋 任务系统

  • 创建任务(可设置依赖关系 blockedBy)
  • 认领 / 完成任务(自动解锁下游依赖)
  • 任务可绑定到隔离工作区(worktree)

🏗️ 工作区隔离(Worktree)

  • 基于 git worktree 的隔离开发环境
  • 每个任务可绑定独立工作区
  • 安全删除(检查未提交变更)

⏰ 定时任务(Cron)

  • 标准 5 字段 cron 表达式
  • 持久化存储(重启恢复)
  • 守护线程自动调度

👥 多 Agent 协作

  • MessageBus — 文件邮箱系统,Agent 间异步通信
  • 子 Agent — 可 spawn 独立子 Agent 执行任务
  • 协议层 — 标准化的 Agent 通信协议

🔒 权限控制

可配置的安全策略和钩子机制,支持危险操作确认

🔄 死循环检测

  • 工具循环检测(连续 N 次工具调用无文本回复)
  • 重复工具检测
  • 自动干预 + 强制中止

🎨 漂亮终端 UI

基于 Rich 的彩色输出和 Markdown 渲染


🖥️ 终端交互演示


🚀 快速开始

安装

pip install -e .

配置

复制 .env.example 为 .env,填入 API Key:

cp .env.example .env

或使用内置配置系统创建默认配置:

ly-ai-coder config --init

运行对话

# 使用 DeepSeek(默认)
ly-ai-coder chat

# 使用 OpenAI
ly-ai-coder chat -p openai -m gpt-4o

# 使用 Anthropic
ly-ai-coder chat -p anthropic -m claude-sonnet-4-20250514

# 继续上次对话
ly-ai-coder chat -c

测试连接

ly-ai-coder test -p deepseek

📋 命令参考

命令说明
chat启动交互式对话
test测试 Provider 连接
config查看/修改配置
providers列出可用 Provider
mcp list列出 MCP 服务器
mcp add添加 MCP 服务器
mcp remove移除 MCP 服务器

对话内命令

命令说明
/save [name]保存当前对话
/load [name]加载对话
/sessions列出所有对话
/delete [name]删除对话
/exit退出

🏗️ 架构

ly-ai-coder/
├── src/ly_ai_coder/
│   ├── core/                    # 核心引擎
│   │   ├── agent_loop.py            Agent 主循环(765行)
│   │   ├── context_window.py        上下文窗口管理(295行)
│   │   ├── circuit_breaker.py       工具调用熔断器(292行)
│   │   ├── context_manager.py       上下文管理器(298行)
│   │   ├── cron_scheduler.py        定时任务调度器(265行)
│   │   ├── loop_detector.py         死循环检测器(112行)
│   │   ├── background.py            后台任务(166行)
│   │   ├── recovery.py              错误恢复(138行)
│   │   └── compact.py               对话压缩(63行)
│   │
│   ├── providers/                # 多模型支持
│   │   ├── base.py                  抽象基类(91行)
│   │   ├── anthropic.py             Anthropic(227行)
│   │   ├── openai_compatible.py     OpenAI 兼容(237行)
│   │   ├── mock.py                  Mock Provider(测试用)
│   │   └── registry.py              Provider 注册表(122行)
│   │
│   ├── tools/                    # 工具系统
│   │   ├── builtin.py               8 个内置工具(449行)
│   │   ├── validator.py             参数校验 + 路径安全(136行)
│   │   ├── stats.py                 工具调用统计(58行)
│   │   └── web_tools.py             Web 搜索/抓取(198行)
│   │
│   ├── memory/                   # 记忆系统
│   │   ├── retrieval.py             分层检索(403行)
│   │   ├── vector_index.py          向量索引(254行)
│   │   ├── scorer.py                重要性评分 + TTL(192行)
│   │   └── store.py                 文件存储(135行)
│   │
│   ├── permissions/              # 权限控制
│   │   ├── policy.py                策略引擎(181行)
│   │   └── hooks.py                 钩子机制(107行)
│   │
│   ├── agents/                   # 多 Agent 系统
│   │   ├── subagent.py              子 Agent 管理(341行)
│   │   ├── message_bus.py           文件邮箱通信(61行)
│   │   └── protocol.py              Agent 通信协议(69行)
│   │
│   ├── tasks/                    # 任务系统
│   │   └── task_manager.py          任务创建/认领/完成(225行)
│   │
│   ├── worktree/                 # 工作区隔离
│   │   └── manager.py               git worktree 管理(172行)
│   │
│   ├── system/                   # 系统提示词
│   │   └── prompts.py               Prompt 管理(225行)
│   │
│   ├── skills/                   # 技能系统
│   │   └── loader.py                技能加载器(88行)
│   │
│   ├── integrations.py           # 统一集成模块(475行)
│   ├── session_manager.py        # 对话持久化(320行)
│   ├── config.py                 # 分层配置系统(191行)
│   ├── mcp_client.py             # MCP 协议客户端(314行)
│   ├── mcp_integration.py        # MCP 集成(127行)
│   └── cli.py                    # CLI 入口(511行)
│
├── tests/                       # 单元测试(73 个测试用例)
│   ├── test_core_modules.py         核心模块测试(34 个)
│   ├── test_tools.py                工具函数测试(19 个)
│   ├── test_integrations.py         集成测试(20 个)
│   └── conftest.py                  pytest 共享 fixtures
│
├── .ly/                         # 运行时数据
│   ├── config.yaml                 用户配置
│   ├── sessions/                   保存的对话
│   ├── memory/                     记忆文件
│   └── mcp/                        MCP 配置
│
└── skills/                      # 内置技能
    ├── code-review/                 Code Review 技能
    ├── git-workflow/                Git 工作流技能
    └── python-debug/                Python 调试技能

⚙️ 配置

优先级(低→高)

内置默认值 < config.yaml < 环境变量(.env) < CLI 参数

config.yaml

provider:
  default: deepseek
  deepseek:
    base_url: https://api.deepseek.com/v1
    model: deepseek-v4-flash
context:
  max_tokens: 32000
  prune_strategy: fifo
session:
  max_sessions: 50
  auto_save: true
memory:
  max_items: 5
tools:
  shell_timeout: 60

环境变量

DEEPSEEK_API_KEY=sk-xxx
DEEPSEEK_BASE_URL=https://api.deepseek.com/v1
DEEPSEEK_MODEL=deepseek-v4-flash

🧪 测试

# 安装测试依赖
pip install pytest pytest-asyncio

# 运行所有测试
cd ly-ai-coder
python3 -m pytest -v

# 只跑核心模块测试
python3 -m pytest tests/test_core_modules.py -v

# 只跑工具测试
python3 -m pytest tests/test_tools.py -v

# 只跑集成测试
python3 -m pytest tests/test_integrations.py -v

当前共 73 个测试用例,覆盖:CircuitBreaker、LoopDetector、ContextWindow、CronScheduler、Validator、MemoryStore、TaskManager、SessionManager、MessageBus、文件操作工具。


🗺️ 开发路线

已完成

  • Phase 1: 项目骨架 + 核心引擎
  • Phase 2: 上下文窗口管理(Token 预算 + 自动裁剪)
  • Phase 3: 工具调用熔断(超时 + 重试 + 降级)
  • Phase 4: 对话持久化(自动保存 + --continue)
  • Phase 5: 记忆系统 v2(向量检索 + 重要性评分 + TTL)
  • Phase 6: 工具系统增强(参数校验 + 路径安全 + 统计)
  • Phase 7: 分层配置系统 + Mock Provider
  • Phase 8: 任务系统 + Worktree 隔离
  • Phase 9: 定时任务调度器(Cron)
  • Phase 10: 多 Agent 协作(MessageBus + 子 Agent)
  • Phase 11: 死循环检测 + 自动干预
  • Phase 12: 单元测试(73 个测试用例)

规划中

  • 流式输出增强(实时 Token 统计 + 中断恢复)
  • Docker 部署
  • GitHub CI(自动测试 + 代码检查)

📝 License

MIT

↑↓ navigate openesc close