npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

dsh-xcpc-autocode

v3.1.0

Published

DeepSeek Harness plugin for verified competitive-programming problem-setting workflows.

Readme

AutoCode for deepseek harness

本项目是针对https://github.com/SZTU-ACM/AutoCode的deepseek harness适配仓库,如果您使用codex和claude code请直接使用使用上游仓库的版本,本版本不保证原版的适用性。


License: MIT MCP

AutoCode 是面向竞赛编程出题人的 AI 出题工作台,支持 Claude Code、Codex 和 DeepSeek Harness (DSH)。

从一个想法开始,AutoCode 会协助你完成题面、解法、测试数据、验证和题包整理,把创作过程变成一条清晰、可靠、可复用的工作流。

为什么需要 AutoCode

AI 可以快速给出题目想法和代码,但竞赛题真正难的是让每个细节都经得起验证:

  • 题面描述含糊,输入输出协议不完整,样例和题意对不上。
  • 样例输出算错,或者题面样例没有经过标准解实际验证。
  • 标准解看起来合理,但边界条件有 bug。
  • 时间复杂度判断过于乐观,O(n^2) 被误当成能过大数据。
  • 暴力解需要与标准解形成独立的交叉验证。
  • 测试数据需要覆盖边界、构造、极限和性能场景。
  • 错解需要在最终数据上得到充分检验。
  • 题面、题解、样例和最终数据需要保持一致。

AutoCode 的目标是把这些风险前置暴露,而不是等到出题完成后人工返工。

AutoCode 如何保障质量

AutoCode 会把出题过程拆成相互衔接的质量环节:

| 环节 | AutoCode 提供的帮助 | |------|---------------------| | 题意设计 | 检查题目是否清晰、可判定,约束和样例是否完整。 | | 解法验证 | 复核正确性、复杂度和边界条件,并安排独立解法交叉验证。 | | 数据构造 | 生成覆盖随机、边界、极限和性能场景的测试数据。 | | 自动检验 | 检查输入合法性、答案一致性,并用测试数据检验错解。 | | 题包整理 | 将题面、代码、数据和说明整理成可继续编辑或提交的结构。 |

核心原则:AI 负责生成候选内容,AutoCode 负责让每一步必须被验证。

适合谁

AutoCode 适合:

  • 想用 AI 加速出题,但担心题面、样例、数据和复杂度不可靠的出题人。
  • 需要把题目从 idea 推到可打包 Polygon 结构的竞赛组织者。
  • 希望 AI 遵循完整验证流程的团队。
  • 想在 Claude Code、Codex 或 DeepSeek Harness (DSH) 中获得完整、可验证出题工作流的用户。

快速开始

前置要求

  • Python 3.10+
  • uv
  • 支持 C++20 的 g++,推荐 GCC 10+
  • Claude Code、Codex CLI 或 DeepSeek Harness (DSH)(至少安装一个;DeepSeek Harness 还需要 Node.js 20+)

常用的竞赛编程工具库已经随 AutoCode 一起提供。

安装 DeepSeek Harness 插件

AutoCode 同时以 npm 包(dsh-xcpc-autocode)形式发布为 DeepSeek Harness(dsh)插件,通过 profile 安装:

dsh plugin --profile web add dsh-xcpc-autocode
dsh --profile web --dump-config   # 确认 AutoCode 的配置层已生效
dsh --profile web

从本地源码安装(开发调试):

dsh plugin --profile web add /path/to/AutoCode

这一层做了什么

| 行 | 插件 | 作用 | |---|---|---| | autocode-paths | dsh-xcpc-autocode | 发布 ctx.autocodePaths,用 import.meta.url 自定位包根 | | autocode-mcp | @deepseek-ai/dsh-mcp-client | 以 stdio 启动 uv run --project <包根> autocode-mcp,工具名 mcp__autocode__<tool> | | autocode-hooks | @deepseek-ai/dsh-hooks-claude-code | 复用包内 hooks/hooks.json,在 dsh 里复现 Claude 侧的提前提示与预检 | | autocode-skills | @deepseek-ai/dsh-skill-filesystem | 把包内 skills/ 注册为技能根 |

