Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ RUN npm ci \
# Runtime stage
FROM docker.io/library/node:20-slim

ARG SANDBOX_NAME="qwen-code-sandbox"
ARG SANDBOX_NAME="proto-sandbox"
ARG CLI_VERSION_ARG
ENV SANDBOX="$SANDBOX_NAME"
ENV CLI_VERSION=$CLI_VERSION_ARG
Expand Down Expand Up @@ -70,4 +70,4 @@ RUN npm install -g /tmp/*.tgz \
&& rm -rf /tmp/*.tgz

# Default entrypoint when none specified
CMD ["qwen"]
CMD ["proto"]
17 changes: 14 additions & 3 deletions SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,19 @@

## Reporting a Vulnerability

If you believe you have discovered a security vulnerability, please report it to us through the following portal: [Report Security Issue](https://yundun.console.aliyun.com/?p=xznew#/taskmanagement/tasks/detail/151)
Please report security vulnerabilities **privately** — do not open a public issue.

> **Note:** This channel is strictly for reporting security-related issues. Non-security vulnerabilities or general bug reports will not be addressed here.
Use GitHub's private vulnerability reporting for this repository:
[**Report a vulnerability**](https://github.com/protoLabsAI/protoCLI/security/advisories/new)
(the "Report a vulnerability" button under the repository's **Security** tab).

We sincerely appreciate your responsible disclosure and your contribution to helping us keep our project secure.
We aim to acknowledge new reports within a few business days and will keep you
updated as we investigate and prepare a fix. Please give us a reasonable window
to remediate before any public disclosure.

> This channel is strictly for security-related issues. For non-security bugs or
> general problems, please open a regular
> [GitHub issue](https://github.com/protoLabsAI/protoCLI/issues) instead.

We sincerely appreciate your responsible disclosure and your contribution to
keeping proto and its users secure.
6 changes: 4 additions & 2 deletions docs/architecture/divergence-from-upstream.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,10 @@ load-bearing because the binary name, NPM scope, and config dirs all track it.
user-installed extensions that record their origin.
- `DEFAULT_QWEN_MODEL` constant and the `QWEN_DIR` storage constant — same
reasoning. Internal identifier, not user-visible.
- `sandboxImageUri: ghcr.io/qwenlm/qwen-code:0.26.5` (`package.json:23`) —
we do not yet ship our own sandbox image.

The sandbox no longer points at the upstream Qwen image: it now ships as our own
image (`ghcr.io/protolabsai/protocli`, `package.json:23`), published per release
by `.github/workflows/build-and-publish-image.yml`.

**Honest take:** if you read `packages/core` source, you will still see
`Qwen` in dozens of places. The user-visible surface is consistently `proto`.
Expand Down
2 changes: 1 addition & 1 deletion docs/guides/use-sandbox.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ export SANDBOX_FLAGS="--security-opt label=disable"
**Extend the default image** — create `.proto/sandbox.Dockerfile`:

```dockerfile
FROM ghcr.io/proto-labs/proto:latest
FROM ghcr.io/protolabsai/protocli:latest

RUN apt-get update && apt-get install -y openjdk-17-jre && \
apt-get clean && rm -rf /var/lib/apt/lists/*
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
"url": "https://github.com/protoLabsAI/protoCLI/issues"
},
"config": {
"sandboxImageUri": "ghcr.io/qwenlm/qwen-code:0.71.2"
"sandboxImageUri": "ghcr.io/protolabsai/protocli:0.71.2"
},
"scripts": {
"start": "cross-env node scripts/start.js",
Expand Down
2 changes: 1 addition & 1 deletion packages/cli/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
"dist"
],
"config": {
"sandboxImageUri": "ghcr.io/qwenlm/qwen-code:0.71.2"
"sandboxImageUri": "ghcr.io/protolabsai/protocli:0.71.2"
},
"dependencies": {
"@agentclientprotocol/sdk": "^0.28.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/cli/src/config/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ export async function parseArguments(): Promise<CliArgs> {

const yargsInstance = yargs(rawArgv)
.locale('en')
.scriptName('qwen')
.scriptName('proto')
.usage(
'Usage: proto [options] [command]\n\nproto - Launch an interactive CLI, use -p/--prompt for non-interactive mode',
)
Expand Down
2 changes: 1 addition & 1 deletion packages/cli/src/config/settingsSchema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1840,7 +1840,7 @@ const SETTINGS_SCHEMA = {
requiresRestart: true,
default: false,
description:
'Enable in-session cron/loop tools (experimental). When enabled, the model can create recurring prompts using cron_create, cron_list, and cron_delete tools. Can also be enabled via QWEN_CODE_ENABLE_CRON=1 environment variable.',
'Enable in-session cron/loop tools (experimental). When enabled, the model can create recurring prompts using cron_create, cron_list, and cron_delete tools. Can also be enabled via the PROTO_ENABLE_CRON=1 environment variable (QWEN_CODE_ENABLE_CRON=1 is also accepted).',
showInDialog: true,
},
},
Expand Down
11 changes: 9 additions & 2 deletions packages/core/src/config/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1876,8 +1876,15 @@ export class Config {
}

isCronEnabled(): boolean {
// Cron is experimental and opt-in: enabled via settings or env var
if (process.env['QWEN_CODE_ENABLE_CRON'] === '1') return true;
// Cron is experimental and opt-in: enabled via settings or env var.
// PROTO_ENABLE_CRON is the documented name; QWEN_CODE_ENABLE_CRON is kept
// as a back-compat alias inherited from the fork.
if (
process.env['PROTO_ENABLE_CRON'] === '1' ||
process.env['QWEN_CODE_ENABLE_CRON'] === '1'
) {
return true;
}
return this.cronEnabled;
}

Expand Down
Loading