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

coding-council

v0.1.1

Published

Multi-agent coding council CLI for independent review and analysis

Readme

Coding Council

English | 简体中文

coding-council 会让多个独立 AI Agent 针对同一个编码或分析任务并行工作,并为每个 Agent 写出一份独立结果文件。

安装

使用已发布包:

npm install -g coding-council
coding-council --help

从源码安装:

npm install
npm run build
npm link

链接后,此包提供的全局命令是:

coding-council --help
coding-council --version

第一次使用默认场景前,需要先初始化本地场景模板:

coding-council config init
coding-council anything --prompt "Summarize this repository"

Provider 默认值

场景配置里的 runner 可以省略 baseUrl。运行时会先读取对应 provider 的 base URL 环境变量,若不存在则使用官方默认地址。

runner 的 apiKey 解析规则是:先按环境变量名解析,再按直接 API key 字符串解析。 像 AI_GATEWAY_API_KEY 这种环境变量名形式的值必须在环境中配置;直接 API key 应写成真实 key 字符串。

| provider | base URL 环境变量 | API key 环境变量 | 官方默认 base URL | | --- | --- | --- | --- | | openai | OPENAI_BASE_URL | OPENAI_API_KEY | https://api.openai.com/v1 | | anthropic | ANTHROPIC_BASE_URL | ANTHROPIC_API_KEY | https://api.anthropic.com | | deepseek | DEEPSEEK_BASE_URL | DEEPSEEK_API_KEY | https://api.deepseek.com | | kimi | KIMI_BASE_URL | KIMI_API_KEY | https://api.kimi.com/coding | | moonshot | MOONSHOT_BASE_URL | MOONSHOT_API_KEY | https://api.moonshot.ai/v1 | | glm | GLM_BASE_URL | GLM_API_KEY | https://open.bigmodel.cn/api/coding/paas/v4 | | zai | ZAI_BASE_URL | ZAI_API_KEY | https://api.z.ai/api/coding/paas/v4 | | xiaomi | XIAOMI_BASE_URL | XIAOMI_API_KEY | https://api.xiaomimimo.com/v1 | | openrouter | OPENROUTER_BASE_URL | OPENROUTER_API_KEY | https://openrouter.ai/api/v1 | | vercel | AI_GATEWAY_BASE_URL | AI_GATEWAY_API_KEY | https://ai-gateway.vercel.sh | | vercel-ai-gateway | AI_GATEWAY_BASE_URL | AI_GATEWAY_API_KEY | https://ai-gateway.vercel.sh |

场景

场景位于 ~/.coding-council/scenes/<scene-id>/。可以通过 CODING_COUNCIL_HOME 指定其他配置根目录。 运行命令只加载本地场景,不会自动复制默认模板;使用默认场景快捷命令前,请先初始化一次。

coding-council config init
coding-council scene list
coding-council scene list --json
coding-council scene show review
coding-council scene show review --full

目录结构:

~/.coding-council/
  scenes/
    anything/
      scene.json
      prompt.md
    review/
      scene.json
      prompt.md
    plan-analysis/
      scene.json
      prompt.md

scene.json 只描述结构,具体提示词放在 Markdown 文件里。 coding-council config init 会把默认场景模板复制到本地目录。使用 --force 可以用包内模板覆盖本地默认场景。

{
  "id": "review",
  "title": "Review",
  "description": "Multi-model code review.",
  "rounds": 3,
  "runners": [
    {
      "id": "claude",
      "provider": "anthropic",
      "model": "claude-sonnet-4-6",
      "apiKey": "ANTHROPIC_API_KEY"
    },
    {
      "id": "deepseek",
      "provider": "deepseek",
      "model": "deepseek-v4-flash",
      "apiKey": "DEEPSEEK_API_KEY",
      "baseUrl": "https://api.deepseek.com"
    }
  ],
  "promptFile": "prompt.md"
}

没有 Leader 阶段,也没有 leader-prompt.md。一个场景会为每个 Agent 写出一份独立结果文件。

运行场景:

coding-council review
coding-council review --cwd /abs/repo
coding-council review --cwd /abs/repo --run-dir /tmp/review-run
coding-council review --cwd /abs/repo --rounds 5
coding-council anything --cwd /abs/repo --prompt "Summarize this repository"
coding-council anything --cwd /abs/repo --prompt /abs/task.md
coding-council anything --cwd /abs/repo --prompt-file /abs/task.md
coding-council plan-analysis --cwd /abs/repo --prompt /abs/plan.md
coding-council plan-analysis --cwd /abs/repo --prompt "Review this rollout plan"

初始化后的默认 anything 场景有一个空的可复用提示词,适合把全部任务说明通过 --prompt 传入的临时运行。 如果一个空提示词场景没有传入 --prompt--prompt-file,命令会在启动任何 Agent 前失败。

