AI编程代理上下文合成服务

DevsContext是一款为AI编程代理提供工程上下文合成的服务,能够从Jira、会议记录和文档中提取信息并合成结构化上下文,适用于团队协作和代码开发。

  • by Pro0f
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Pro0f/devscontext

使用说明

DevsContext

MCP服务器,为AI编码代理提供来自实际工具的综合工程上下文——需求、决策、架构和标准。

问题

AI编码代理缺乏上下文。他们不知道你的团队的决定、架构模式或编码标准。连接原始MCP服务器会让它们充斥着无法优先处理的无关数据。大公司建立内部上下文基础设施。DevsContext为每个人带来了这一点。

立即尝试

pip install devscontext
devscontext demo

不需要API密钥。显示示例付款单的合成上下文。

所得

当你在Claude Code中说“在PROJ-123上工作”时,DevsContext会从Jira、会议记录和你的文档中获取,然后将其合成如下:

## Task: PROJ-123 — Add retry logic to payment webhook handler

### Requirements
1. Implement exponential backoff for failed webhook deliveries
2. Max 5 retry attempts over 24 hours
3. Dead-letter queue for permanently failed webhooks
4. Metrics for retry success/failure rates

Acceptance criteria: [Jira PROJ-123]
- [ ] Webhooks retry with exponential backoff (1min, 5min, 30min, 2hr, 12hr)
- [ ] Failed webhooks move to DLQ after 5 attempts
- [ ] Dashboard shows retry metrics

### Key Decisions
- **Use SQS with visibility timeout** for retry scheduling, not cron jobs.
  Decided by @sarah in March 15 sprint planning. Rationale: SQS handles
  timing natively, reduces operational overhead. [Meeting: Sprint 23 Planning]

- **Exponential backoff schedule**: 1min → 5min → 30min → 2hr → 12hr.
  Based on payment processor rate limits. [Comment by @mike, Mar 16]

### Architecture Context
Webhook flow: `PaymentController` → `WebhookService.dispatch()` → SQS queue
→ `WebhookWorker.process()` → external endpoint.

Add retry logic in `WebhookWorker.process()` at:
`src/workers/webhook_worker.ts:45-80`

DLQ table schema in `migrations/004_webhook_dlq.sql`. [Architecture: payments-service.md]

### Coding Standards
- Use `Result<T, WebhookError>` pattern, don't throw exceptions
- Retry delays: use `calculateBackoff(attempt)` helper from `src/utils/retry.ts`
- Tests: mock SQS with `@aws-sdk/client-sqs-mock`, see `tests/workers/` for examples
[Standards: typescript.md, testing.md]

### Related Work
- PROJ-456: "Payment webhook initial implementation" (Done) — base implementation
- PROJ-789: "Add webhook monitoring dashboard" (In Progress) — will consume the metrics

一个合成块。AI编写正确代码所需的一切。

快速开始

pip install devscontext
devscontext init

设置您的凭据:

export JIRA_EMAIL="you@company.com"
export JIRA_API_TOKEN="your-token"
export ANTHROPIC_API_KEY="your-key"  # for synthesis

连接到克劳德代码:

claude mcp add devscontext -- devscontext serve

然后在克劳德代码中:

> work on PROJ-123

使用

IDE/工具 安装指南 状态
克劳德代码 快速开始 已测试
光标 安装指南 已测试
风帆冲浪 安装指南 已测试
任何MCP客户端 devscontext serve 通过stdio 兼容

支持的来源

来源 获取内容 状态
Jira 门票详情、评论、链接问题、接受标准 稳定
萤火虫 会议记录、决定、行动项目 稳定
本地文档 架构文档、编码标准、ADR 稳定
Slack 渠道讨论、话题、决策 新增
Gmail 与门票相关的电子邮件线程 新增

即将推出:线性、概念、汇流

预处理剂

在开发人员领取票证之前,主动构建上下文:

# Start the agent (polls Jira for ready tickets)
devscontext agent start

# Single run for CI/cron
devscontext agent run-once

# Check pre-built context status
devscontext agent status

在中配置 .devscontext.yaml:

agents:
  preprocessor:
    enabled: true
    jira_status: "Ready for Development"
    jira_project: "PROJ"

看 docs/预处理.md 完整的指南。

插件系统

DevsContext使用插件架构进行适配器和合成:

  • 适配器:从源(Jira、Slack、文档等)获取上下文
  • 合成插件:组合上下文(LLM、模板、passthrough)

看 docs/plugins.md 用于创建自定义插件。

配置

DevsContext使用 .devscontext.yaml 在项目根目录中:

sources:
  jira:
    enabled: true
    base_url: "https://your-company.atlassian.net"
    email: "${JIRA_EMAIL}"
    api_token: "${JIRA_API_TOKEN}"

  docs:
    enabled: true
    paths:
      - "./docs"
      - "./CLAUDE.md"

  slack:
    enabled: true
    bot_token: "${SLACK_BOT_TOKEN}"
    channels: ["engineering", "payments-team"]

synthesis:
  provider: "anthropic"
  model: "claude-haiku-4-5"

完整配置参考: docs/configuration.md

运作原理

  1. 获取:当您提到票证时,DevsContext会并行从所有配置的源获取
  2. 提取:它查找相关内容——票按组件/标签匹配文档,搜索会议记录中的关键字
  3. 合成:LLM将原始数据组合到一个结构化的上下文块中,并引用来源

无后台进程。没有矢量数据库。只是按需获取和合成。

MCP工具

工具 何时使用 示例
get_task_context 开始处理票 “处理PROJ-123”
search_context 关于架构或过去决策的问题 “我们如何处理付款重试?”
get_standards 检查编码约定 “我们的测试标准是什么?”

发展

git clone https://github.com/Pro0f/devscontext.git
cd devscontext
pip install -e ".[dev]"

# Run tests
pytest

# Lint
ruff check . && mypy src/

贡献

欢迎投稿!看 贡献.md 作为指导方针。

贡献想法:

  • 新适配器(线性、概念、汇流)
  • 更好的关键字提取
  • 缓存改进

许可证

麻省理工学院