jacksonanstee/agent-harness-JA

GitHub: jacksonanstee/agent-harness-JA

基于 Claude Agent SDK 构建的本地优先 LLM agent 生产级封装框架,提供多模型路由、安全防护与对抗性评估能力。

Stars: 0 | Forks: 0

# agent-harness-JA 这个仓库 **既是一个可用的工具,也是一个有完整文档的构建过程。** - [`src/`](./src) 文件夹包含了 harness 本身。 - [`process/`](./process) 文件夹展示了它的范围界定、被裁剪的内容,以及在此过程中遇到的问题。 - [`docs/decisions/`](./docs/decisions) 文件夹将每一个重要的架构决策记录为 ADR。 由 Jackson Anstee 作为作品集项目构建。欢迎反馈、提问和审查。 ## 这是什么 这是一个轻量级、基于 MIT 许可证、本地优先的 harness,它封装了 Claude Agent SDK,并提供了每个生产级 agent 所需的三个核心功能: | 层级 | 提供的功能 | |---|---| | **Harness** | 多模型路由(根据任务形态选择 Haiku/Sonnet/Opus)、技能加载、hook runtime、telemetry、记忆 | | **安全** | 针对工具结果的 Prompt 注入扫描器、密钥脱敏、权限模型、沙箱边界 | | **评估** | Golden-task 回归测试套件、红队测试语料库(≥50 个用例)、两阶段对抗性验证 | ## 这不是什么 - 不是一个全新的 agent 框架。它封装了 Claude Agent SDK;而不是替代它。 - 在 v1 版本中不是 provider-agnostic 的。仅支持 Claude。参见 [ADR-0003](./docs/decisions/0003-claude-sdk-first.md)。 - 不是托管的 SaaS。本地优先,单用户,自行运行。 - 不是 UI。CLI + 库。 有关更详细的理由,请参阅 [process/00-problem-framing.md](./process/00-problem-framing.md)。 ## 快速开始 ``` # 创建新的 agent 项目 npx agent-harness-ja init my-agent cd my-agent # 配置 export ANTHROPIC_API_KEY=sk-ant-... # 运行 agent npx agent-harness-ja run # 运行 eval suite (golden + red-team) npx agent-harness-ja eval # 导出 telemetry 为 JSONL (按 --session / --type 过滤) npx agent-harness-ja telemetry export ``` ## 如何阅读这个仓库(面向评估者) 如果你将这个仓库作为作品集或代码示例进行评估,建议的阅读顺序如下: 1. **[process/00-problem-framing.md](./process/00-problem-framing.md)** — 为什么会有这个项目,以及它的目标受众。 2. **[process/01-requirements.md](./process/01-requirements.md)** — 包含可追踪 ID 的功能和非功能性需求。 3. **[docs/decisions/](./docs/decisions/)** — 六个以上的 ADR,涵盖了 harness 定位、许可证、SDK 目标、telemetry 存储、注入扫描器方案以及技能 schema。 4. **[docs/architecture.md](./docs/architecture.md)** — 系统设计和模块边界。 5. **[docs/security-model.md](./docs/security-model.md)** — 威胁模型和缓解措施。 6. **[src/](./src)** — 具体实现。在代码注释中会引用 `process/01-requirements.md` 中的需求 ID 以示验证。 7. **[process/devlog/](./process/devlog/)** — 每周回顾,包括出现的问题。 `process/` 文件夹是最大的亮点。大多数仓库只展示最终产物;而这个仓库展示了背后的思考过程。 ## 架构概览 ``` ┌─────────────────────────────────────────────────────┐ │ EVAL LAYER │ │ Golden tasks · Red-team corpus · Adversarial verify│ ├─────────────────────────────────────────────────────┤ │ HARNESS LAYER │ │ Router · Skills · Hooks · Telemetry · Memory │ ├─────────────────────────────────────────────────────┤ │ SECURITY LAYER │ │ Injection scanner · Secret scanner · Permissions │ │ Sandbox boundaries │ └─────────────────────────────────────────────────────┘ │ ▼ Claude Agent SDK ``` 完整的架构图和模块边界请见 [docs/architecture.md](./docs/architecture.md)。 ## 状态 | 里程碑 | 状态 | |---|---| | 问题界定 + 需求 | 完成 | | ADR 0001–0003 | 完成 | | 仓库脚手架 | 进行中 | | Harness 层(路由、技能、hook、telemetry) | 第 1–2 周 | | 安全层(注入、密钥、权限、沙箱) | 第 2 周 | | 评估层(golden、红队、对抗性验证) | 第 3 周 | | 文档 + 发布 | 第 4 周 | 发布计划:[process/05-week-plan.md](./process/05-week-plan.md)。 ## 许可证 [MIT](./LICENSE)。有关理由请参见 [ADR-0002](./docs/decisions/0002-mit-license.md)。 ## 作者 Jackson Anstee — [github.com/...](https://github.com/) · [linkedin.com/in/...](https://linkedin.com/) 如果您正在招聘 AI 工程、agent 基础设施或 LLM 应用安全相关的职位,这个仓库展示了我如何进行范围界定、设计和发布。欢迎联系我——期待能与您交流。
标签:AI智能体, Claude SDK, DLL 劫持, MITM代理, TypeScript, 大语言模型, 安全护栏, 安全插件, 开发框架, 文档结构分析, 模型评估, 自动化攻击