初始化后的默认 test 场景会要求 Agent 输出当前一级目录和文件列表。它使用这些 Vercel provider 模型:

  • deepseek/deepseek-v4-pro
  • minimax/minimax-m3
  • xiaomi/mimo-v2.5-pro
coding-council test --cwd /abs/repo

cwd 默认是命令执行时所在目录。场景命令不接受 --input;任务说明应放在 prompt.md 中。 --rounds <n> 只覆盖当前运行的场景轮数,不修改场景配置。 --prompt <text-or-file> 会把本次运行的额外内容加入每个 Agent 的 prompt。存在的相对路径会基于 cwd 解析;绝对路径必须存在;非文件值会当作纯文本。 --prompt-file <file> 是严格文件模式,文件不存在时会失败。

交互式终端会打开 TUI,展示 session 状态、实时 AI 文本、简洁工具活动和最终输出写入提示。使用上下方向键或 j/k 切换 session,使用 Page Up/Page Down 滚动,使用 / 搜索当前输出,使用 Ctrl-C 取消全部运行中的 Agent。运行完成后,TUI 会停留在结果浏览模式,方便继续查看输出;按 q 退出。非 TTY 环境会输出简洁进度文本。 如果 Agent 启动后 2 分钟内没有任何 AI 文本、工具活动或输出写入提示,只有该 Agent 会被标记为失败。失败原因会写入它的 logs/<session>.logstatus/<session>.json

运行结束后,coding-council 会打印运行目录和每个成功 Agent 的输出路径:

Run dir: /tmp/coding-council-review-a1b2c3
Summary: /tmp/coding-council-review-a1b2c3/summary.md
Outputs:
  round-1-claude: /tmp/coding-council-review-a1b2c3/outputs/round-1-claude.md
  round-1-deepseek: /tmp/coding-council-review-a1b2c3/outputs/round-1-deepseek.md

summary.md 包含成功/失败数量、耗时、每个 session 的状态、输出路径和输出文件大小。

运行目录结构:

/tmp/coding-council-review-a1b2c3/
  manifest.json
  summary.md
  prompts/
  outputs/
  logs/
  status/

Agent 上下文

场景运行会在 <run-dir>/prompts/ 下为每个 Agent 生成一个输入文件。文件结构会把本次运行的用户材料放在可复用场景规则前面:

# Task
Complete this scene run using the target material, scene instructions, and workspace context.

# Target Material
Source: /abs/plan.md

<来自 --prompt 文件的内容,或 --prompt 文本文字>

# Scene Instructions
<来自场景 prompt.md 的内容>

# Workspace
cwd: /abs/repo

# Agent Session
Scene: Review
Run ID: round-1-deepseek
Round: 1 of 3
Runner: deepseek (vercel/deepseek/deepseek-v4-pro)

# Output Contract
Write your final result to: /tmp/coding-council-review-xxx/outputs/round-1-deepseek.md

如果 cwd 根目录下存在 AGENTS.mdcoding-council 会在启动时读取它并注入 system prompt。这个根 AGENTS.md 可以是 symlink,也可以解析到 cwd 之外。

coding-council 会从以下位置加载 skills:

  • cwd/agents/skills
  • ~/.agents/skills

Skills 会以名称、描述和文件位置的形式暴露。只有当 Agent 调用 Skill 工具时,完整 SKILL.md 内容才会被读取。

安全模型

Coding Council 是本地自动化工具。Agent 可以获得文件工具和 Bash 工具,所以运行自定义场景前应先审查场景内容。

  • API key 应通过 AI_GATEWAY_API_KEY 这类环境变量提供;避免把字面量凭据提交进 scene 文件。
  • 运行时默认从 ~/.coding-council/scenes 加载本地场景。只有在明确想用包内模板覆盖本地默认场景时,才运行 coding-council config init --force
  • 文件工具会基于配置的工作区和输出路径校验读写路径。
  • Bash 命令在本机运行。工作目录变更只有在仍位于配置工作区内时才会持久化。
  • 默认运行产物会写入平台临时目录;也可以通过 --run-dir 指定目录。

漏洞报告和支持版本策略见 SECURITY.md

工具

Agent 会收到:

  • Read
  • Bash
  • Write
  • Edit
  • List
  • Find
  • Grep
  • Exists
  • Mkdir
  • Delete
  • 有 skills 时还会收到 Skill

不会暴露 web search 工具。

开发

npm install
npm run check
npm test
npm run build

贡献前请阅读 CONTRIBUTING.md。CI 会在 Node 22.x 和 24.x 上运行类型检查、测试和构建。

Tokens

默认每个模型的最大输出 token 限制是 65536。可以在场景 runner 配置里用 maxTokens 覆盖。

许可证

MIT。见 LICENSE