几点说明:

  • 工作流契约会进入系统提示:dsh 会把 MCP server 的 instructions 并入模型可见的系统提示,AutoCode 的强制顺序与硬性门禁就写在那里。乱序调用仍会被 server 直接拒绝,并返回 gate_blocked / blocking_issues / next_actions。
  • 提前拦截只是「抢跑」:autocode-hooks 让 SessionStart 注入工作流顺序、PreToolUse 在跳步时提前拒绝,比等 server 返回更省 token;但它读的是同一份 src/autocode_mcp/workflow/ 状态,门禁真值始终在 MCP server。不想要它,就在自己的 patch 层里用同一个 id 覆盖该行。
  • 技能优先级:包内技能用 bundledSkillDir 注册(最低优先级),所以项目里的 .dsh/skills、你自己的 $DSH_HOME/skills 或 customSkillDirs 中同名技能会覆盖 AutoCode 的内置技能。
  • 工具超时:出题需要编译、对拍和终测验证,toolCallTimeoutMs 设为 30 分钟。
  • 启动失败策略:failOnStartupError: false,uv 缺失或代码不完整时 dsh 会记录明确错误,而不会让整个 profile 启动失败;想让它直接拒绝激活就改成 true。

版本与自检

  • 适配并验证于 dsh 0.2.0-rc(该版本汇总了 0.1.7-rc 的 MCP SDK v2、多 patch 文件等变更)。所用配置字段自 0.1.x 起未变,因此旧版本同样可用;用 dsh --version 确认实际版本。

  • 校验配置层是否被正确收集:

    dsh --profile web --dump-config-schema

    关注输出里的 x-cordis.complete 与每个条目的 status:complete 为 true、AutoCode 四行的 status 均为 schema,说明字段与 !!js 表达式都被接受。想看带 layer 标签的告警,改用 dsh --profile web --dump-config。

  • 装了/卸了插件需要重启 profile:运行中的 profile 保持启动时的 bundle 集合;而 cordis.patch.yml 的普通编辑仍走热重载。

  • 想停用某一行,在自己的 patch 层里用相同 id 加一句 disabled: true 即可,不必复制整段 config。

开始使用

安装完成后,可以直接描述你的出题目标:

用 AutoCode 创建一道竞赛编程题:给定数组,要求支持若干次区间查询。请先审计题意可行性,再按完整工作流生成题包。

AutoCode 会根据你的目标推进完整工作流,并在每个关键阶段进行质量检查。

提示词附加示例

  1. 涉及到的知识点有……
  2. 题目测试点的个数是14
  3. 设计一道思维题/构造题/交互题
  4. 利用某个概念的可以……性质,设计一道编程竞赛题

出题人有猜想的话请先做好必要的证明,可以使用ai来辅助证明。

工作流总览

AutoCode 会按以下顺序协助完成一题:

题意与约束审查
  -> 标准解与独立验证解
  -> 校验器、数据生成器和判题组件
  -> 随机对拍与边界测试
  -> 最终数据质量检查
  -> 题面、代码、数据整理成题包

普通题、特殊判题题和交互题都可以沿用这套流程。对于交互题,AutoCode 会额外关注交互协议、查询限制、错误行为和程序结束条件,帮助你把协议写得清楚、测得充分。

题目结构

每道题都会整理成清晰的目录,方便继续编辑、复核和提交:

<problem>/
├── solutions/
│   ├── sol.cpp
│   └── brute.cpp
├── files/
│   ├── gen.cpp
│   ├── val.cpp
│   └── checker.cpp
├── statements/
│   ├── README.md
│   └── tutorial.md
└── tests/
    ├── 01.in
    └── 01.ans / 01.out

特殊判题题会加入判题程序,交互题会加入交互程序,其余结构保持一致。

题面建议

一份完整的题面通常包含:

  1. 题目
  2. 时间/空间限制
  3. 题目背景(可选)
  4. 题目描述
  5. 输入格式(必须包含所有变量范围与总规模约束)
  6. 输出格式
  7. 样例(多组样例按编号递增)
  8. 说明(样例解释统一放在此处;只解释有代表性的样例即可)

质量保障

AutoCode 会在关键阶段自动复核:

  • 题面、输入输出格式和样例是否互相一致。
  • 标准解的正确性、复杂度和边界条件。
  • 校验器是否覆盖题目约束,生成的数据是否有效。
  • 标准解与独立验证解在多种场景下的结果是否一致。
  • 随机、构造、边界、极限和性能数据是否形成有效覆盖。
  • 代表性错解是否被最终测试识别。
  • 题面、代码、答案和目录结构是否可以直接整理成题包。

示例目录

仓库包含三个不同题型的样例:

  • examples/exact-sample:标准精确输出题。
  • examples/checker-sample:特殊判题题。
  • examples/interactive-sample:交互题。

这些样例可以作为不同题型的目录和文件组织参考。

贡献

查看 CONTRIBUTING.md 了解贡献指南。

故障排查

查看 TROUBLESHOOTING.md 了解常见问题和解决方案。

许可证

MIT License - 详见 LICENSE。

致谢

链接